Virtualhosts em Ubuntu
Em Ubuntu, como em muitas outras distribuições de Linux, o directório de configuração do Apache está organizado de uma forma que facilita a adição de personalizações.
Para a utilização de virtual hosts, basta defini-los em ficheiros individuais dentro da pasta /etc/apache2/sites-available, posteriormente, em /etc/apache2/sites-enabled criar um link simbólico para esse ficheiro e, por fim, reiniciar o Apache.
Para que o ficheiro de configuração do virtual host a criar seja reconhecido, deverá terminar com a extensão ".conf". O ideal, é dar ao ficheiro o nome do virtual host a criar. Por exemplo, se pretendermos criar um virtual host cujo FQDN (Fully Qualified Domain Name) é foobar.com, então o ficheiro de configuração seria /etc/apache2/sites-available/foobar.com.conf, sendo depois necessário criar o link simbólico /etc/apache2/sites-enabled/foobar.com.conf a apontar para o ficheiro anterior.
Eis um exemplo do conteúdo de um ficheiro de configuração de um virtual host:
<Directory /safe/www/foobar.com/site>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<VirtualHost foobar.com:80>
ServerName foobar.com
ServerAdmin webmaster@localhost
DocumentRoot /safe/www/foobar.com/site
ErrorLog ${APACHE_LOG_DIR}/foobar.com.error.log
CustomLog ${APACHE_LOG_DIR}/foobar.com.access.log combined
</VirtualHost>
De notar que a utilização de configuração individual por virtual host, ao contrário dos virtual hosts por directório, permite um controlo muito mais refinado sobre os parâmetros e ficheiros de registo (logs) individuais para este host.