1.5. Configuração de hosts virtuais baseados no nome Apache
Os hosts virtuais baseados em nomes permitem que o Apache sirva diferentes conteúdos para diferentes domínios que resolvam para o endereço IP do servidor.
O procedimento nesta seção descreve a criação de um host virtual para o domínio example.com e example.net com diretórios raiz de documentos separados. Ambos os hosts virtuais servem conteúdo HTML estático.
Pré-requisitos
Os clientes e o servidor web resolvem o domínio
example.comeexample.netpara o endereço IP do servidor web.Observe que você deve adicionar manualmente estas entradas ao seu servidor DNS.
Procedimento
Instale o pacote
httpd:yum instalar httpd
# yum instalar httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Edite o arquivo
/etc/httpd/conf/httpd.conf:Anexe a seguinte configuração de host virtual para o domínio
example.com:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Estas configurações configuram o seguinte:
-
Todas as configurações da diretiva
<VirtualHost *:80>são específicas para este host virtual. -
DocumentRootestabelece o caminho para o conteúdo da web do host virtual. ServerNamedefine os domínios para os quais este host virtual serve de conteúdo.Para definir vários domínios, adicione o parâmetro
ServerAliasà configuração e especifique os domínios adicionais separados com um espaço neste parâmetro.-
CustomLogdefine o caminho para o log de acesso do host virtual. ErrorLogdefine o caminho para o registro de erros do host virtual.NotaO Apache utiliza o primeiro host virtual encontrado na configuração também para solicitações que não correspondem a nenhum domínio definido nos parâmetros
ServerNameeServerAlias. Isto também inclui pedidos enviados para o endereço IP do servidor.
-
Todas as configurações da diretiva
Anexar uma configuração similar de host virtual para o domínio
example.net:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Criar as raízes dos documentos para ambos os anfitriões virtuais:
mkdir /var/www/example.com/ mkdir /var/www/example.net/
# mkdir /var/www/example.com/ # mkdir /var/www/example.net/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Se você definir caminhos nos parâmetros
DocumentRootque não estão dentro de/var/www/, defina o contextohttpd_sys_content_tem ambas as raízes do documento:semanage fcontext -a -t httpd_sys_content_t "/srv/example.com(/.*)?" restorecon -Rv /srv/example.com/ semanage fcontext -a -t httpd_sys_content_t "/srv/example.net(/.\*)?" restorecon -Rv /srv/example.net/
# semanage fcontext -a -t httpd_sys_content_t "/srv/example.com(/.*)?" # restorecon -Rv /srv/example.com/ # semanage fcontext -a -t httpd_sys_content_t "/srv/example.net(/.\*)?" # restorecon -Rv /srv/example.net/Copy to Clipboard Copied! Toggle word wrap Toggle overflow Estes comandos definem o contexto
httpd_sys_content_tno diretório/srv/example.com/e/srv/example.net/.Note que você deve instalar o pacote
policycoreutils-python-utilspara executar o comandorestorecon.Abra a porta
80no firewall local:firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload
# firewall-cmd --permanent --add-port=80/tcp # firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow Habilite e inicie o serviço
httpd:systemctl enable --now httpd
# systemctl enable --now httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Etapas de verificação
Criar um arquivo de exemplo diferente em cada raiz de documento do host virtual:
echo "vHost example.com" > /var/www/example.com/index.html echo "vHost example.net" > /var/www/example.net/index.html
# echo "vHost example.com" > /var/www/example.com/index.html # echo "vHost example.net" > /var/www/example.net/index.htmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Use um navegador e conecte-se a
http://example.com. O servidor web mostra o arquivo de exemplo do host virtualexample.com. -
Use um navegador e conecte-se a
http://example.net. O servidor web mostra o arquivo de exemplo do host virtualexample.net.
Recursos adicionais
-
Para mais detalhes sobre a configuração dos hosts virtuais Apache, consulte a documentação
Virtual Hostsno manual Apache. Para detalhes sobre a instalação do manual, veja Seção 1.8, “Instalando o manual do Servidor HTTP Apache”.