di Atif Ghaffar Notizie sull'autore: Vivo e lavoro in Svizzera come webmaster e amministratore unix. Le mie passioni includono, Linux, UNIX, Perl, Apache e il software GPL. Possono essere trovate più informazioni sul mio conto sulla mia homepage. Contenuto: |
Sommario:
Questo articolo mostra come gestire più webservers virtuali
usando lo stesso indirizzo IP con Apache su Unix/Linux. L' articolo
presuppone che il lettore abbia una certa conoscenza del
funzionamento di Apache, DNS e di UNIX.
Questo articolo si
rivolge principalmente agli ISPs, agli amministratori di sistema e a
chiunque che si preoccupi di leggere ed imparare :-).
Riciclare gli indirizzi IP è utile per parecchie ragioni.
Uno potrebbe sempre esaurire gli indirizzi IP a lui disponibili
Uno potrebbe avere soltanto un indirizzo IP (come nel mio caso)
Più tempo per gli amministratori di sistema per aggiungere interfacce al server per usare indirizzi IP multipli.
Con Apache è semplice servire domini multipli con un solo
indirizzo IP.
Per questo articolo useremo un indirizzo IP
fittizio, come 192.168.1.1 e hometranet.home come
hostname.
Aggiungete semplicemente una riga come questa al vostro
httpd.conf
NameVirtualHost 192.168.1.1:80
Dopo aggiungeremo tre server virtuali usando lo stesso
indirizzo IP
# Host per i files UNIX <VirtualHost 192.168.1.1:80> ServerName unix.hometranet.home DocumentRoot /www/unix/html ScriptAlias /cgi-bin/ /www/unix/cgi-bin/ TransferLog /www/unix/logs/access_log ErrorLog /www/unix/logs/error_log </VirtualHost> #Host per il materiale sul perl <VirtualHost 192.168.1.1:80> ServerName perl.hometranet.home DocumentRoot /www/perl/html ScriptAlias /cgi-bin/ /www/perl/cgi-bin/ TransferLog /www/perl/logs/access_log ErrorLog /www/perl/logs/error_log </VirtualHost> #Host con materiale particolare sull'Apache <VirtualHost 192.168.1.1:80> ServerName apache.hometranet.home DocumentRoot /www/apache/html ScriptAlias /cgi-bin/ /www/apache/cgi-bin/ TransferLog /www/apache/logs/access_log ErrorLog /www/apache/logs/error_log </VirtualHost>
Quindi con un singolo IP dell'Apache abbiamo gestito facilmente 3
virtualhosts differenti.
Non rimane che aggiungere un CNAMES o
un record per questi nomi nel vostro file
di configurazione del
DNS, e non dimenticate di incrementare il numero di serie :)
Per
esempio: nel mio /var/named/hometranet.home.fwd, aggiungerei
perl.hometranet.home. IN A 192.168.1.1 apache.hometranet.home. IN A 192.168.1.1 unix.hometranet.home. IN A 192.168.1.1
Da notare: Se chiamate questo host con qualunque altro nome oltre
quelli dati nell'httpd.conf, risponderà il primo host
virtuale.
Prima dell'Apache 1.3.x avrebbe risposto l'ultimo.
Per
esempio: Se questo host fosse chiamato madmag, chiamando
http://madmag.hometranet.home sarebbe come invocare
unix.hometranet.home.
Qui viene il bello. Il Web server Apache permette di usare i
metacaratteri (i wildcards, n.d.t.) negli hostnames.
Quindi
potete settare un dominio *.home.hometranet.home e tutte le richieste
a user1.home.hometranet.home, user2.home.hometranet.home,
user3.home.hometranet.home, etc saranno accettate.
Esempio:
#host per gli utenti <VirtualHost 192.168.1.1:80> ServerName home.hometranet.home ServerAlias *.home.hometranet.home DocumentRoot /www/home/html TransferLog /www/home/logs/access_log ErrorLog /www/home/logs/error_log </VirtualHost> e una linea nel file di configurazione del DNS *.home.hometranet.home. IN A 192.168.1.1
Nota: Questo trucco non funzionerà se state utilizzando il
Microsoft DNS Server. Rifiuta apparentemente di accettare i
metacaratteri negli hostnames.
(Ma voi non lo usate vero?, :-))
Io una volta ho scritto un piccolo sistema che permette agli
utenti della rete di aggiungere il loro CV (Curriculum Vitae, n.d.t.)
nel database ed usando il suddetto trucco, il loro CV era disponibile
su http://NomeDell'Utente.cv.developer.ch.
Qui
c'è un file di configurazione più esauriente che ho
estrapolato dal mio file di configurazione dell'Apache.
Questo è
attualmente sul mio server.
Per includere questo file
nell'httpd.conf potete usare la direttiva Include nel vostro
httpd.conf.
Include "/etc/vhosts.conf"
Pagine web mantenute dal Team degli Editori di LinuxFocus
© Atif Ghaffar LinuxFocus 2000 Clicca qui per segnalare un errore o per mandare un commento a Linuxfocus |
Informazioni sulla traduzione:
|
2000-01-25, generated by lfparser version 1.1