Apache2 virtualhost não funciona (Debian)

1

Eu tenho um servidor local em casa executando o Debian 8. Eu acesso esse servidor com seu endereço IP dado pelo roteador. Agora eu queria tentar trabalhar com virtualhosts para tornar meu servidor um pouco melhor. Eu criei dois virtualhosts blog.com e mysite.com . Mas meu problema é que ambos não estão funcionando. Toda vez que eu os insiro no navegador, nada acontece. Eu já tentei várias soluções aqui no estouro de pilha ou com o google. Nada ajudou.

Algum conselho?

O que eu fiz:

Primeiro: eu configurei dois diretórios adicionais além do padrão para os sites e mudei o diretório do padrão.

1) for blog.com: /var/www/blog.com/html

2) for mysite.com: /var/www/mysite.com/html

3) changed the default: /var/www/html to /var/www/default/html

Segundo: Em seguida, criei em cada pasta html um arquivo index.html

Terceiro: criei mais dois arquivos .conf no diretório /etc/apache2/sites-available e alterei o default.conf DocumentRoot

blog.com.conf

<VirtualHost *:80>
    ServerName blog.com
    ServerAlias www.blog.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/blog.com/html/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

mysite.com.conf

<VirtualHost *:80>
    ServerName mysite.com
    ServerAlias www.mysite.com
    ServerAdmin [email protected]
    DocumentRoot /var/www/mysite.com/html/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

default.conf DocumentRoot alterado para:

default.conf

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www/default/html/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Quarto: Ativado meus dois novos sites

sudo a2ensite blog.com.conf

sudo a2ensite mysite.com.conf

Quinto: reiniciei o apache

sudo service apache2 restart

Também atualizei

sudo service apache2 reload

sudo /etc/init.d/apache2 restart

Sexta: editei meu arquivo hosts

127.0.0.1 localhost
ip blog.com
ip mysite.com
    
por Megaetron 04.01.2016 / 22:44

2 respostas

0

Para que o host virtual baseado em nome funcione, você deve certificar-se de que os nomes de host que você está tentando acessar os sites resolvam para o endereço IP do servidor. Isso significa que, no seu caso, blog.com e mysite.com devem resolver para o endereço IP local do servidor. Isso deve ser feito configurando os servidores de nomes de acordo.

Outra maneira de conseguir isso localmente é adicionar as entradas ao arquivo hosts do computador local para que ele seja resolvido corretamente. Como você colocou as entradas no arquivo de hosts dos servidores, seu computador não está ciente disso e não consegue resolver os nomes, e nenhuma solicitação para os sites está chegando a lugar algum.

Dê uma olhada em Hospedagem virtual baseada em nome e Ordem de resolução de nomes de host TCP / IP da Microsoft

    
por 05.01.2016 / 00:14
0

A configuração do Virtualhost parece estar ok. O problema aqui é que o seu computador não sabe quem é o blog.com e o mysite.com.

Você precisa fazer a configuração que você fez no arquivo do servidor hosts, mas no seu próprio computador:

  • Se você usa o Linux, pode fazê-lo da mesma maneira que fez no servidor, editando /etc/hosts file.
  • Se você usa o Windows, é possível editar C:\Windows\System32\Drivers\etc\hosts file

Isso faz com que o computador verifique primeiro no arquivo de hosts se tiver algum registro para a resolução do blog.com ou mysite.com, em vez de procurá-lo diretamente no DNS primário configurado nele.

    
por 05.01.2016 / 00:12