Come Installare Apache su Ubuntu per Gestire il Tuo Traffico

Stai cercando un server web open source per gestire le tue esigenze di alto traffico? Installa Apache su Ubuntu per ottenere la soluzione perfetta!

Apache è il server web più utilizzato e può gestire facilmente volumi di traffico elevati. In questo tutorial, imparerai come installare Apache su un server Ubuntu Linux e configurare gli host virtuali.

Prova Apache oggi stesso e liberati dai tempi di inattività del server web!

Prerequisiti

Questo tutorial sarà una dimostrazione pratica. Se desideri seguirci, assicurati di avere quanto segue.

  • Un server Ubuntu – Questo tutorial utilizza Ubuntu 20.04.
  • A user account with root privileges.

Come installare Apache su Ubuntu Server

Apache offre molte funzionalità potenti, come moduli caricabili dinamicamente, un sistema di configurazione versatile e ampie capacità di registrazione. E per sfruttare al meglio queste funzionalità, inizia installando Apache sul tuo server.

Di default, il pacchetto Apache è disponibile nei repository di Ubuntu e puoi installarlo eseguendo un comando con il gestore di pacchetti apt.

1. Esegui il comando apt update di seguito per assicurarti che il tuo server sia aggiornato e che siano applicati tutti gli aggiornamenti di sicurezza.

sudo apt update -y
Updating Server Package Index

2. Esegui il comando apt-cache di seguito per ricercare ed elencare tutti i pacchetti Apache disponibili nel tuo sistema.

sudo apt-cache search apache2

Nella schermata sottostante, puoi vedere tutti i pacchetti Apache disponibili, e i pacchetti più comuni sono:

  • apache2 – Server HTTP Apache – questo pacchetto è il server web Apache standard.
  • libapache2-mod-php – questo pacchetto fornisce il supporto PHP per il server web Apache.
  • apache2-ssl-dev – questo pacchetto fornisce il supporto per le connessioni SSL/TLS in Apache
  • apache2-utils – questo pacchetto fornisce varie utility per il server web Apache come htpasswd per creare utenti per l’autenticazione di base.
Listing Apache Packages

3. Esegui il seguente comando apt install per installare Apache sul tuo server.

sudo apt install -y apache2
Installing Apache

4. Una volta installato il pacchetto, eseguire il comando systemctl di seguito per avviare Apache (apache2). Questo comando non ha un output, ma verificherai lo stato del servizio Apache nei passaggi successivi.

sudo systemctl start apache2

5. Ora, eseguire il seguente comando per abilitare Apache all’avvio in quanto l’installazione predefinita di Ubuntu non avvia automaticamente il servizio Apache.

sudo systemctl enable apache2
Enabling Apache Auto-Start on Boot Up

6. Successivamente, eseguire il comando systemctl di seguito per verificare lo stato del servizio Apache (apache2).

sudo systemctl status apache2

Vedrai il seguente output. Lo stato attivo (in esecuzione) indica che il servizio Apache è avviato e in esecuzione come previsto.

Check the status of the Apache service.

7. Eseguire il seguente comando per controllare la versione di Apache installata sul server.

apache2 -version

Al momento della stesura, l’ultima versione stabile di Apache è la 2.4.41 e potrebbe essere diversa dalla tua.

Checking Installed Apache Version

8. Infine, aprire il browser web preferito e navigare all’indirizzo IP o hostname del server Ubuntu (ad esempio, 192.168.1.100).

Qui sotto, puoi vedere la pagina web predefinita di Apache creata durante il processo di installazione. Questa pagina conferma che Apache è installato e funziona come previsto.

Se, per qualche motivo, hai ricevuto un errore, passa alla sezione seguente e configura il firewall.

Verifying Apache Installation by Accessing Apache’s Default Page

Configurazione del Firewall UFW per proteggere il server Apache

Nella sezione precedente, hai richiesto una pagina web dal tuo server Apache, che ha visualizzato la pagina web predefinita di Apache. Ma cosa succede se ricevi un errore di “connessione rifiutata”, come mostrato di seguito? Questo errore potrebbe essere causato dal firewall che impedisce l’accesso al server Apache.

Getting Connection Refused Error

Per risolvere questo errore di connessione, configurerai il firewall per consentire l’accesso al server Apache. E l’installazione predefinita di Ubuntu include un firewall chiamato UFW che aiuta a proteggere il tuo server dall’accesso non autorizzato.

1. Esegui il comando seguente per elencare tutti i profili delle applicazioni inclusi in UFW.

sudo ufw app list

Puoi vedere di seguito le diverse applicazioni disponibili in UFW:

  • Apache Full – Questo profilo consente l’accesso a tutta la gamma di porte necessarie dal web server Apache (porte 80 e 443).
  • Apache – Il profilo predefinito che consente l’accesso alla porta non protetta 80.

Non dovresti utilizzare questo profilo in un ambiente di produzione perché è meno sicuro.

  • Apache Secure – Questo profilo è più sicuro perché limita l’accesso solo alla porta per il traffico cifrato TLS/SSL (porta 443).
  • OpenSSH – Questo profilo consente l’accesso alla porta SSH (porta 22) per consentire connessioni SSH.
Listing Application Profiles Available in UFW

2. Successivamente, esegui i seguenti comandi per abilitare (allow) il profilo Apache Full insieme a SSH.

