Vuoi imparare a sviluppare siti web oppure configurare in autonomia un server virtuale (VPS) per il tuo progetto Internet? Ebbene: il primo passo da compiere è l'installazione del server web, ovvero il programma che si occupa di servire le pagine web ai visitatori. In questa guida passo passo vedremo dunque proprio come installare Apache HTTP Server sul PC o server Linux con Ubuntu

Trattazione aggiornata per funzionare al meglio con Ubuntu 22.04

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

In questo articolo ci concentreremo, nello specifico, sull'installazione di Apache HTTP Server su Linux (Ubuntu o CentOS). Per la guida equivalente incentrata su Windows:

» Leggi: La Grande Guida ad Apache, MySQL, PHP

Nel resto dell'articolo ci riferiremo al programma "Apache HTTP Server" chiamandolo (impropriamente) solo "Apache", per brevità e per conformarci al nome usato nel quotidiano.

Una stesura precedente di questa guida (archiviata qui) trattava anche CentOS, mentre oggi è focalizzata unicamente su Ubuntu. La procedura è stata testata su Ubuntu 22.04 e 20.04 (sia "Desktop", sia "Server"), ma è analoga per tutte le distribuzioni derivate (fra le quali "Mint") e, presumibilmente, per le iterazioni successive.

Installare Apache su Linux Ubuntu: Aprire il Terminale

Se stai lavorando via SSH oppure su Ubuntu Server sei già davanti alla linea di comando, quindi prosegui oltre.

Se però ti trovi in un ambiente grafico, devi avviare il Terminale: il mio metodo preferito è tramite la combinazione da tastiera Ctrl+Alt+T. In alternativa:

  1. clicca sul pulsante con i 3x3 punti in basso a sinistra
  2. digita terminale
  3. clicca sul collegamento mostrato

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando) - linux apri terminale

» Leggi anche: Come aprire il terminale di Ubuntu

Installare Apache su Linux Ubuntu: Installazione completamente automatica

Da questa situazione, puoi installare Apache HTTP Server su Ubuntu in modo completamente automatico impartendo questo singolo comando:

sudo apt install curl -y && curl -s https://raw.githubusercontent.com/TurboLabIt/webstackup/master/script/apache-httpd/install.sh?$(date +%s) | sudo bash

