Tutorial

Como configurar os hosts virtuais do Apache no Ubuntu 18.04 [Guia de início rápido]

ApacheQuickstartUbuntu 18.04

Introdução

Este tutorial irá guiá-lo na configuração de vários domínios e sites usando hosts virtuais do Apache em um servidor Ubuntu 18.04. Durante esse processo, você aprenderá como distribuir conteúdo diferente para visitantes diferentes, dependendo de quais domínios eles estiverem solicitando.

Para uma versão mais detalhada deste tutorial, com mais explicações de cada passo, consulte o tutorial sobre Como configurar hosts virtuais do Apache no Ubuntu 18.04.

Pré-requisitos

Para completar este tutorial, será necessário ter acesso ao seguinte em um servidor Ubuntu 18.04:

  • Um usuário sudo no seu servidor
  • Um servidor Web Apache2, que pode ser instalado com sudo apt install apache2

Passo 1 — Criar a estrutura de diretório

Primeiro, vamos criar uma estrutura de diretórios que retenha os dados do site que vamos distribuir aos visitantes em nosso diretório Apache de nível superior. Vamos usar exemplos de nomes de domínio, conforme destacadosabaixo. Você deverá substituí-los por seus próprios nomes de domínio.

  • sudo mkdir -p /var/www/example.com/public_html
  • sudo mkdir -p /var/www/test.com/public_html

Passo 2 — Conceder permissões

Agora, devemos alterar as permissões para que nosso usuário não raiz atual consiga modificar os arquivos.

  • sudo chown -R $USER:$USER /var/www/example.com/public_html
  • sudo chown -R $USER:$USER /var/www/test.com/public_html

Além disso, vamos garantir que o acesso de leitura seja concedido ao diretório Web geral - e todos os arquivos e pastas que ele contém, para que as páginas possam ser atendidas corretamente.

  • sudo chmod -R 755 /var/www

Passo 3 — Criar páginas de demonstração para cada host virtual

Vamos criar um conteúdo para distribuir. Além disso, criaremos uma página index.html de demonstração para cada site. Podemos abrir um arquivo index.html em um editor de texto para nosso primeiro site, usando o nano por exemplo.

  • nano /var/www/example.com/public_html/index.html

Dentro desse arquivo, crie um documento HTML específico do domínio, como o seguinte:

/var/www/example.com/public_html/index.html
<html>
  <head>
    <title>Welcome to Example.com!</title>
  </head>
  <body>
    <h1>Success! The example.com virtual host is working!</h1>
  </body>
</html>

Salve e feche o arquivo e, em seguida, copie esse arquivo para usar como base para nosso segundo site:

  • cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html

Abra o arquivo e modifique as informações relevantes:

  • nano /var/www/test.com/public_html/index.html
/var/www/test.com/public_html/index.html
<html>
  <head>
    <title>Welcome to Test.com!</title>
  </head>
  <body> <h1>Success! The test.com virtual host is working!</h1>
  </body>
</html>

Salve e feche esse arquivo também.

Passo 4 — Criar arquivos do host virtual

O Apache vem com um arquivo de host virtual padrão chamado 000-default.conf que usaremos como modelo. Vamos copiá-lo para criar um arquivo de host virtual para cada um dos nossos domínios.

Crie o primeiro arquivo de host virtual

Comece copiando o arquivo para o primeiro domínio:

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf

Abra o novo arquivo no seu editor (estamos usando o nano abaixo) com privilégios raiz:

  • sudo nano /etc/apache2/sites-available/example.com.conf

Vamos personalizar esse arquivo para nosso próprio domínio. Modifique o texto destacado abaixo de acordo com suas próprias necessidades suas próprias circunstâncias.

/etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Neste ponto, salve e feche o arquivo.

Copiar o primeiro host virtual e personalizar para o segundo domínio

Agora que temos o nosso primeiro arquivo de host virtual estabelecido, podemos criar nosso segundo, copiando aquele arquivo e ajustando o arquivo, conforme necessário.

Comece copiando-o:

  • sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf

Abra o novo arquivo com privilégios raiz em seu editor:

  • sudo nano /etc/apache2/sites-available/test.com.conf

Agora, será necessário modificar todas as informações para referenciar seu segundo domínio. O arquivo final deve se parecer com este, com o texto destacado correspondendo às suas próprias informações de domínio relevantes.

/etc/apache2/sites-available/test.com.conf
<VirtualHost *:80>
    ServerAdmin admin@test.com
    ServerName test.com
    ServerAlias www.test.com
    DocumentRoot /var/www/test.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Salve e feche o arquivo quando você terminar.

Passo 5 — Habilitar os novos arquivos de host virtual

Com nossos arquivos de host virtual criados, precisamos habilitá-los. Vamos usar a ferramenta a2ensite para alcançar esse objetivo.

  • sudo a2ensite example.com.conf
  • sudo a2ensite test.com.conf

Em seguida, desabilite o site padrão definido em 000-default.conf:

  • sudo a2dissite 000-default.conf

Quando terminar, será necessário reiniciar o Apache para essas alterações fazerem efeito e usar o systemctl status para verificar o sucesso da reinicialização.

  • sudo systemctl restart apache2

Agora, seu servidor deve estar configurado para atender dois sites.

Passo 6 — Configurar o arquivo de hosts locais (opcional)

Se você ainda não estiver usando seus próprios nomes de domínios para testar esse procedimento, mas venha usando alguns exemplos domínios, você poderá testar o seu trabalho, alterando temporariamente o arquivo hosts em seu computador local.

Em uma máquina local Mac ou Linux, digite o seguinte:

  • sudo nano /etc/hosts

Para uma máquina local Windows, encontre instruções sobre como alterar o arquivo hosts aqui.

Utilizando os domínios usados neste guia e substituindo o IP do seu servidor pelo texto your_server_IP, seu arquivo deverá ficar com a seguinte aparência:

/etc/hosts
127.0.0.1   localhost
127.0.1.1   guest-desktop
your_server_IP example.com
your_server_IP test.com

Salve e feche o arquivo. Isso direcionará quaisquer pedidos para o example.com e o test.com em nosso computador e os enviará para nosso servidor.

Passo 7 — Testar seus resultados

Agora que seus hosts virtuais estão configurados, você pode testar suas configurações, acessando os domínios que configurou em seu navegador Web.

http://example.com

Você deve ver uma página como esta:

Exemplo de host virtual do Apache

Você também pode acessar sua segunda página e ver o arquivo que criou para seu segundo site.

http://test.com

Teste do host virtual do Apache

Caso ambos esses sites funcionarem conforme o esperado, significa que você configurou dois hosts virtuais no mesmo servidor.

Caso tenha ajustado o arquivo hosts do seu computador caseiro, exclua as linhas que adicionou.

Tutoriais relacionados

Aqui estão os links para outros guias relacionados a este tutorial:

Creative Commons License