1º Passo - Crie um novo diretório
O primeiro passo para criar um virtual host, é a criação de um diretório. Esse diretório é onde serão guardadas as informações do seu site. A localização desse arquivo estará na configuração do seu Apache posteriormente.
Abaixo, o comando que deverá ser utilizado, seguido de um exemplo de localização de arquivo:
sudo mkdir -p /var/www/example.com/public_html
Você precisará informar um DNS de domínio aprovado, ou um endereço IP que esteja funcionando. No tutorial, estamos usando example.com como exemplo para o nome do domínio. No entanto, se deseja utilizar um domínio que a ainda não seja aprovado para testar esse processo, isso será explicado no 7º passo.
2º Passo - Conceda permissões
É necessário conceder permissão da propriedade do diretório para o usuário correto. Você pode substituir "www-data" abaixo, pelo nome de usuário correto.
sudo chown -R www-data:www-data /var/www/example.com/public_html
Também é importante ter certeza que todos estejam aptos a ler seus arquivos. Para isso, utilize o comando abaixo:
sudo chmod 755 /var/www
3º Passo - Criando a página
Para criar uma página, é preciso criar um novo arquivo chamado index.html no diretório que foi criado nos passos acima.
sudo nano /var/www/example.com/public_html/index.html
Adicione algum texto ao arquivo, para que algo apareça no site quando estiver sendo redirecionado ao virtual host.
<html> <head> <title>www.example.com</title> </head> <body> <h1>Success: You Have Set Up a Virtual Host</h1> </body> </html>
Salve e Feche.
4º Passo - Crie um novo arquivo de Host Virtual
No próximo passo, você deverá criar um novo arquivo, contendo todas as informações do virtual host. O Nginx fornece o layout para esse arquivo (disponível no diretório /etc/nginx/sites-available), então, basta copiar o texto e transforma-lo em um novo arquivo customizado.
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com
5º Passo - Configurando Virtual Hosts
Abra o novo arquivo do virtual host. Você verá toda a informação que você precisa se utilizar o comando abaixo.
sudo nano /etc/nginx/sites-available/example.com
Depois, é preciso realizar algumas alterações nas linhas abaixo:
server { listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 root /var/www/example.com/public_html; index index.html index.htm; # Make site accessible from http://localhost/ server_name example.com; }
- Em "listen 80" tire o uncomment. Assim, todo o tráfego dessa porta será redirecionado para seu site.
- Altere a extensão raiz para que esta bata com o diretório criado no primeiro passo. Se ele estiver incorreto, você não conseguirá ativer o virtual host.
- Altere o nome do servidor para o seu domínio aprovado ou seu IP.
Não são necessárias outras alterações. Salve e feche.
O último passo é ativar o host criando uma conexão entre o diretório "sites-available" e o diretório "sites-enabled". No apache, o comando para isso é "a2ensite". Já o Nginx, não possui um atalho equivalente, mas é possível fazer isso utilizando o seguinte comando:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
Para evitar o erro de conflito de nome do servidor e garantir que seu site exibas as informações corretas, você pode excluir o bloco padrão do servido Nginx com o comando:
sudo rm /etc/nginx/sites-enabled/default
6º Passo - Reinicie Nginx
Depois de todas as alterações realizadas, reinicie o Nginx para que elas comecem a funcionar.
sudo service nginx restart
(Opcional) 7º Passo - Configurando os Hosts Locais
Se você tem um domínio ou um IP para seu servidor, você pode ignorar essa etapa, pois não precisa configurar seus hosts locais. Os hosts virtuais devem funcionar. No entanto, se quiser testar seus novos hosts virtuais, sem se conectar a um domínio real, é possível realizar essa configuração somente no seu computador.
Nessa etapa, você precisará estar usando seu computador e saber a senha administrativa dele.
Se estiver no Mac ou Linux, acesse o usuário principal do computador (su
) e abra seus arquivos de host.
nano /etc/hosts
Se estiver no Windows, siga as orientações da Microsoft.
Você pode adicionar hosts locais nos detalhes do arquivo, como apresentado no exemplo abaixo.
# Host Database # # localhost is used to configure the loopback interface # when the system is booting. Do not change this entry. ## 127.0.0.1 localhost #Virtual Hosts 12.34.56.789 www.example.com
Após realizar esses testes, exclua os endereços inventados da pasta de hosts locais, para evitar qualquer confusão futura.
8º Passo: Vendo seu Virtual Host em ação
Uma vez que você terminou suas configurações, você poderá ver seu virtual host online. Digite seu domínio ou IP no seu navegador e pronto!