Xampp: gestire siti multipli in locale tramite i VirtualHost
Xampp permette di installare con un click un ambiente di sviluppo completo per php contenente il webserver Apache, MySQL e phpMyAdmin, Filezilla FTP server e Mercury mail.
Solitamente gli sviluppatori hanno la necessità di seguire più progetti contemporaneamente: tramite i VirtualHost è possibile mantenerli fisicamente separati invece di metterli tutti nella cartella di default htdocs.
La procedura descritta è per ambiente Windows supponendo di aver seguito l’installazione standard di Xampp, per altri sistemi operativi si dovranno adattare i percorsi delle cartelle.
1) Aprire con un editor testuale il file C:\xampp\apache\conf\httpd.conf e se non è già presente inserire alla fine del file la seguente riga:
Include "conf/extra/httpd-vhosts.conf"
2) Aprire il file C:\xampp\apache\conf\extra\httpd-vhosts.conf
In questo file verranno segnalati al webserver Apache tutti gli host virtuali che desideriamo creare. Nell’esempio seguente indichiamo di mantenere la cartella localhost e in più creiamo 2 siti fittizi: test1.local e test2.local (è possibile inserire qualsiasi nome: demo, demo_site…)
NameVirtualHost *:80
#localhost
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
#test1.local
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/vhosts/test1.local"
ServerName test1.local
<Directory "C:/xampp/htdocs/vhosts/test1.local">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
#test2.local
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/vhosts/test2.local"
ServerName test2.local
<Directory "C:/xampp/htdocs/vhosts/test2.local">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Il nome della DocumentRoot e del ServerName possono anche essere diversi.
3) Adesso bisogna creare le directory che conterranno i siti. In htdocs creiamo una nuova cartella vhosts e al suo interno le 2 cartelle per i siti: test1.local e test2.local.
4) Ora bisogna fare in modo che il browser richiami il sito corretto quando ad esempio si scrive l’url http://test1.local.
Per fare questo si deve modificare il file HOSTS di Windows.
Aprire il file C:\Windows\System32\drivers\etc\HOSTS con un editor (il blocco note va benissimo) e inserire le seguenti righe alla fine del file:
127.0.0.1 test1.local 127.0.0.1 test2.local
Per la gestione degli host in Windows è possibile utilizzare un comodo programma freeware: HostMan.
5) Come ultimo step si deve riavviare il webserver Apache tramite il pannello di controllo.
Per ogni nuovo sito si dovrà quindi:
- creare un nuovo VirtualHost nel file httpd-vhosts.conf
- creare una nuova cartella per contenere il sito
- creare una nuova associazione ip-nome host nel file HOSTS di Windows
- riavviare il webserver
Tags: php

Comments:3