Molti sviluppatori di siti internet e creatori di templates hanno
bisogno di avere più siti sul loro computer e poter accedere in
qualsiasi momento senza continuamente modificare le variabili di
configurazione di Apache. La soluzione migliore è che ogni sito deve
essere in una sottocartella della www root principale ed accedere al
sito così: http://localhost/sitoa/
In questa guida vi mostreremo come è semplice creare un server virtuale
sotto Windows ed avere più siti ognuno dei quali ha un suo proprio
dominio (http://siteA.tld). Quello che vi mostreremo lo potete applicare a qualsiasi vostra applicazione web, non solo ad Elxis CMS ma anche a XAMPP.
Avviso: non dovete usare XAMPP ma installare separatamente Apache, mysql/postgresql e PHP.
Qesto vi aiuterà e capire meglio come un reale web server lavora. In
questa guida vi mostreremo un metodo generale per creare un server
virtuale che può essere applicato anche a XAMMP.
Per questa guida bisognerà editare 3 files.
1.File di configurazione Apache (httpd.conf).
Questo file è situato all’interno della cartella di installazione di Apache, ad esempio:
C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf
La path riportata sopra dipende da come è stata effettuata l’installazione di Windows e dalla versione di Apache installata
Se
usate XAMPP questo file deve essere presente nella cartella di
installazione di XAMPP. Se non trovate il file, usate la funzione di
ricerca di windows.
2.File di configurazione del server virtuale Apache (httpd-vhosts.conf)
Questo file è situato nella cartella di installazione di Apache. Esempio:
C:/Program Files/Apache Software Foundation/Apache2.2/conf/extra/httpd-vhosts.conf
Come nel punto precedente, anche questa path dipende dalla installazione di Windows e dalla versione di Apache installata.
Purtroppo
per XAMPP non posso esservi d’aiuto in quanto mai utilizzato ma penso
che aggiunga un host virtuale all’interno del file httpd.conf file.
3.File del server di WINDOWS (hosts)
Questo è un file senza estensione w nascosto all’interno di windows/system32/drivers/etc/ folder, esempio:
C:/windows/system32/drivers/etc/
Questa cartella contiene una lista di hosts (normalmente solo localhost)
Attenzione: Questa guida è solo per WIN2000/XP/Vista.
Per
ciascuna delle vostre sottocartelle (sito) situate all’interno della
vostra root WWW principale, dovete creare un host virtuale.
Andare nella vostra cartella www root dove avete i vostri siti locali:
C:/Program Files/Apache Software Foundation/Apache2.2/htdocs
e troverete luna directory con una struttra di cartelle di questo tipo
sitoA (cartella dove risiede il sitoA)
sitoB (cartella dove risiede il sitoB)
etc....
Per convenienza usate i nomi di queste cartelle come nomi dominio.
Aprire il file (httpd-vhosts.conf) del server virtuale di Apache con un editor di testo. Dovete essere sicuri che i contenuti siano commentati con il simbolo # da mettere all’inizio di ogni linea. Ogni cosa pre-esistente sono solo degli esempi. Prima di tutto scrivete:
| NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "F:/myweb" ServerName localhost </VirtualHost> |
Dovere sostituire F:/myweb (la root locale) con il percorso della vostra cartella www root (di solito è chiamata htdocs).
Per ciascun vostro sito dovrete creare delle righe come questa.
| <VirtualHost *:80> DocumentRoot "F:/myweb/elxis" ServerName elxis.loc </VirtualHost> |
Quando avrete finito il vostro file httpd-vhosts.conf dovrebbe essere di questo tipo:
| NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "F:/myweb" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "F:/myweb/elxis" ServerName elxis.loc </VirtualHost> <VirtualHost *:80> DocumentRoot "F:/myweb/elxis2008" ServerName elxis2008.loc </VirtualHost> <VirtualHost *:80> DocumentRoot "F:/myweb/myblog" ServerName myblog.loc </VirtualHost> etc... |
Per convenienza meglio usare I nomi cartella con nomi dominio,
ma potete fare come è vostra consuetudine. Sarebbe opportuno usare loc
come un pseudo-TLD*, ma anche in questo caso potete fare come vostra
consuetudine. Evitate di usare le estensioni dei nomi dominio come com, net, org, it, fr, etc.
* TLD: Top Level Domain
Quando il vostro server virtuale è pronto, bisognare dire ad Apache quale file deve usare. Aprite il file di configurazione httpd.conf con un editor di testi e localizzate la linea dei file dei server
(generalmente nella parte inferiore del documento). Se questa linea non
è presente dovete aggiungerla.
# Virtual hosts
# Include conf/extra/httpd-vhosts.conf
Togliere il simbolo # all’inizio della seconda riga per dire ad Apache di includere il vostro file del server server virtuale
| # Virtual hosts Include conf/extra/httpd-vhosts.conf |
Aprie il file host di Windows con un editor di testo. All’interno troverete una linea come questa:
127.0.0.1 localhost
Aggiungere dopo la linea soprariportata la seguente riga:
127.0.0.1 loc
Aggiungete tutti I server virtuali che avete creato in Apache:
127.0.0.1 elxis.loc
127.0.0.1 elxis2008.loc
127.0.0.1 myblog.loc
etc...
Quando il vostro file di Windows è pronto, salvatelo e fare ripartire Apache. Se richiesto fate ripartite anche Windows.
Una volta che tutto è operativo, voi potrete accedere al vostri server in questa maniera, essmpio:
http://elxis.loc
http://elxis2008.loc
http://myblog.loc
Avviso: non dimenticate di cambiare nel file configuration.php di Elxis il contenuto della variabile $mosConfig_live_site con l’url del dominio che avete creato sul vostro server virtuale.
Disclaimer
Non ci riteniamo responsabili per qualsiasi
danneggiamento che possono succedere al vostro computer e sistema
operativo per un uso improprio di questa guida. Se non siete esperti,
fatevi configurare i vostri server virtuali da qualche persona esperta
che conoscete.
Traduzione by Speck - Elxisitalia.com
Testo in lingua originale di Ioannis Sannos - Elxis.org