Pratica: Configurare Apache da zero

In questa esercitazione si inizia a configurare Apache da zero, partendo da un file vuoto.
Molte delle successive esercitazioni evolveranno sulla base di questo file, che sarà parallelo a quello appena modificato con Webmin (che potrà essere utilizzato per confronti, verifiche e visualizzare a quali direttive corrispondono le opzioni di Webmin) per cui si consiglia di predisporsi per poter utilizzare entrambi i file di configurazione:
/etc/httpd/conf/httpd.conf - Gestito con Webmin
/etc/httpd/conf/httpd2.conf - Costruito a mano da zero

1 - Creare un file vuoto chiamato /etc/httpd/conf/httpd2.conf e provare a lanciare Apache utilizzando direttamente questo file e vedere i messaggi di errori visualizzati a video.
2 - Aggiungere al file vuoto la direttiva ServerName, provare a lanciare di nuovo Apache (abituarsi, con freccia SU e freccia GIU, a ripetere rapidamente i comandi di editing del file di configurazione, prova dello stesso con il lancio del processo httpd e verifica dei log). Una volta fatta pratica, si riuscirà ad operare e testare le diverse configurazioni rapidamente.
3 - Aggiungere la direttiva Listen per comunicare ad Apache di ascoltare sulla porta http.
4 - Aggiungere la direttiva User per definire l'utente con cui deve girare Apache (usare "apache" o "nobody" a seconda di quale esiste già nel sistema). Approfittarne per aggiungere anche la direttiva Group e avviare Apache.
5 - Provare a navigare con un browser sul proprio server Web, verificare sul file di error log il motivo dell'errore visualizzato
6 - Definire una DocumentRoot al cui interno sono presenti i file del nostro sito (si suggerisce di usare inizialmente una directory con contenuti html, come /usr/share/doc/HTML)
7 - Alcuni browser (Netscape, ma non Internet Explorer) non riescono a determinare il mime type del file che gli viene fornito se il server non glielo esplicita direttamente nei suoi response header. Di default Apache serve i suoi file come text/plain che Netscape prende alla lettera e visualizza come semplici testi, senza interpretare il codice HTML. E' quindi necessario attivare il modulo mime.mod per gestire automaticamente diversi mime type. Per farlo aggiungere: LoadModule mime_module modules/mod_mime.so (su Apache 2) o LoadModule mime_module libexec/mod_mime.so e AddModules mod_mime.c (Apache 1.3). I path modules o libexec dipendono da dove sono installati i moduli sul proprio sistema, cambiano in Apache 2.0 e 1.3 e sono relativi alla ServerRoot
8 - Il server potrebbe non riuscire ancora a partire se non trova il file mime.types, richiesto dal modulo mod_mime. Trovare il file nel file system con locate mime.types e poi creare un link simbolico a questo file avente come nome quello cercato da Apache (verificare sull'error_log il path effettivo).
9 - Killare il processo Apache in esecuzione con il comando httpd

Comandi collaterali utili
- ps -adef | grep httpd - Per visualizzare se il processo httpd è in esecuzione
- netstat -nap | grep LISTEN - Per vedere se il processo httpd è bindato ad una porta locale
- tail -f /var/log/httpd/error.log - Lasciarlo in esecuzione su una shell autonoma per visualizzare i messaggi di errore

Comandi necessari
1 - httpd -f /etc/httpd/conf/httpd2.conf
2 - Aggiungere a /etc/httpd/conf/httpd2.conf: ServerName pippo (Sostituire pippo con quello che si vuole)
3 - Aggiungere Listen 80
4 - Aggiungere User apache e Group apache (su due righe diverse)
5 - Apache da un messaggio di "File not found" perchè cerca un'home page predefinita nella Document Root definita in sede di compilazione (su RedHat di default è /etc/httpd/htdocs)
6 - DocumentRoot /usr/share/doc/HTML
7 - Aggiungere ad httpd2.conf: LoadModule mime_module modules/mod_mime.so (su Apache 2) o LoadModule mime_module libexec/mod_mime.so E AddModules mod_mime.c (su Apache 1.3).
8 - ln -s /etc/mime.types /etc/httpd/conf/mime.types Alternativamente si può direttamente specificare la posizione di questo file con TypesConfig /etc/mime.types
9 - httpd -k stop -f /etc/httpd/conf/httpd2.conf

Privacy Policy