A conclusione della procedura di installazione, il server Apache è già pronto per essere utilizzato. I pacchetti di installazione di Ubuntu contengono anche i file di configurazione di Apache, opportunamente compilati per permettere al server di mettersi in ascolto sulla porta 80 (HTTP), ricevere richieste dal browser e rispondere con una pagina HTML di default. Per verificare che tutto sia stato installato correttamente, è sufficiente aprire il browser su un computer connesso alla stessa rete del server e digitare l'indirizzo IP del server nel campo URL. Il server dovrebbe rispondere con una pagina simile a quella mostrata in figura 1.
Se il browser dovesse rispondere con un messaggio di errore, bisognerà verificare la configurazione di rete, assicurandosi che sia il server sia il client siano effettivamente sulla stessa rete IP e che non vi siano conflitti. Se il problema dovesse persistere, ripetere l'operazione di installazione, facendo attenzione ad eventuali messaggi di errore che potrebbero indicare cosa è andato storto.
La pagina di default di Ubuntu conferma che l'installazione di Apache è avvenuta con successo, e fornisce delle informazioni molto utili su come procedere alla configurazione del server. Dettagli come il percorso della directory dove sono contenuti i file di configurazione o il percorso di default dove memorizzare le pagine web dei siti serviti dal server potrebbero infatti variare in base all distribuzione GNU/Linux utilizzata.
I file di configurazione di Apache
Su Ubuntu, le direttive di configurazione di Apache sono sparse in più file, tutti situati in sottodirectory di /etc/apache2. Bisogna ricordare che Apache è un web server modulare e multisito. In altre parole, è possibile personalizzare il funzionamento del server stesso attivando o disattivando alcune sue parti (i moduli, appunto), ed è inoltre in grado di servire più siti web conteporaneamente. Per semplificare le operazioni di configurazione e rendere il tutto più efficiente, in Apache esiste un file di configurazione per ogni modulo. La stessa politica è applicata ai siti web installati sul server. Poiché, come detto prima, moduli e siti possono essere attivati o disattivati, esistono quattro directory contenenti file di configurazione:
- mods-available, contenente i file di configurazione dei moduli installati;
- mods-enabled, contenente i file di configurazione dei moduli attivi;
- sites-available, contenente i file di configurazione dei siti web installati;
- sites-enabled, contenente i file di configurazione dei siti web attivi.
Per evitare duplicazioni, quando un modulo o un sito vengono attivati, viene creato un link simbolico nella directory *-enabled che punta al corrispondente file di configurazione nella directory *-available. Ad esempio, quando il modulo PHP5 è abilitato, la directory mods-enabled contiene un link simbolico chiamato php5.conf, che punta al file ../mods-available/php5.conf. Quando un modulo o un sito vengono disattivati, i corrispodenti link simbolici vengono rimossi.
Il medesimo sistema è utilizzato anche dalle directory conf-available e conf-enabled, che contengono file di configurazione con direttive non direttamente correlate a siti o moduli in particolare.
Per semplificare il processo di abilitazione o disabilitazione di configurazioni, moduli e siti, esistono dei comandi appositi che si occupano di creare o rimuovere i link simbolici: a2enmod
, a2dismod
, a2ensite
, a2dissite
, a2enconf
, a2disconf
. Ad esempio, per abilitare il modulo PHP5 basterà digitare:
# a2enmod php5
Per disattivarlo, invece, digitiamo:
# a2dismod php5
Attenzione. Per rendere effettivi i cambiamenti effettuati ai file di configurazione, è sempre necessario ricaricare Apache, con il comando seguente:
# service apache2 reload
In alcuni casi potrebbe essere necessario riavviare completamente il server Apache. Per farlo, si usa il comando seguente:
# service apache2 restart
Eventuali errori di configurazione verranno indicati da Apache in seguito ad un reload
o un restart
.
La directory www
Per ragioni di sicurezza, al momento dell'installazione il server Apache non ha i permessi necessari per accedere a qualunque directory presente sul server. Esiste una speciale directory, /var/www, nella quale vanno memorizzati i contenuti dei vari siti web da ospitare. Ad esempio, la pagina di default di Ubuntu si trova in /var/www/html/index.html dato che /var/www/html è la directory del sito di default.
La directory /var/www e le sue subdirectory appartengono all'utente www-data, al quale fa riferimento Apache. Una directory che ha per proprietario e gruppo www-data, potrà essere letta da Apache (e quindi servita sul web).
Installare un sito
Prima di procedere, è buona norma disattivare il sito di default di Ubuntu. Nella configurazione di un server, una regola generale consiste nell'abilitare esclusivamente quei moduli, servizi o applicazioni che effettivamente sono necessari, disattivando tutto il resto. Questo rende più semplice la gestione del server e garantisce maggiore sicurezza, evitando che componenti non usati ma comunque attivi possano compromettere la sicurezza del sistema. Per disattivare il sito di default, digitiamo il comando seguente:
# a2dissite 000-default.conf
Il comando a2dissite
ricorderà all'utente che è necessario ricaricare la configurazione per attivare lo modifiche.
Procediamo quindi con la creazione di una subdirectory in /var/www per ospitare il nostro sito; ad esempio:
# mkdir /var/www/miosito
A questo punto, copiamo i file del sito usando, ad esempio, un client SFTP come WinSCP o Filezilla, avendo cura di selezionare SFTP come protocollo (porta 22) ed utilizzando le corrette credenziali di accesso.
Ultimata la copia, assegnamo ad Apache i privilegi di accesso alla directory miosito:
# chmod -R www-data:www-data /var/www/miosito
Il comando sopra indicato rende la directory miosito (ed il suo contenuto) di proprietà dell'utente www-data.
Creaiamo quindi un nuovo file di configurazione per il sito miosito, utilizzando il sito default come base di partenza:
# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/miosito.conf
Il file miosito.conf andrà modificato con un editor di testo (ad esempio nano) per indicare il percorso in cui il sito è stato copiato:
# nano /etc/apache2/sites-available/miosito.conf
Sarà sufficiente modificare la direttiva DocumentRoot
. La riga completa è:
DocumentRoot /var/www/miosito
Salviamo il file con CTRL+X e poi Y, quindi abilitiamo il nuovo file con:
# a2ensite miosito
Infine, non resta che riavviare il server con
# service apache2 restart
Collegandosi nuovamente al server usando un browser nella rete locale, verrà restituita la homepage di miosito al posto della pagina di default di Ubuntu sinora mostrata. La configurazione del server Apache è, per il momento, completata.