DEV Community

Valmor
Valmor

Posted on • Edited on

Apache Virtual Host

Apache Virtualhost

O servidor apache permite virtualizar diferentes sites numa mesma máquina. O que facilita testar mais de um projeto no mesmo servidor local.

Associando um Host Name com o IP local da máquina

Primeiro vamos editar o arquivo /etc/hosts. Esse é o arquivo do sistema operacional que traduz nomes de host ou nomes de domínio em endereços IP.

Edite o conteúdo desse arquivo como visto abaixo.

127.0.0.1 localhost
127.0.0.1 vhost_domain.lan
127.0.0.1 www.vhost_domain.lan
Enter fullscreen mode Exit fullscreen mode

Salve o arquivo e experimente acessar a URL vhost_domain.lan, você pode fazer isso através do navegador ou pelo terminal: curl vhost_domain.lan.

Nesse momento o resultado de vhost_domain.lan deve ser idêntico ao resultado de localhost.

Configurando o Apache

Crie o diretório para o vhost_domain

sudo mkdir /var/www/vhost_domain
Enter fullscreen mode Exit fullscreen mode

Passe para o usuário atual a propriedade deste diretório

sudo chown -R $USER:$USER /var/www/vhost_domain
Enter fullscreen mode Exit fullscreen mode

Crie uma página de amostra index.html utilizando seu editor favorito:

sudo $EDITOR /var/www/vhost_domain/public_html/index.html
Enter fullscreen mode Exit fullscreen mode

Dentro, adicione a seguinte amostra HTML:

<!--/var/www/vhost_domain/public_html/index.html-->
<html>
    <head>
        <title>vhost_domain</title>
    </head>
    <body>
        <h1>Ah moleque!</h1>
    </body>
</html>
Enter fullscreen mode Exit fullscreen mode

O Apache guarda na pasta /etc/apache2/sites-available arquivos de configuração para sites que estão disponíveis, mas não necessariamente ativados. Crie nessa pasta um arquivo denominado vhost_domain.conf com o seguinte conteúdo.

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName vhost_domain
    ServerAlias www.vhost_domain.lan
    DocumentRoot /var/www/vhost_domain/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Enter fullscreen mode Exit fullscreen mode

Ativando o novo virtualhost

Vamos habilitar o arquivo com a ferramenta a2ensite:

a2ensite vhost_domain.conf
Enter fullscreen mode Exit fullscreen mode

Caso precise desabilar use o comando a seguir

a2dissite vhost_domain.conf
Enter fullscreen mode Exit fullscreen mode

É possível testar à procura de erros de configuração:

sudo apache2ctl configtest
Enter fullscreen mode Exit fullscreen mode

Você deve receber a seguinte saída:

Output
Syntax OK
Enter fullscreen mode Exit fullscreen mode

Reinicie o Apache para implementar as suas alterações:

sudo systemctl restart apache2
Enter fullscreen mode Exit fullscreen mode

O Apache agora já deve estar atendendo ao nome de domínio. Teste isso navegando para http://vhost_domain.lan, onde você deve ver algo assim:

Referência

Top comments (0)