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.
Questo tutorial spiega come installare e gestire il web server Apache su Ubuntu 18.04.
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 Ubuntu predefiniti in modo da poterlo installare facilmente utilizzando lo strumento apt
di gestione dei pacchetti. Sui sistemi Ubuntu e Debian viene chiamato il pacchetto Apache e il servizio apache2
.
Innanzitutto, aggiorna l'indice del pacchetto e successivamente installa il pacchetto apache2
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 emettendo:
sudo systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Sat 2020-02-08 12:06:17 CET; 10s ago
Main PID: 9504 (apache2)
Tasks: 55 (limit: 2298)
CGroup: /system.slice/apache2.service
├─9504 /usr/sbin/apache2 -k start
├─9506 /usr/sbin/apache2 -k start
└─9507 /usr/sbin/apache2 -k start
Regolare il firewall
Se il tuo server Ubuntu è protetto da un firewall dovrai aprire le porte HTTP (80
) e HTTPS (443
).
Supponendo che si stia utilizzando UFW
per gestire il firewall, è possibile aprire le porte necessarie con il comando seguente:
sudo ufw allow 'Apache Full'
Puoi verificare la modifica con:
sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Apache Full ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Apache Full (v6) ALLOW Anywhere (v6)
Verificare l'installazione di Apache
Per verificare che tutto funzioni correttamente, apri il tuo browser, digita il tuo indirizzo IP del server http://TUO_DOMINIO_O_IP/
e vedrai la pagina di benvenuto predefinita di Apache su Ubuntu 20.04.
La pagina include alcune informazioni di base sui file di configurazione di Apache, script di supporto e posizioni delle directory.
Struttura e best practice del file di configurazione di Apache
- Tutti i file di configurazione di Apache si trovano nella directory
/etc/apache2
. - Il file di configurazione principale di Apache è
/etc/apache2/apache2.conf
. - Le porte che Apache ascolterà sono specificate in
/etc/apache2/ports.conf
. - I file degli host virtuali di Apache sono archiviati nella directory
/etc/apache2/sites-available
. I file di configurazione trovati in questa directory non sono usati da Apache a meno che non siano collegati alla directory/etc/apache2/sites-enabled
. - Per attivare un host virtuale è necessario creare un collegamento simbolico utilizzando il comando
a2ensite
dai file di configurazione trovati nella directorysites-available
alla directorysites-enabled
. Per disattivare un host virtuale, utilizzare il comandoa2dissite
. - È una buona idea seguire una convenzione di denominazione standard. Ad esempio, se il tuo nome di dominio è
mydomain.com
quindi il file di configurazione dell'host virtuale dovrebbe essere nominato/etc/apache2/sites-available/mydomain.com.conf
- I file di configurazione responsabili del caricamento di vari moduli Apache si trovano nella directory
/etc/apache2/mods-available/
. Le configurazioni nella directorymods-available
possono essere abilitate creando un link simbolico alla directory/etc/apache2/mods-enable/
con il comandoa2enconf
e disabilitate con il comandoa2disconf
. - I file contenenti frammenti di configurazione globali sono archiviati nella directory
/etc/apache2/conf-available/
. I file nella directoryconf-available
possono essere abilitati creando un link simbolico/etc/apache2/conf-enabled/
con il comandoa2enconf
e disabilitati con il comandoa2disconf
. - I file di registro di Apache (
access.log
eerror.log
) si trovano nella directory/var/log/apache/
. Si consiglia di avere file diversi file logaccess
e dierror
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 Ubuntu 18.04. Ora sei pronto per iniziare a distribuire le tue applicazioni e utilizzare Apache come server Web o proxy.