In caso fosse richiesta la password, digita quella del tuo utente Linux (quella che usi per eseguire login al sistema)

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Il comando appena impartito esegue uno script (visualizzabile qui) che svolge in sequenza tutte le tediose operazioni che, altrimenti, dovremmo impartire manualmente (vedi seguito dell'articolo).

Al termine, puoi lanciare in successione questi due comandi dallo stesso sistema sul quale hai appena installato Apache per tentare di connetterti:

curl http://127.0.0.1

curl -k https://127.0.0.1

Se, in risposta, viene visualizzato codice HTML, significa che l'installazione è riuscita

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Tecnicamente, i messaggi di risposta che vedi sono errori, ma, in questo momento, non importa. Quello che conta è che il server web risponda, come effettivamente avviene!

Nei prossimi paragrafi vedremo la procedura alternativa per svolgere manualmente gli stessi passaggi che lo script ha eseguito automaticamente. Se hai usato lo script, puoi saltare tutto e riprendere dal Passo 14: Creare la cartella con i progetti web.

Installare Apache su Linux Ubuntu, Passo 1: Diventare root

La procedura tramite script descritta ai paragrafi precedenti installa Apache HTTP Server automaticamente ed è la modalità che, personalmente, raccomando. Se però preferisci installare Apache manualmente, puoi ottenere un risultato analogo seguendo i passaggi forniti di seguito.

Per prima cosa, devi acquisire i privilegi massimi diventando root. Il comando è:

sudo -s

In caso ti fosse richiesta la password, digita quella del tuo utente Linux (quella che usi per eseguire login al PC)

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

» Leggi anche: Sudo senza password con Ubuntu: come disabilitare la richiesta di password quando si eseguono comandi come root (video)

Installare Apache su Linux Ubuntu, Passo 2: Disinstallare... Apache

Prima di proseguire, è opportuno verificare che Apache non sia già stato installato, magari per errore. Il modo più efficace di farlo è tramite il gestore dei pacchetti:

dpkg --list | grep apache2

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Se il comando non mostra alcuna risposta, possiamo tranquillamente andare oltre perché Apache non è installato.

In caso contrario, è fondamentale disinstallare il pacchetto corrente:

apt purge --auto-remove apache2* -y

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Raccomando caldamente anche di eliminare eventuali file di configurazione relativi alla precedente installazione, di modo da partire con una situazione pulita:

rm -rf /etc/apache2

Installare Apache su Linux Ubuntu, Passo 3: Installare i pre-requisiti

Apache richiede la presenza di alcuni pacchetti, che devono essere installati manualmente. Il comando per ottenerli tutti in un colpo solo, insieme anche ad altre utility che serviranno fra poco, è il seguente:

apt update && apt install software-properties-common curl gnupg2 ca-certificates lsb-release ubuntu-keyring openssl zip unzip nano -y

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 4: Installazione del pacchetto

Procediamo ora materialmente ad installare Apache HTTP Server:

apt install apache2 -y

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 5: Impostare la direttiva ServerName

​L'operazione seguente non è strettamente necessaria, ma previene il fastidioso avviso AH00558: apache2: Could not reliably determine the server's fully qualified domain name nei log e nel terminale. Personalmente, raccomando di svolgerla:

echo "ServerName $(hostname)" > /etc/apache2/conf-available/server-name.conf && a2enconf server-name

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 6: Prima esecuzione

Apache è ora installato e dovrebbe già essersi avviato automaticamente. È comunque opportuno riavviare il servizio, di modo da verificare esplicitamente che sia tutto OK. Allo scopo, ti consiglio di usare SEMPRE questo specifico comando concatenato:

apachectl configtest && service apache2 restart

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

In questo modo, Apache verifica che la nuova configurazione sia corretta prima di avviare o riavviare il servizio. Se viene rilevato un problema:

  1. viene visualizzata una chiara indicazione di dove si trova l'errore
  2. Apache continua a funzionare comunque con la configurazione precedente

Questo è un piccolo ma importante "trucco" che fa la differenza, soprattutto quando si utilizza Apache su un server di produzione. Ricordalo!

Installare Apache su Linux Ubuntu, Passo 7: Test del servizio

Il web server è ora attivo e mostra una pagina di benvenuto "standard" a tutti i client che vi si colleghino. Se il computer sul quale è in esecuzione Apache è dotato di un browser web, puoi verificarlo aprendo http://localhost, ovvero facendo collegare il sistema... a se stesso

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando) - apache2 ubuntu default page

Se invece il sistema non ha il browser web, puoi simulare lo stesso comportamento impartendo questo comando:

curl http://localhost

Se la risposta è composta da una serie di tag HTML fra i quali si legge qualcosa di simile a <title>Apache2 Ubuntu Default Page: It works</title>, tutto sta funzionando correttamente

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 8: Attivazione della modalità "ad eventi"

Apache HTTP Server è dotato di molteplici MPM (Multi-Processing Modules). Possiamo pensare agli MPM come "motori" intercambiabili: tutti svolgono lo stesso compito (accettare e rispondere alle richieste dei browser web e degli altri client che si collegano), ma ognuno lo fa in modo diverso, con vantaggi e svantaggi.

Gli MPM disponibili ad Apache in ambiente Linux sono:

  • prefork: Apache genera un elevato numero di processi all'avvio del servizio, e ogni processo risponde a una richiesta. È una modalità semplice, stabile e molto sicura, ma occupa tantissima RAM, limitando il numero di richieste alle quali il server è in grado di rispondere contemporaneamente
  • worker: Apache genera un numero limitato di processi, e ogni processo utilizza molteplici thread (uno per ogni connessione). È una buona soluzione, che limita fortemente il consumo di memoria, ed è l'MPM "standard" con cui Apache è stato configurato nel recente passato
  • event: è l'MPM più veloce e moderno. È simile a "worker", ma qui i thread che accettano le richieste le passano ad altri thread per l'elaborazione asincrona, riuscendo così ad accettare altre richieste in parallelo

