Introduzione
Il server HTTP Apache è il web server più popolare al mondo. È un server HTTP gratuito, open source e multipiattaforma che offre potenti funzionalità che possono essere estese da un'ampia varietà di moduli. Le seguenti istruzioni descrivono come installare e gestire il server Web Apache sul computer CentOS 8.
Prerequisiti
Prima di iniziare con il tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Se desideri installare Apache su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Installare Apache
Apache è disponibile nei repository CentOS predefiniti e l'installazione è piuttosto semplice.
Su CentOS e RHEL viene chiamato il pacchetto Apache e il servizio httpd
. Per installare il pacchetto, eseguire il comando seguente:
sudo dnf install httpd
Una volta completata l'installazione, abilitare e avviare il servizio Apache:
sudo systemctl enable httpd
sudo systemctl start httpd
Regolare il firewall
Se il tuo server è protetto da un firewall, devi aprire le porte HTTP e HTTPS 80
e 443
. Utilizzare i seguenti comandi per aprire le porte necessarie:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Verificare l'installazione di Apache
Ora che Apache è installato e in esecuzione sul nostro server CentOS 8, possiamo verificare lo stato e la versione del servizio Apache, con:
sudo systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2020-01-15 23:44:50 CET; 1min 49s ago
Docs: man:httpd.service(8)
Main PID: 11064 (httpd)
Status: "Total requests: 12; Idle/Busy workers 100/0;Requests/sec: 0.11; Bytes served/sec: 5.8KB/sec"
Tasks: 213 (limit: 12251)
Memory: 25.8M
CGroup: /system.slice/httpd.service
├─11064 /usr/sbin/httpd -DFOREGROUND
├─11065 /usr/sbin/httpd -DFOREGROUND
├─11066 /usr/sbin/httpd -DFOREGROUND
├─11067 /usr/sbin/httpd -DFOREGROUND
└─11068 /usr/sbin/httpd -DFOREGROUND
sudo httpd -v
Server version: Apache/2.4.37 (centos)
Server built: Dec 23 2019 20:45:34
Infine per verificare se tutto funziona correttamente, apri l'indirizzo IP o il nome dominio del tuo server http://YOUR_IP
nel browser che preferisci e vedrai la pagina di benvenuto predefinita di Apache CentOS 8 come mostrato di seguito:
Gestione del servizio Apache
È possibile gestire il servizio Apache allo stesso modo di qualsiasi altra unità di sistema.
Per interrompere il servizio Apache, eseguire:
sudo systemctl stop httpd
Per avviarlo di nuovo, digitare:
sudo systemctl start httpd
Per riavviare il servizio Apache:
sudo systemctl restart httpd
Per ricaricare il servizio Apache dopo aver apportato alcune modifiche alla configurazione:
sudo systemctl reload httpd
Se si desidera disabilitare l'avvio del servizio Apache all'avvio:
sudo systemctl disable httpd
E per riattivarlo di nuovo:
sudo systemctl enable httpd
Struttura e best practice del file di configurazione di Apache
- Tutti i file di configurazione di Apache si trovano nella directory
/etc/httpd
. - Il file di configurazione principale di Apache è
/etc/httpd/conf/httpd.conf
. - Tutti i file di configurazione che terminano con
.conf
e si trovano nella directory/etc/httpd/conf.d
sono inclusi nel file di configurazione principale di Apache. - I file di configurazione responsabili del caricamento di vari moduli Apache si trovano nella directory
/etc/httpd/conf.modules.d
. - Per una migliore manutenibilità, si consiglia di creare un file di configurazione separato (vhost) per ciascun dominio.
- I nuovi file vhost Apache devono terminare con
.conf
ed essere archiviati nella directory/etc/httpd/conf.d
. Puoi avere tutti i host necessari. - È una buona idea seguire una convenzione di denominazione standard, ad esempio se il tuo nome di dominio è
mydomain.com
il nome del file di configurazione dovrebbe essere/etc/httpd/conf.d/mydomain.com.conf
- I file di registro di Apache (
access_log
eerror_log
) si trovano nella directory/var/log/httpd/
. Si consiglia di avere file di registro diversiaccess
eerror
per ciascun vhost. - È possibile impostare la directory principale del documento di dominio in qualsiasi posizione desiderata. Le posizioni più comuni per webroot includono:
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>
Conclusione
Apache è stato installato correttamente sul server CentOS 8. Ora sei pronto per iniziare a distribuire le tue applicazioni e utilizzare Apache come server Web o proxy.