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
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
Passe para o usuário atual a propriedade deste diretório
sudo chown -R $USER:$USER /var/www/vhost_domain
Crie uma página de amostra index.html
utilizando seu editor favorito:
sudo $EDITOR /var/www/vhost_domain/public_html/index.html
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>
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>
Ativando o novo virtualhost
Vamos habilitar o arquivo com a ferramenta a2ensite
:
a2ensite vhost_domain.conf
Caso precise desabilar use o comando a seguir
a2dissite vhost_domain.conf
É possível testar à procura de erros de configuração:
sudo apache2ctl configtest
Você deve receber a seguinte saída:
Output
Syntax OK
Reinicie o Apache para implementar as suas alterações:
sudo systemctl restart apache2
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:
Top comments (0)