Per maggiori informazioni, vedi la pagina "Module Index" della documentazione ufficiale.

Per quanto detto, la configurazione ottimale prevede l'uso di "event". Assicuriamoci dunque che sia attivo impartendo:

apachectl -M | grep 'mpm'

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Se la risposta è simile a mpm_event_module (shared), il sistema sta già utilizzando l'MPM ottimale e possiamo andare oltre.

Se invece vengono citati gli altri MPM, è opportuno disattivarli in favore di "event". Il comando per farlo è il seguente:

a2dismod mpm_prefork mpm_worker && a2enmod mpm_event

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 9: Attivare HTTPS, Rewrite, HTTP/2

Apache è dotato di una serie di funzionalità indispensabili per il web moderno, che, però, non sono attive di default. Per attivare il supporto ad HTTP/2, "URL rewrite" e HTTP, impartire il comando seguente:

a2enmod http2 rewrite ssl

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Una nota per i più attenti: Apache parla di "SSL" per intendere la comunicazione HTTPS cifrata in generale che, sebbene una volta fosse crittografata proprio da SSL, oggi utilizza per lo più TLS. Apache supporta comunque nativamente TLS.

Installare Apache su Linux Ubuntu, Passo 10: Generare un certificato per attivare HTTPS

Il web moderno funziona via HTTPS (con la "s" finale), e quindi anche il nostro server deve fare lo stesso. Generiamo dunque un certificato HTTPS da utilizzare con tutti i siti erogati dal nostro server. Tale certificato, bene inteso, sarà di tipo "self-signed", ovvero "di test", e farà scattare un avviso nel browser web: ma è comunque meglio che non utilizzare HTTP "semplice", e sarà comunque facile sostituirlo in seguito con un certificato "reale" poco prima di andare in produzione.

Prima creiamo la cartella:

mkdir -p /usr/local/turbolab.it/webstackup/autogenerated

[ nota: in realtà, puoi scegliere un percorso qualsiasi per la cartella, ma nel seguito utilizzeremo quello indicato nell'esempio. Raccomando di non modificarlo, altrimenti diventa difficile seguire la guida ]

Poi generiamo una chiave crittografica:

openssl genrsa -out /usr/local/turbolab.it/webstackup/autogenerated/openssl-private-key.pem

Infine, usiamola per generare il certificato HTTPS vero e proprio:

openssl req -x509 -out /usr/local/turbolab.it/webstackup/autogenerated/https-localhost.crt -key /usr/local/turbolab.it/webstackup/autogenerated/openssl-private-key.pem -days 3650 -new -nodes -sha256 -subj "/CN=localhost"

Visualizziamo ora il contenuto della cartella:

ls -la /usr/local/turbolab.it/webstackup/autogenerated

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Troverai due file:

  • https-localhost.crt: è il certificato HTTPS vero e proprio
  • openssl-private-key.pem: è la chiave crittografica utilizzata per generarlo

Ci serviranno entrambi più avanti.

Installare Apache su Linux Ubuntu, Passo 11: Redirect automatico da HTTP a HTTPS

Facciamo ora in modo che tutte le richieste in HTTP inviate al nostro server generino un redirect verso l'equivalente sito in HTTPS. Allo scopo, scarichiamo la configurazione già pronta all'uso (disponibile qui) direttamente nella cartella delle configurazioni di Apache tramite il seguente comando:

curl -Lo /etc/apache2/sites-available/00_global_https_upgrade_all.conf https://raw.githubusercontent.com/TurboLabIt/webstackup/master/config/apache-httpd/global_https_upgrade_all.conf

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Il comando scarica il file in /etc/apache2/sites-available/00_global_https_upgrade_all.conf.

Ora attiviamo la configurazione appena scaricata tramite il comando:

a2ensite 00_global_https_upgrade_all

Installare Apache su Linux Ubuntu, Passo 12: Disattivare il sito di default

La pagina di cortesia con il testo It works! visualizzata in precedenza è comoda subito dopo l'installazione, per verificare che Apache funzioni, ma poi deve tassativamente essere rimossa. Il comando da impartire è:

a2dissite 000-default

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Al suo posto, facciamo in modo che il server web ritorni un errore "sito non trovato" ogni volta in cui venga richiesto un dominio non esplicitamente configurato. Allo scopo, otteniamo la configurazione già pronta all'uso (disponibile qui) tramite il seguente comando:

curl -Lo /etc/apache2/sites-available/05_global_default_vhost_disable.conf https://raw.githubusercontent.com/TurboLabIt/webstackup/master/config/apache-httpd/global_default_vhost_disable.conf

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Il comando scarica il file in /etc/apache2/sites-available/05_global_default_vhost_disable.conf.

Ora attiviamo la configurazione appena scaricata tramite il comando:

a2ensite 05_global_default_vhost_disable

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 13: Verificare la situazione

Arrivati a questo punto, è opportuno verificare che tutto funzioni ancora correttamente. Riavviamo il servizio per rendere effettive le ultime modifiche:

apachectl configtest && service apache2 restart

Aprendo ora http://localhost tramite browser web (vedi seguito se il sistema su cui hai installato Apache non ha l'interfaccia grafica e non puoi quindi usare il browser), notiamo che, anche se abbiamo richiesto il sito in HTTP, viene effettuato un redirect automatico verso lo stesso sito in HTTPS. È merito della configurazione tramite il file 00_global_https_upgrade_all.conf che abbiamo scaricato poco fa!

Allo stesso tempo, poiché stiamo utilizzano un certificato HTTPS "self-signed" (vedi trattazione precedente) comparirà l'avviso di sicurezza La tua connessione non è privata

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando) - zShotVM_1668363433

