Android

Como configurar hosts virtuais apache no debian 9

How To Set Up Apache Virtual Hosts on Debian 9

How To Set Up Apache Virtual Hosts on Debian 9

Índice:

Anonim

Neste tutorial, mostraremos como configurar o Apache Virtual Hosts no Debian 9.

O Apache Virtual Hosts permite hospedar mais de um domínio em uma única máquina. Ao usar hosts virtuais, você pode especificar uma raiz de documento diferente (o diretório que contém os arquivos do site) para cada domínio ou subdomínio, criar uma política de segurança separada, usar certificados SSL diferentes e muito mais.

Embora este tutorial tenha sido escrito para o Debian 9, os mesmos passos se aplicam a todas as distribuições baseadas no Debian.

Pré-requisitos

Verifique se você atendeu aos seguintes pré-requisitos antes de continuar com este tutorial:

  • Tenha um nome de domínio apontando para o endereço IP do servidor. Neste tutorial, usaremos example.com Tenha o Apache instalado em seu servidor Debian. Faça login como um usuário com privilégios de sudo.

Crie a estrutura de diretórios

A raiz do documento é um diretório em que os arquivos do site de um nome de domínio são armazenados e exibidos em resposta a solicitações. Você pode definir a raiz do documento para qualquer local que desejar. Neste guia, usaremos a seguinte estrutura de diretórios:

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

Cada domínio hospedado em nosso servidor terá sua raiz de documento definida como /var/www/ /public_html /var/www/ /public_html .

Vamos começar criando o diretório raiz do documento para o nosso primeiro domínio, example.com :

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

Também criaremos um arquivo index.html dentro do diretório raiz do documento do domínio que será mostrado quando você visitar o domínio no seu navegador.

Abra seu editor de texto favorito, crie um novo arquivo e cole o seguinte:

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

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

Estamos executando os comandos como um usuário sudo e os arquivos e diretórios criados recentemente são de propriedade do usuário root.

Para evitar problemas de permissão, alteraremos a propriedade do diretório raiz do documento do domínio e de todos os arquivos nesse diretório para o usuário apache ( www-data ):

sudo chown -R www-data: /var/www/example.com

Criar hosts virtuais

Nos sistemas Debian, os arquivos de configuração do Apache Virtual Hosts estão localizados no diretório /etc/apache2/sites-available e podem ser ativados através da criação de links simbólicos para o diretório /etc/apache2/sites-enabled .

Abra o editor de texto de sua escolha e crie o seguinte arquivo de configuração básico do Host Virtual:

/etc/apache2/sites-available/example.com.conf

ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined ServerName example.com ServerAlias www.example.com ServerAdmin [email protected] DocumentRoot /var/www/example.com/public_html Options -Indexes +FollowSymLinks AllowOverride All ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

  • ServerName : o domínio que deve corresponder a essa configuração de host virtual. Este deve ser o seu nome de domínio. ServerAlias : todos os outros domínios ou subdomínios que também devem corresponder a esse host virtual, geralmente o subdomínio www . DocumentRoot : o diretório no qual o Apache servirá os arquivos de domínio. Options : Esta diretiva controla quais recursos do servidor estão disponíveis em um diretório específico.
    • -Indexes : impede a listagem de diretórios. FollowSymLinks : Quando esta opção está ativada, o Apache segue os links simbólicos.
    AllowOverride : especifica quais diretivas declaradas no arquivo .htaccess podem substituir as diretivas de configuração. ErrorLog , CustomLog : especifica o local para os arquivos de log.

Você pode nomear o arquivo de configuração do Host Virtual como desejar, mas é recomendável usar o nome de domínio como o nome do arquivo de configuração.

Para habilitar o novo arquivo de host virtual, crie um link simbólico do arquivo de host virtual para o diretório sites-enabled para sites-enabled , que é lido pelo Apache durante a inicialização.

Nos sistemas Debian, você pode habilitar o host virtual usando um script auxiliar chamado a2ensite :

sudo a2ensite example.com

A outra opção é criar manualmente um link simbólico, como mostrado abaixo:

sudo ln -s /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-enabled/

Depois que a configuração estiver ativada, teste se a sintaxe está correta, digitando:

sudo apachectl configtest

Se não houver erros, você verá a seguinte saída:

Syntax OK

Reinicie o serviço apache2 para que as alterações entrem em vigor:

sudo systemctl restart apache2

Para verificar se tudo funciona conforme o esperado, abra http://example.com no seu navegador favorito e você verá algo assim:

Conclusão

Neste tutorial, você aprendeu como criar uma configuração de Host Virtual Apache para hospedar vários domínios em um único servidor Debian. Você pode repetir as mesmas etapas para criar hosts virtuais adicionais para seus outros domínios.

apache debian

Esta publicação é parte da Como instalar uma pilha LAMP na série Debian 9.

Outras postagens nesta série:

• Como instalar o Apache no Debian 9 • Como instalar o PHP no Debian 9 • Como configurar os hosts virtuais do Apache no Debian 9 • Como instalar o MariaDB no Debian 9 • O Apache seguro com Let's Encrypt no Debian 9