Ciao raga, per riparare i danni causati dai miei post in questo forum... Qui spero di riuscire a spiegarvi come si utilizzano i virtualhost di apache, poichè sono molto utili e vi possono servire in molte occasioni...
Allora: Cominciamo dalla domanda più comune per tutti...
COSA E' UN VIRTUALHOST? A COSA SERVE???
Un virtualhost è intanto un servizio che offre apache e che serve ad ospitare più siti nello stesso server specificando più indirizzi ip (Come spiegheremo in seguito) o utilizzando lo stesso ip. Ad ogni sito corrisponderà una determinata cartella, che potrà anche corrispondere a quella di un'altro virtualhost (cosa estremamentre inutile, ma fattibbile)
DEVO AVER INSTALLATO QUALCOS'ALTRO OLTRE AD APACHE?
No, basta modificare ed aggiungere poche cose nel file httpd.conf di apache per utilizzare i virtualhost.
COME APRO UN DETERMINATO SITO DAL MIO BROWSER?
Esattamente come con localhost o l'indirizzo ip 127.0.0.1.
Esistono due tipi di virtualhost: gli IP-Based Virtual Hosts e d i Name-Based Virtual Hosts. Qui spiegherò come utilizzare i Name-Based Virtual Hosts, perchè più comodi (penso
).
COME CONFIGURO IL FILE HTTPD.CONF DI APACHE???
Intanto bisogna decommentare alcune stringhe relative all'uso di "mod_vhost_alias" perciò queste due stringhe:
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
e
#AddModule mod_vhost_alias.c
diventeranno
LoadModule vhost_alias_module modules/mod_vhost_alias.so
e
AddModule mod_vhost_alias.c
ok?
Ora passiamo alla creazione vera e propria dei virtualhosts...
Alla fine del file HTTPD.CONF c'è la parte relativa ai virtual host. Per crearne uno dovremo sovrascrivere, o modificare quella parte, così:
codice:
# Impostazioni per il virtualhost di ...
#----------------------------------------------------------------------
# get the server name from the Host: header
UseCanonicalName Off
#
# this log format can be split per-virtual-host based on the first field
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon
#
Port 80
#questo si può cambiare ma noi utilizzaremo per adesso
#127.0.0.2
NameVirtualHost 127.0.0.2
<VirtualHost 127.0.0.2>
ServerName www.mioserver.it # Nome del Server
ServerAdmin administrator.email@mioserver.it # Email dell'admin
DocumentRoot c:/Virtualhosts/miohost/ # Path del virtualhost
ErrorLog c:/Virtualhosts/error.php # Codice opzionale
TransferLog c:/virtualhosts/transfer.php # Codice opzionale
</VirtualHost>
così abbiamo creato il nostro virtualhost con ip 127.0.0.2.
Se cambiate l'ip del virtualhost a * esso sarà l'unico host visualizzabile, qualunque ip mettete nel browser ok?
Naturalmente dobbiamo modificare le stringhe relative alle path dei file e delle cartelle a seconda delle nostre esigenze... Le perte commentate come codice opzionale si possono tranquillamente eliminare oppure li lasciate e li modificate sempre secondo le vostre esigenze...
Il nostro VirtualHost ora è funzionante! Basta riavviare apache e vedrete!!!
Come faccio a dargli un nome tipo localhost???
Intanto ringrazio a Gnegno per avermelo detto, ed infatti questa operazione si può effettuare modificando il file Hosts, presente nella directory %windir%/system32/drivers/etc/ di windows
oppure nella dir etc di linux.
Appena aprirete questo file troverete già un host registrato: è localhost, che apache ha installato attribuendogli l'ip 127.0.0.1 .
Per aggiungere un host, dovremo intento scrivere l'ip del nostro virtualhost, ed in seguito (non bisogna scriverli attaccati, ma separati da una tabulazione o da uno spazio), il nome che gli vogliamo dare. Se poi si vuole dare un commento si può fare in stile C mettendo un #. Così gli aggiungeremo
codice:
# Host configurato da ... il gg/mm/aaaa ore hh/mm
127.0.0.2 paterhost
# /Host
oppure
codice:
127.0.0.2 miohost # Il mio primo virtual host!!!
Naturalmente i commenti sono personalizzabili a proprio piacimento...
Riavviate apache e vediamo se funziona... provate a scrivere nel vostro browser http://miohost/ e vediamo se vi appare il vostro virtual host!
Se si, vuol dire che siete sati bravi a seguire le mie indicazioni, se nò, postate che vedremo insieme di risolvere il problema!
PS: Ricordatevi che dovete creare le cartelle corrispondenti al virtualhost e metterci dentro un file php di prova con, per esempio, il seguente contenuto:
Codice PHP:
<? phpinfo(); ?>
Spero di essere stato esaustivo in questa pillola e soprattutto spero di non aver scritto invano!
SICURAMENTE avrò fatto degli errori, e, vi prego di informarmi in caso ne notiate...
Vi raccomando di non bere alcolici durante queste operazioni, sennò potreste anche essere costretti a re-installare apache!!!
Ora vi saluto, un grande (
)bacione(
)
PaTeR E NON PETER!!!