Apache + PHP + Virtual Host
Vi como grande vantagem vhosts em meus projetos PHP, sendo uma excelente forma de criar subdominios para cada projeto e evitar riscos de varreduras indesejadas a outros sistemas no diretório padrão do apache.
Suponhamos que o domínio para o sistema seja subdominio.dominio.com.br.
Podemos usar o diretório padrão do apache ou outro, como por exemplo /srv/www, fique ao seu critério.
Estou tomando como base a estrutura de diretórios do Debian, sistema operacional que uso.
Em /var/www:
$ sudo mkdir subdominio.dominio.com.br
Em /etc/apache2/sites-available:
$ sudo vim subdominio.conf
Dentro de subdominio.conf cole:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName subdominio.dominio.com.br
DocumentRoot /home/lucio/sites/subdominio.dominio.com.br
<Directory /home/lucio/sites/subdominio.dominio.com.br/>
Options Indexes FollowSymLinks MultiViews Includes ExecCGI
AllowOverride All
Order allow,deny
allow from all
Require all granted
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
</Directory>
ErrorLog ${APACHE_LOG_DIR}/subdominio.dominio.com.br.error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/subdominio.dominio.com.br.access.log combined
</VirtualHost>
Veja que coloquei em Document Root e Directory o seguinte diretório:
/home/lucio/sites/subdominio.dominio.com.br
Criei um diretório sites, e dentro dele crio links simbólicos das minhas vhosts. Isso é um capricho meu, apenas para organização. Fica como sugestão, mas caso não queira pode colocar o caminho real do projeto.
Após toda configuração, entre com os comandos:
$ sudo a2ensite subdominio.conf
$ sudo service apache2 restart
That's all folks!