Questi comandi consentono l’accesso a tutte le porte, il che è utile in un ambiente di sviluppo.

sudo ufw allow 'Apache Full'
sudo ufw allow 'OpenSSH'
Enabling the Apache Full Profile along with SSH

Forse desideri disabilitare un’applicazione, cambia l’opzione allow con disable, come segue: sudo ufw disable ‘app_profile’

3. Esegui il comando ufw status di seguito per verificare lo stato del tuo firewall UFW.

sudo ufw status verbose

Di seguito, puoi vedere le regole del firewall disponibili, indicando che Apache Full e OpenSSH sono accessibili da qualsiasi luogo.

Checking UFW Firewall Status

4. Infine, apri il tuo browser web e cerca di richiedere una pagina web dal tuo server Apache. Questa volta vedrai la pagina web predefinita di Apache creata durante il processo di installazione.

Verifying Apache Installation by Accessing Apache’s Default Page

Configurazione degli host virtuali per servire siti web

Il tuo server Apache è attivo, quindi è il momento della parte più eccitante, ospitare la tua applicazione web. Come? Configurerai i tuoi host virtuali sul tuo server Ubuntu. Un host virtuale è un file di configurazione che consente di ospitare più siti web su un singolo server con un unico indirizzo IP.

Nota che la creazione di file e directory a partire da questo punto del tutorial richiede l’accesso sudo.

Per iniziare a configurare gli host virtuali:

1. Esegui il comando seguente per creare una nuova directory chiamata /var/www/example.com. Utilizzerai questa directory per archiviare i contenuti del tuo sito web. Sostituisci example.com con il nome di dominio effettivo che desideri utilizzare.

Questo comando non ha un output, ma puoi verificare la directory eseguendo questo comando: ls /var/www

sudo mkdir -p /var/www/example.com

2. Successivamente, esegui il comando chown qui sotto per cambiare la proprietà della directory /var/www/example.com al tuo account utente. Questo comando non ha un output ma ti permette di gestire i contenuti del tuo sito web.

sudo chown -R $USER:$USER /var/www/example.com

3. Esegui il comando chmod qui sotto per cambiare i permessi della directory /var/www/example.com a 755. Questo comando non ha un output ma concede al tuo account utente l’accesso in lettura e scrittura ai contenuti del tuo sito web.

sudo chmod -R 755 /var/www/example.com

4. Ora, crea un file chiamato index.html nella directory /var/www/example.com con il tuo editor preferito. Popola il file con il codice qui sotto, salva le modifiche e chiudi il file. Il file index.html funge da pagina predefinita del tuo sito web.

Il codice qui sotto crea una semplice pagina web che visualizza il testo Hello World! Il tuo host virtuale sta funzionando!.

<html>
  <head>
    <title>Welcome to example.com!</title>
  </head>

  <body>
    <h1>Hello World! Your virtual host is working!</h1>
  </body>
</html>

5. Crea un nuovo file di configurazione per l’host virtuale chiamato example.com.conf nella directory /etc/apache2/sites-available.

Puoi modificare il file predefinito /etc/apache2/sites-available/000-default.conf per includere il tuo nuovo host virtuale. Tuttavia, è meglio creare un nuovo file per il tuo sito web. Questo comportamento ti aiuta a mantenere organizzati i tuoi file di configurazione.

Copia e incolla la configurazione seguente nel file example.com.conf. Assicurati però di sostituire example.com e webmaster@localhost con i valori effettivi del tuo sito web.

Salva le modifiche e chiudi il file.

<VirtualHost *:80>

  ServerAdmin webmaster@localhost

  ServerName example.com

  ServerAlias www.example.com

  DocumentRoot /var/www/example.com

  ErrorLog ${APACHE_LOG_DIR}/error.log

  CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

6. Ora, esegui ciascun comando di seguito per disabilitare il file dell’host virtuale predefinito ed abilitare il tuo nuovo file dell’host virtuale.

Il file dell’host virtuale predefinito è abilitato di default, e non puoi utilizzare il tuo nuovo file dell’host virtuale a meno che tu non disabiliti il file dell’host virtuale predefinito.

# Disabilita il file dell'host virtuale predefinito
sudo a2dissite 000-default
# Abilita il tuo file dell'host virtuale
sudo a2ensite example.com.conf
Disabling the Default Virtual Host File and Enabling your New Virtual Host

7. Esegui il comando service di seguito per riavviare il tuo server Apache (apache2) e applicare le modifiche.

sudo service apache2 restart

8. Infine, apri il tuo browser web e vai al tuo sito web (example.com).

Se le configurazioni del tuo server Apache sono corrette, vedrai lo stesso messaggio di seguito visualizzato nel tuo browser web.

Accessing the Hosted Website

Conclusione

In questo tutorial, hai imparato come installare Apache su Ubuntu e configurare host virtuali per servire il tuo sito web su un singolo server. A questo punto, puoi ospitare più siti web sul tuo server Ubuntu in modo efficace.

Questo tutorial funge da introduzione e potresti considerare di approfondire con Apache e configurare altre funzionalità. Forse prova a configurare host virtuali con SSL e protezione con password per proteggere il tuo server Apache? Oppure aggiungi intestazioni personalizzate al tuo sito web per controllare le richieste degli utenti?

Source:
https://adamtheautomator.com/install-apache-on-ubuntu/