È dunque necessario cliccare sul pulsante Avanzate e seguire il link Continua con

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando) - zShotVM_1668363450

Compare così una pagina di errore con il messaggio 400 Bad Request. Perfetto! È merito della configurazione svolta tramite il file 05_global_default_vhost_disable.conf scaricato poco fa, che scatena questo errore in caso un client richiedesse un sito non debitamente configurato... cioè esattamente quello che stiamo tentando di fare qui

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Niente paura: nei passi successivi configureremo esplicitamente il nostro sito.

Se invece il sistema sul quale hai appena installato Apache non ha l'interfaccia grafica e il browser web, puoi svolgere la medesima prova da linea di comando impartendo:

curl --head http://localhost

Il parametro fa in modo venga visualizzata l'intestazione (header) della risposta HTTP, dalla quale vediamo che il server web risponde ridirezionando la connessione verso l'equivalente pagina HTTPS (riga Location: https://localhost/).

Impartendo dunque

curl -k https://localhost

Viene visualizzato lo stesso HTML che compone la pagina di errore visualizzata nel browser web poco più sopra

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 14: Creare una nuova "home" per www-data

Per convenzione, che dovrebbe divenire legge di stato, i file che compongono i vari siti web erogati da Apache vanno salvati in una cartella dedicata sotto al percorso /var/www. Ne parleremo fra un attimo.

Al momento, però, questo stesso percorso è anche la "home" dell'utente Linux www-data. Ne consegue che, in seguito ad alcune azioni, potrebbero comparire qui dentro anche file temporanei e altre cartelle relative alle preferenze dell'utente. Non ci piace.

Per risolvere il problema, creiamo una cartella dedicata e impostiamola come home per l'utente www-data tramite questo lungo comando concatenato:

mkdir -p /home/www-data && chown www-data:www-data /home/www-data -R && chmod ug=rwx,o= /home/www-data -R && usermod -d /home/www-data www-data

Molto meglio!

Installare Apache su Linux Ubuntu, Passo 15: Creare la cartella con i progetti web

Come dicevamo, i file che compongono i vari siti web erogati vanno salvati in una sotto-cartella dedicata di /var/www. Il sito che stai leggendo ora, ad esempio, è ospitato veramente sotto /var/www/turbolab_it!

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Creiamo dunque la cartella /var/www, e una sotto-cartella chiamata local che conterrà il nostro primo sito di test:

mkdir -p /var/www/local

Dobbiamo poi consentire l'accesso alla cartella all'utente Linux www-data e all'omonimo gruppo, ovvero quello che esegue il processo del server web:

chown www-data:www-data /var/www -R && chmod ug=rwX,o= /var/www -R

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Come ultima "finezza", lanciamo il comando seguente:

chmod g+s /var/www

Fa in modo che tutti i nuovi file creati nella cartella vengano automaticamente assegnati al gruppo www-data.

Installare Apache su Linux Ubuntu, Passo 16: Scaricare il sito web di test

Procedi scompattando nella cartella /var/www/local un archivio zip che contiene alcuni file HTML di esempio che ho preparato. Il comando è il seguente:

curl -Lo /var/www/local/sito.zip https://turbolab.it/scarica/145 && unzip -o /var/www/local/sito.zip -d /var/www/local/ && rm -f /var/www/local/sito.zip

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 17: Scaricare il file di configurazione

Ora scarica il file di configurazione semi-pronto che consente ad Apache di rispondere alle richieste erogando le pagine HTML del nostro sito di test:

curl -Lo /etc/apache2/sites-available/local.conf https://turbolab.it/scarica/175

Dopodiché, attiva la nuova configurazione:

a2ensite local

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Installare Apache su Linux Ubuntu, Passo 18: Configurare un sito per localhost

Apri ora il file di configurazione appena scaricato:

nano /etc/apache2/sites-available/local.conf

All'interno, trovi varie direttive:

  • ServerName: è il dominio gestito da questa specifica configurazione. Nel file che hai scaricato è impostato a localhost, poiché risponderà al sito https://localhost. Se in futuro vorrai gestire un tuo dominio (mio-sito.com, ad esempio) dovrai indicarlo qui
  • DocumentRoot: indica dove si trovano i file HTML, PHP, CSS, immagine ecc. che compongono il sito web. Nel file che hai scaricato è impostato a /var/www/local
  • <Directory>: indica le opzioni da applicare al percorso indicato. Nel caso proposto nella configurazione di default, permette l'accesso alla "root" del sito
  • SSLCertificateFile e SSLCertificateKeyFile: fanno riferimento al certificato HTTPS e alla relativa chiave. Nel file che hai scaricato utilizziamo il certificato "self-signed" che abbiamo generato alcuni Passi fa

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Per il nostro prossimo test non devi modificare nulla, quindi ti basta capire il significato dei parametri, poi battere la combinazione Ctrl+X sulla tastiera per uscire.

Installare Apache su Linux Ubuntu, Passo 19: Riavviare il servizio

Ora che la configurazione è pronta, dobbiamo riavviare Apache per renderla effettiva. Come al solito, usa

apachectl configtest && service apache2 restart

In questo modo puoi visualizzare eventuali errori ed evitare di bloccare il servizio in caso qualcosa sia sbagliato.

Installare Apache su Linux Ubuntu, Passo 20: Visualizzare la pagina con il browser web

È tutto pronto: apri il browser web sullo stesso sistema sul quale hai installato Apache e visita https://localhost per visualizzare il sito che hai appena configurato (se si tratta di un server senza interfaccia grafica, usa il solito curl -k https://localhost per visualizzare l'HTML a Terminale).

Se tutto funziona correttamente, vedrai la pagina di test

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Prova ora a modificare, con l'editor da terminale, il file HTML che stai visualizzando:

nano /var/www/local/index.html

Fai qualche modifica, salva, poi ricarica la pagina nel browser per vedere le modifiche apportate - Ricorda che la sequenza di combinazioni da tastiera per salvare e uscire dall'editor sul terminale è Ctrl+O, Invio, Ctrl+X.

Tanto per capire meglio come funziona l'installazione attuale, svolgi questo semplice esercizio:

  1. copia il file: cp /var/www/local/index.html /var/www/local/pagina1.html
  2. usando l'editor di testi, apri la copia appena creata: nano /var/www/local/pagina1.html
  3. scrivi qualcosa a piacere (anche solo Ciao a tutti! va benissimo) e poi salva le modifiche
  4. da browser web, apri http://localhost/pagina1.html (oppure curl -k https://localhost/pagina1.html da terminale)
  5. visualizzerai così il contenuto della nuova pagina

La situazione è dunque la seguente (la schermata è stata catturata da Windows, ma è analoga sotto Linux)

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

In definitiva: accodando il nome del file desiderato all'indirizzo http://localhost/, il browser richiede detto file al server web. Se il file esiste nella cartella che abbiamo specificato come DocumentRoot, Apache lo ritorna al browser, che lo interpreta e lo mostra.

Installare Apache su Linux Ubuntu, Passo 21: Erogare molteplici siti

La configurazione attuale funziona perché abbiamo configurato esplicitamente tutto quanto per rispondere a http://localhost. Proseguiamo ora facendo in modo che il servizio risponda anche ad altri domini: ad esempio, potremmo erogare i siti sito1.com e sito2.com dallo stesso PC/server.

Iniziamo aggiungendo queste righe al file hosts del sistema sul quale abbiamo installato Apache:

127.0.0.1 sito1.com www.sito1.com

127.0.0.1 sito2.com www.sito2.com

127.0.0.1 sito3.com www.sito3.com

Così facendo, ogni tentativo di contattare questi domini viene risolta sul sistema locale. Se si tratta di una connessione HTTP o HTTPS (come quella inviata del browser quando richiede una pagina web), risponderà il nostro Apache.

Creiamo le cartelle adibite ad erogare i primi due nuovi siti. Seguendo l'impostazione precedente, lanciamo:

  • mkdir /var/www/sito1
  • mkdir /var/www/sito2

Scompattiamo all'interno di entrambe le cartelle il pacchetto con i file di esempio già usato in precedenza. Per il primo sito:

curl -Lo /var/www/sito1/sito.zip https://turbolab.it/scarica/145 && unzip -o /var/www/sito1/sito.zip -d /var/www/sito1/ && rm -f /var/www/sito1/sito.zip

Per il secondo sito:

curl -Lo /var/www/sito2/sito.zip https://turbolab.it/scarica/145 && unzip -o /var/www/sito2/sito.zip -d /var/www/sito2/ && rm -f /var/www/sito2/sito.zip

Ora entriamo e modifichiamo le rispettive copie di index.html per mostrare un messaggio che ci permetta poi di distinguere i due siti. Ad esempio:

  • nano /var/www/sito1/index.html: scrivi Benvenuto su sito1.com
  • nano /var/www/sito2/index.html: scrivi Stai guardando sito2.com

Procediamo ora a duplicare il file di configurazione local.conf (l'avevamo scaricato prima, ricordi?) creando un file di configurazione per sito1.com:

cp /etc/apache2/sites-available/local.conf /etc/apache2/sites-available/sito1.conf

Attiviamo la configurazione:

a2ensite sito1

Apriamo il nuovo file:

nano /etc/apache2/sites-available/sito1.conf

Ora:

  1. valorizziamo ServerName di modo che corrisponda al dominio che vogliamo gestire (in questo caso: sito1.com)
  2. modifichiamo il percorso dopo la direttiva DocumentRoot per fare in modo che punti alla directory che contiene il nostro sito (in questo caso: /var/www/sito1)
  3. salva le modifiche al file e chiudi

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando)

Ripeti tutto per configurare sito2.com, quindi riavvia il servizio:

apachectl configtest && service apache2 restart

Se tutto è filato liscio, torna al browser web e prova ad aprire http://sito1.com: superando l'avviso di sicurezza, dovresti vedere il messaggio personalizzato che avevi inserito nel relativo file index.html. Aprendo http://sito2.com verrà visualizzata l'altra pagina

Guida definitiva: come installare Apache Ubuntu (server web Linux, linea comando) - vhost sito1 sito2 sito3

Aprendo http://sito3.com (il dominio che avevamo inserito nel file hosts ma non configurato in Apache) verrà mostrato un messaggio di errore, proprio perché non è stato configurato.

Cosa fare ora?

Arrivati a questo punto, il nostro Apache su Linux è perfettamente configurato e funzionante. Probabilmente, però, vorrai installare anche PHP e MySQL di modo da eseguire un gestore di contenuti (CMS) come WordPress e creare il tuo blog, oppure imparare a programmare. Per il resto della guida:

» Leggi: Installare e configurare un server web: La Grande Guida ad Apache, MySQL, PHP su Windows e Linux in modo facile