Introduzione
Il server Apache HTTP è il server web più utilizzato al mondo. Fornisce molte funzioni potenti, tra cui moduli caricabili dinamicamente.
In questo tutorial spiegheremo come installare un server Web Apache su una VPS con Debian 9 Stretch.
Installare Apache
È possibile installare Apache utilizzando il repository ufficiale di Debian con apt.
Aggiornare la lista dei pacchetti:
sudo apt update
Installare Apache:
sudo apt install apache2
Apache dovrebbe essere attivo ed in funzione. Per verificare il suo stato:
sudo systemctl status apache2
A questo punto il server è pronto con le configurazioni di default.
Basta collegarsi al proprio indirizzo IP pubblico oppure in localhost:
http://vostro_dominio_o_ip
http://localhost
Configurare un Virtual Host
Quando si utilizza il server Web Apache, è possibile utilizzare host virtuali per ospitare più domini, quindi più siti web su un singolo server. Configureremo un dominio chiamato esempio.com, ma dovresti utilizzare un dominio esistente.
Apache su Debian 9 ha un blocco server abilitato di default che è configurato per servire i documenti dalla directory /var/www/html correttamente funzionante per un singolo sito. Se si ospitano più siti conviene, invece di modificare /var/www/html, creare una struttura di directory all'interno di /var/www lasciando /var/www/html come directory predefinita da servire se una richiesta client non corrisponde a qualsiasi altro sito configurato come virtual host.
Creare la directory per esempio.com, usando il flag -p per creare tutte le directory necessarie:
sudo mkdir -p /var/www/esempio.com/html
Assegnare l'utente corrente come proprietario della nuova directory:
sudo chown -R $USER:$USER /var/www/esempio.com/html
Assicurarsi che i permessi siano corretti:
sudo chmod -R 755 /var/www/esempio.com
Creare il file index.html per il nostro sito:
sudo nano /var/www/esempio.com/html/index.html
Incollare il seguente testo all'interno del file index.html:
<html>
<head>
<title>Ciao da esempio.com!</title>
</head>
<body>
<h1>Esempio.com</h1>
</body>
</html>
Salvare e chiudere il file
Creare un nuovo file di configurazione per il virtual host di esempio.com, senza andare quindi a modificare quello di default:
sudo nano /etc/apache2/sites-available/esempio.com.conf
Incollare le seguenti righe di codice, facendo attenzione a modificare i valori per il vostro dominio, in questo caso esempio.com:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName esempio.com
ServerAlias www.esempio.com
DocumentRoot /var/www/esempio.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Salvare e chiudere il file.
Abilitare il nuovo sito:
sudo a2ensite esempio.com.conf
Disabilitare il file di configurazione di default:
sudo a2dissite 000-default.conf
Verificare se i dati inseriti nei file sono corrette:
sudo apache2ctl configtest
Dovresti vedere una risposta simile a questa:
Syntax OK
Riavviare Apache:
sudo systemctl restart apache2
Adesso è possibile collegarsi al virtual host appena creato collegandosi al proprio dominio:
http://esempio.com
Aggiungere un altro Virtual Host (Opzionale)
Se si vuole aggiungere un'altro sito con un dominio diverso, quindi creare un altro host virtuale, basta semplicemente ripetere i passaggi già spiegati precedentemente:
sudo mkdir -p /var/www/esempio2.com/html
sudo chown -R $USER:$USER /var/www/esempio2.com/html
sudo chmod -R 755 /var/www/esempio2.com
sudo nano /var/www/esempio2.com/html/index.html
Incollare le seguenti righe di codice:
<html>
<head>
<title>Ciao da esempio2.com!</title>
</head>
<body>
<h1>Esempio2.com</h1>
</body>
</html>
sudo nano /etc/apache2/sites-available/esempio2.com.conf
Incollare le seguenti righe di codice facendo attenzione a modificare i valori con il vostro secondo dominio:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName esempio2.com
ServerAlias www.esempio2.com
DocumentRoot /var/www/esempio2.com/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite esempio2.com.conf
sudo apache2ctl configtest
sudo systemctl restart apache2
Il vostro secondo dominio è attivo.
Adesso è possibile collegarsi al virtual host appena creato collegandosi al proprio dominio:
http://esempio2.com
Comandi utili per gestire Apache
Per fermare i processi di Apache quindi per mettere offline il web server:
sudo systemctl stop apache2
Per avviare Apache:
sudo systemctl start apache2
Per riavviare Apache
sudo systemctl restart apache2
Per disabilitare l'avvio automatico di Apache dopo il riavvio del server (VPS):
sudo systemctl disable apache2
Per abilitare l'avvio automatico di Apache dopo il riavvio del server (VPS):
sudo systemctl enable apache2
L'installazione e la configurazione di Apache utilizzando i Virtual Hosts su Debian 9 Stretch è terminata.