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 Linux Mint 19 Tara.

Installare Apache

È possibile installare Apache utilizzando il repository ufficiale di Linux Mint con apt.

Aggiornare la lista dei pacchetti:
sudo apt update

Installare Apache:
sudo apt install apache2

Se utilizzate il Firewall di Linux Mint (Ufw) è necessario abilitare Apache:
sudo ufw allow 'Apache Full'

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 Linux Mint 19 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:
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

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 Linux Mint 19 Tara è terminata.