Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Apache Httpd: Creiamo un Name-Based Virtual Host ====== {{http://www.apache.org/images/feather.png?nolink&100 |}} Con questa guida spieghieremo brevemente come configurare un virtual host con Apache Httpd basato sui nomi di dominio. Con **Apache Httpd** abbiamo due tipi di //Virtual Host//: //IP-Based// e //Name-Based//. Il Virtual Host basato su IP richiede che per ogni dominio ci sia un indirizzo IP, mentre per il //Name-Based// basta solo un indirizzo IP. In determinate situazioni la soluzione //Name-Based// è senza dubbio la più semplice ed economica in quanto con un solo IP possiamo avere diversi domini sulla stessa macchina. ===== Configurazione ===== ==== File hosts ==== Come primo passo configuriamo con il nostro editor di testo preferito, il file ''/etc/hosts'' aggiungendo le entry con i nomi di dominio virtuali in modo che puntino tutti all'indirizzo ''127.0.0.1'' (ovvero ''localhost''). Ad esempio: 127.0.0.1 localhost localhost.localdomain lotar 127.0.0.1 foo.lotar bar.lotar baz.lotar [...] Salviamo e facciamo un test con ''ping'': $ ping foo.lotar PING foo.lotar (127.0.0.1) 56(84) bytes of data. 64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.051 ms 64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.081 ms ^C --- foo.lotar ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.051/0.066/0.081/0.015 ms ==== httpd.conf ==== Sempre con il nostro editor di testo aggiungiamo alla fine del file ''httpd.conf'' le configurazioni necessarie per indicare quale directory corrisponde ad un nome di dominio. Ad esempio: <code apache> <VirtualHost *:80> ServerName lotar.local ServerAlias lotar.* localhost DocumentRoot /srv/httpd/htdocs/ </VirtualHost> <VirtualHost *:80> ServerName foo.lotar.local ServerAlias foo.* DocumentRoot /www/foo </VirtualHost> <VirtualHost *:80> ServerName bar.lotar.local ServerAlias bar.* DocumentRoot /www/bar </VirtualHost> <VirtualHost *:80> ServerName baz.lotar.local ServerAlias bar.* DocumentRoot /www/baz </VirtualHost> </code> Con questa configurazione abbiamo creato un ''VirtualHost'' sulla porta ''80'' ed abbiamo indicato: * ''ServerName'' : indicando come nome, l'alias che abbiamo configurato nel file ''/etc/hosts'' * ''ServerAlias'' : un ulteriore alias nel caso in cui il sito deve essere raggiungibile con un nome diverso di dominio (ad esempio: ''foo.lotar.localdomain'') * ''DocumentRoot'' : la directory effettiva del sito ===== Conclusioni ===== La configurazione appena effettuata funzionerà solamente sulla nostra macchina ma nel caso in cui siamo in una rete interna (LAN casalinga, dell'ufficio, etc) bisognerà configurare il server DNS in modo da risolvere tutti i nomi di dominio con l'IP della macchina dove è installato Apache HTTPD. ===== Per maggiori informazioni ===== * [[http://httpd.apache.org/docs/current/vhosts/name-based.html|Name-based Virtual Host]] {{tag>how-to apache httpd}} how-to/apache-httpd-name-based-virtual-host.txt Last modified: 9 years agoby Giuseppe Di Terlizzi Log In