Iniciante Fundamentos

Virtual Hosts

Virtual Hosts permitem rodar vários sites em um único Apache. O servidor decide qual site responder olhando o domínio pedido (cabeçalho Host). Isso se chama virtual host baseado em nome.

Criar um virtual host

No Debian, crie um arquivo em sites-available:

<VirtualHost *:80>
    ServerName loja.com
    ServerAlias www.loja.com
    DocumentRoot /var/www/loja

    <Directory /var/www/loja>
        AllowOverride None
        Require all granted
    </Directory>
</VirtualHost>

Vários sites

Cada site tem seu próprio bloco, mesmo na mesma porta:

<VirtualHost *:80>
    ServerName blog.com
    DocumentRoot /var/www/blog
</VirtualHost>

Ativar e testar

sudo a2ensite loja.conf
sudo a2ensite blog.conf
sudo apache2ctl configtest
sudo systemctl reload apache2

Testar localmente

Para testar sem DNS, adicione os domínios ao /etc/hosts:

127.0.0.1 loja.com
127.0.0.1 blog.com

O ServerName define o domínio principal; o ServerAlias adiciona nomes extras. Sem um Host correspondente, o Apache usa o primeiro virtual host como padrão.