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 [email protected]_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 [email protected]_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 [email protected]_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 Ubuntu 18.04 Apache.

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 directory sites-available alla directory sites-enabled. Per disattivare un host virtuale, utilizzare il comando a2dissite.
  • È 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 directory mods-available possono essere abilitate creando un link simbolico alla directory /etc/apache2/mods-enable/ con il comando a2enconf e disabilitate con il comando a2disconf.
  • I file contenenti frammenti di configurazione globali sono archiviati nella directory /etc/apache2/conf-available/. I file nella directory conf-available possono essere abilitati creando un link simbolico /etc/apache2/conf-enabled/ con il comando a2enconf e disabilitati con il comando a2disconf.
  • I file di registro di Apache (access.log e error.log) si trovano nella directory /var/log/apache/. Si consiglia di avere file diversi file log access e di error 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.