Il server HTTP Apache è uno dei server Web più popolari al mondo. È un server HTTP open source e multipiattaforma che alimenta un'ampia percentuale dei siti Web di Internet. Apache fornisce molte potenti funzionalità che possono essere estese tramite moduli aggiuntivi.
In questo tutorial, analizzeremo i passaggi per installare Apache su un server Debian 9.
Prerequisiti #
Prima di iniziare con il tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Installazione di Apache #
Apache è disponibile nei repository Debian predefiniti e l'installazione è piuttosto semplice.
Prima aggiorna l'indice del pacchetto e poi installa apache2
pacchetto con i seguenti comandi:
sudo apt update
sudo apt install apache2
Ecco fatto, Apache è installato e avviato automaticamente, puoi controllare lo stato del servizio Apache con:
sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2018-08-23 20:04:47 UTC; 13s ago
Main PID: 11604 (apache2)
CGroup: /system.slice/apache2.service
├─11604 /usr/sbin/apache2 -k start
├─11608 /usr/sbin/apache2 -k start
└─11609 /usr/sbin/apache2 -k start
Regola il firewall #
Se utilizzi iptables per filtrare le connessioni al tuo sistema, dovrai aprire HTTP (80
) e HTTPS (443
) porte.
Apri le porte necessarie eseguendo il seguente comando:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Verifica dell'installazione di Apache #
Per verificare che tutto funzioni correttamente, apri il browser, digita l'indirizzo IP del tuo server o il nome di dominio http://YOUR_IP_OR_DOMAIN/
e vedrai la pagina di benvenuto di Apache predefinita come mostrato di seguito:
La pagina include alcune informazioni di base sui file di configurazione di Apache, gli script di supporto e le posizioni delle directory.
Gestisci il servizio Apache con systemctl #
Ora che Apache è installato sul tuo sistema Debian, puoi dedicare un minuto a esaminare e acquisire familiarità con i comandi di base per la gestione dei servizi apache:
Per interrompere il servizio Apache, esegui:
sudo systemctl stop apache2
Ricomincia, digitando:
sudo systemctl start apache2
Per riavviare il servizio Apache:
sudo systemctl restart apache2
Ricarica l'Apache con una nuova configurazione con:
sudo systemctl reload apache2
Se vuoi disabilitare il servizio Apache per l'avvio all'avvio:
sudo systemctl disable apache2
E per riattivarlo di nuovo:
sudo systemctl enable apache2
Struttura e best practice del file di configurazione di Apache #
- Nei sistemi basati su Debian i file di configurazione di Apache si trovano in
/etc/apache2
directory. - Il file di configurazione principale di Apache è
/etc/apache2/apache2.conf
. - Le porte che Apache ascolterà sono specificate in
/etc/apache2/ports.conf
file. - I file Apache Virtual Hosts si trovano in
/etc/apache2/sites-available
directory. I file di configurazione che si trovano in questa directory non vengono utilizzati da Apache a meno che non siano collegati a/etc/apache2/sites-enabled
directory. - Puoi attivare una direttiva host virtuale creando un collegamento simbolico usando
a2ensite
comando dai file di configurazione trovati insites-available
nella directorysites-enabled
directory. Per disattivare un host virtuale usaa2dissite
comando. - Si consiglia vivamente di seguire la convenzione di denominazione standard, ad esempio se il tuo nome di dominio è
mydomain.com
quindi il file di configurazione del dominio dovrebbe essere denominato/etc/apache2/sites-available/mydomain.com.conf
- I file di configurazione utilizzati per caricare vari moduli Apache si trovano in
/etc/apache2/mods-available
directory. Configurazioni inmods-available
la directory può essere abilitata creando un collegamento simbolico a/etc/apache2/mods-enable
directory utilizzandoa2enconf
comando e disabilitato cona2disconf
comando. - I file contenenti frammenti di configurazione globale sono archiviati in
/etc/apache2/conf-available
directory. File nelconf-available
la directory può essere abilitata creando un collegamento simbolico al/etc/apache2/conf-enabled
usandoa2enconf
comando e disabilitato cona2disconf
comando. - File di registro di Apache (
access.log
eerror.log
) si trovano in/var/log/apache
directory. Si consiglia di utilizzare un diversoaccess
eerror
file di log per ogni host virtuale. - Puoi impostare la directory principale del documento di dominio in qualsiasi posizione desideri. Le posizioni più comuni per webroot includono:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>