Configurare Apache in un ambiente Chroot: differenze tra le versioni

da adottare
(da adottare)
 
(7 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
{{Guida da adottare}}{{Versioni compatibili|Sarge|Etch|Lenny|Squeeze}}
__TOC__
__TOC__


Riga 26: Riga 27:
Apache2 di Debian utilizza il file <code>/var/run/apache2.pid</code> come file PID; il PID (acronimo di Process Identifier) è un numero che viene assegnato ad ogni processo alla sua nascita, che lo accompagna durante tutta la sua esistenza e che lo identifica univocamente nel sistema.
Apache2 di Debian utilizza il file <code>/var/run/apache2.pid</code> come file PID; il PID (acronimo di Process Identifier) è un numero che viene assegnato ad ogni processo alla sua nascita, che lo accompagna durante tutta la sua esistenza e che lo identifica univocamente nel sistema.
<br/>
<br/>
Dopo aver eseguito il ''chroot'' di Apache il file PID sarà creato in /var/www/var/run/apache2.pid e quindi è necessario creare questa directory:
Dopo aver eseguito il ''chroot'' di Apache il file PID sarà creato in <code>/var/www/var/run/apache2.pid</code> e quindi è necessario creare questa directory:
<pre>
<pre>
# mkdir -p /var/www/var/run
# mkdir -p /var/www/var/run
Riga 45: Riga 46:
ChrootDir /var/www
ChrootDir /var/www
</pre>
</pre>
=== Configurazione dei Virtual Host ===
A questo punto dobbiamo informare tutti i virtual host di Apache che la <code>DocumentRoot</code> è cambiata.
<br/>
Occorre perciò aprire tutti i file di configurazione dei nostri virtual hosts presenti nella directory <code>/etc/apache2/sites-available</code>, modificando la direttiva <code>DocumentRoot</code> e sostituendo il path <code>/var/www</code> con <code>/</code>.
<br/>
Ad esempio un virtual host con <code>DocumentRoot</code> pari a:
<pre>
DocumentRoot /var/www/sito1/www
</pre>
andrà modificato in:
<pre>
DocumentRoot /sito1/www
</pre>
Un metodo alternativo, suggerito in diversi howto, è quello di creare un symbolic link per la DocumentRoot, visto che <code>/var/www</code> corrisponde a <code>/</code> nell’ambiente ''chroot'':
<pre>
# mkdir -p /var/www/var
# cd /var/www/var
# ln -s ../../ www
</pre>
In diversi testi sulla sicurezza è '''sconsigliato''' utilizzare dei symlink che entrino o escano da una gabbia chroot; per questo motivo consiglio caldamente il primo metodo e invito a modificare a mano le direttive <code>DocumentRoot</code> dei vari virtual host.
=== Conclusione ===
Una volta fatto tutto questo, è possibile fermare Apache, creare un symbolic link in <code>/var/run/apache2.pid</code> per <code>/var/www/var/run/apache2.pid</code> e riavviare il server web:
<pre>
# /etc/init.d/apache2 stop
# ln -s /var/www/var/run/apache2.pid /var/run/apache2.pid
# /etc/init.d/apache2 start
</pre>
Se tutto è andato per il verso giusto, collegandovi all'indirizzo IP del vostro server dovreste vedere i siti ospitati proprio come prima della costruzione della gabbia ''chroot''.
{{Autori
|Autore = [[Utente:Ferdybassi|Ferdybassi]] 00:45, 7 nov 2010 (CET)
}}
[[Categoria:Web server]]
3 581

contributi