E’ il momento di installare Apache.
Ho scaricato i sorgenti nella directory /download, il file si chiama: httpd-2.2.3.tgz.
- Scompattazione del file: tar -zxvf httpd-2.2.3.tgz
- Viene creata la directory httpd-2.2.3, dentro sposto il relativo file tgz (questo è solo un mio vezzo e non è necessario) e mi sposto all’interno della directory: cd httpd-2.2.3
- Lancio il comando: ./configure senza parametri aggiuntivi
- Passo al comando: make
- Quindi al comando: make install
A questo punto apache è installato nella directory predefinita /usr/local/apache2 per provarlo è necessario lanciare il programma digitando /usr/local/apache2/bin/apachectl start, lanciare un browser e digitare l’indirizzo ip del server, se tutto è andato a buon fine comparirà una pagina con scritto “It works”.
Ora è necessario fare in modo che apache parta all’avvio, per fare questo bisogna andare a creare i file necessari nel runlevel:
- Copiare il file apachectl nella directory init.d: cp /usr/local/apache/bin/apachectl /etc/init.d/apache
- Creare il link simbolico nella directory rc3.d (partenza del pc senza desktop grafico): ln -s /etc/init.d/apache /etc/init.d/rc3.d/S12apache (il numero successivo alla S potrebbe, nel vostro caso essere diverso, per una spiegazione approfondita andate qui)
- Creare il link simbolico nella directory rc5.d (partenza del pc con desktop grafico): ln -s /etc/init.d/apache /etc/init.d/rc5.d/S12apache (il numero successivo alla S potrebbe, nel vostro caso essere diverso, per una spiegazione approfondita andate qui)
Una volta riavviato il server, bisogna provare a collegarsi nuovamente via browser all’indirizzo ip e trovare di nuovo “It works” per verificare di non aver sbagliato nella creazione dei link per l’avvio automatico di apache.
Ora creiamo la directory /www scrivendo: mkdir /www
Verifichiamo che esistano l’utente www e il gruppo wwwrun.
Lanciando i comandi:
- cat /etc/group | grep www
- cat /etc/passwd | grep wwwrun
Se entrambi i comandi forniscono un risultato (es. www:x:8, oppure wwwrun:30:8 ecc.) allora esistono sia l’utente che il gruppo, in caso contrario è necessario crearli digitando (nell’ordine indicato):
groupadd www
useradd wwwrun -d /www -G www
A questo punto è buona norma modificare il file httpd.conf presente nella directory /usr/local/apache2/conf/.
Per semplificarne la gestione creo il link al file nella directory etc con il comando: ln -s /usr/local/apache2/conf/httpd.conf /etc/httpd.conf.
Aprire con un editor (vi) il file /etc/httpd.conf e modificare:
- Alla riga 64 sostituire lo user daemon con www
- Alla riga 65 sostituire il gruppo daemon con wwwrun
- Alla riga 101 sostituire il valore /usr/local/apache2/htdocs di DocumentRoot con “/www”
Problema: spostando il puntamento di Apache su /www e copiando sopra il contenuto della directory /usr/local/apache/htdocs, al collegamento ottengo un errore “403 Forbidden – You don’t have permission to access / on this server.” Nonostante i diritti ed il proprietario della directory siano identici.
Soluzione: Modificando unicamente la riga 101 si incorre in errore perché è necessario modificare il puntamento presente nella riga 128 contenente la dicitura Directory.
Quindi:
- Alla riga 128 sostituire il valore /usr/local/apache2/htdocs di Directory con /www
- Alla riga 163 aggiungere dopo index.html i valori (separati da spazi) index.htm, index.php, main.htm, main.html, main.php (in questo modo si indica ad Apache che in mancanza di indicazioni specifiche verrà aperto, se presente e nell’ordine, uno di questi file)
Ultima operazione per applicare le modifiche effettuate è necessario riavviare il server Apache con il comando /etc/init.d/apache restart.
Author



Lo scrivo perché poi non me lo ricordo mai, per modificare i runlevel da riga di comando usare chkconfig.