Introduzione

Il server HTTP Apache è uno dei server Web più popolari al mondo. È un server HTTP open source e multipiattaforma che serve una grande percentuale dei siti Web di Internet. Apache offre molte potenti funzionalità che possono essere estese tramite moduli aggiuntivi.

In questo tutorial, spiegheremo come installare Apache su Debian 10 Buster.

Prerequisiti

Prima di iniziare con il tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.

Se il vostro intento è installare Apache su di un server in remoto continuate a leggere, altrimenti se volete installare Apache sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere 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

I pacchetti Apache sono disponibili nei repository Debian predefiniti.

L'installazione è piuttosto semplice. Aggiorna l'indice del pacchetto e installa il web server Apache con i seguenti comandi:

sudo apt update
sudo apt install apache

Apache è installato e avviato automaticamente. Per verificare il tipo di stato:

sudo systemctl status apache2

Dovresti ricevere un messaggio di output simile al seguente:

● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: 
   Active: active (running) since Sat 2019-03-22 12:11:31 PDT; 21s ago
   ...

Regola il firewall

Se non utilizzi un firewall non è necessario eseguire questi comandi.

Gli utenti che utilizzano UFW possono aprire le porte HTTP ( 80) e HTTPS ( 443) abilitando il profilo 'Nginx Full':

sudo ufw allow 'Apache Full'

Se si utilizza nftables per filtrare le connessioni al proprio sistema, aprire le porte necessarie eseguendo il comando seguente:

nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept

Verifica dell'installazione di Apache

Per verificare che Apache funzioni correttamente, apri il browser , digita l'indirizzo IP del server o il nome di dominio http://YOUR_IP_OR_DOMAIN/ e vedrai la pagina di benvenuto predefinita di Apache.

La pagina contiene informazioni di base sui file di configurazione di Apache, script helper e posizioni delle directory.

Struttura e best practice di Apache

  • Nei sistemi basati su Debian 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 nel file /etc/apache2/ports.conf.
  • I file degli host virtuali di Apache si trovano 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.
  • È possibile attivare una direttiva host virtuale creando 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.
  • Si consiglia vivamente di seguire la convenzione di denominazione standard, ad esempio, se il nome del proprio dominio è mydomain.com utilizzare come nome del file di configurazione del dominio /etc/apache2/sites-available/mydomain.com.conf.
  • I file di configurazione utilizzati per caricare 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 usando 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 all'utilizzo del comando a2enconf e disabilitati con il comando a2disconf.
  • I file di registro di Apache ( access.loge error.log) si trovano nella directory /var/log/apache. Si consiglia di utilizzare file di registro diversi access e error per ciascun host virtuale.
  • È 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

Installare Apache su Debian è molto semplice, basta eseguire un singolo comando.