Anem a començar la creació d'un primer VirtualHost, creant els dos directoris:
sudo mkdir /etc/httpd/sites-available
sudo mkdir /etc/httpd/sites-enabled
Ara, a continuació editarem el fitxer de configuració de l'Apache sudo nano /etc/httpd/conf/httpd.conf i afegirem a la última línea del fitxer, la línea aquesta que enllaça els possibles VirtualHosts que tinguem creats al nostre sistema:
IncludeOptional sites-enabled/*.conf
Un exemple de VirtualHost pot ser aquest:
< VirtualHost *:80 >
ServerName www.el_meu_exemple.com
ServerAlias el_meu_exemple.com
DocumentRoot /var/www/el_meu_exemple.com/public_html
ErrorLog /var/log/el_meu_exemple.com/error.log
CustomLog /var/log/el_meu_exemple.com/requests.log combined
Si volem fer servir una autenticació contra l'Apache Web Server, necessitarem configurar-ho també ací al VirtualHost. En aquest cas, quedaria de la següent manera:
VirtualHost *:80>
ServerName www.el_meu_exemple.com
ServerAlias el_meu_exemple.com
DocumentRoot /var/www/el_meu_exemple.com/public_html
ErrorLog /var/log/el_meu_exemple.com/error.log
CustomLog /var/log/el_meu_exemple.com/requests.log combined
AuthType Basic
AuthName "Basic Authentication"
AuthUserFile /etc/httpd/.htpasswd
require valid-user
Li hem dit que volem usar el port 80, volem que es diga www.el_meu_exemple.com però que també responga al domini sense les 3 'www', a continuació li hem dit la ruta primera on començarà el seu index.php/index.html (convertint-se automàticament en la seua ruta absoluta), i li hem dit dos fitxers de logs per a tenir ben registrats tots els events del nostre projecte. Jo sempre li dic que estiguen a /var/log, perquè a UNIX sempre estan en aquesta ruta, i així serà molt fàcil trobar-los. Però, evidentment, tu pots dir-li la ruta que més t'agrade.
Finalment, anem a fer un enllaç simbòlic del nostre projecte "el_meu_exemple.com" per a que aparega en el directori de llocs webs habilitats. Ho farem de la següent manera:
sudo ln -s /etc/httpd/sites-available/el_meu_exemple.com.conf /etc/httpd/sites-enabled/el_meu_exemple.com.conf
Afegirem la configuració al fitxer de hosts del nostre servidor per a que reconega aquest nou subdomini:
192.168.1.100 www.el_meu_exemple.com
192.168.1.100 el_meu_exemple.com
I ja ho tenim.
Reiniciarem el servidor web Apache, i ja estarà funcionant:
sudo apachectl restart
Pots crear tants VirtualHosts com necessites, nomès et cal anar creant nous fitxers .conf i anar configurant els paràmetres. Has de seguir sempre els mateixos pasos i, finalment, reiniciar el servidor Apache, i ja ho tindràs.