Vários sites / hosts virtuais não funcionam consistentemente

0

Não tenho certeza de qual informação ajudará a obter uma resposta para isso, então tentarei uma abordagem mínima. Por favor, peça informações que seriam úteis.

Tenho sucesso com 3 sites do Drupal rodando na minha máquina local de desenvolvimento, mas o que os fez trabalhar é um mistério.

Eu segui o link para obter o primeiro site e depois instalei mais 2. Quando tentei acessar o segundo site, continuei recebendo a página padrão do Apache, em vez do site do Drupal. Eu adicionei então uma segunda linha 'Listen' no ports.conf e o site começou a funcionar. Então no ports.conf eu tive:

Listen 127.0.0.1:80
Listen 127.0.0.2:80

Achei que essa era a resposta até que tentei que o terceiro site funcionasse e eu não precisei adicionar mais Listen para fazer isso. O terceiro site inicialmente não funcionou, não pôde ser encontrado. Eu editei ports.conf , apache2.conf e hosts.conf de uma forma organizada, tentando descobrir o que faria funcionar, mas não encontrei nenhum padrão. Quando o site finalmente começou a funcionar, parecia mágica. A partir de horas de trabalho sobre isso, parece-me que há alguma configuração que não está sendo atualizada / lida na memória, e quando faço algumas edições, o site começa a funcionar.

Então, algumas perguntas específicas para isso:

  1. Depois de editar /etc/hosts , sitename.conf , apache2.conf e ports.conf , execute a2ensite e reinicie o Apache, há mais alguma coisa que precisa ser feita para garantir que todas as novas configurações sejam carregadas ?

  2. Estou confuso com o arquivo hosts. Devo ter todos os sites no mesmo endereço IP, como isso:

    127.0.0.1   localhost
    127.0.1.1   Ubuntu-05
    127.0.0.1   drupal-8.localhost
    127.0.0.1   drupal-7-site01.localhost
    127.0.0.1   drupal-7-site02.localhost
    

ou eles devem ter endereços IP diferentes como este:

127.0.0.1   localhost
127.0.1.1   Ubuntu-05
127.0.0.1   drupal-8.localhost
127.0.0.2   drupal-7-site01.localhost
127.0.0.3   drupal-7-site02.localhost

Agradecemos antecipadamente por qualquer conselho que você possa ter. (rodando no Ubuntu 14.04 no VirtualBox)

    
por klequis 03.05.2014 / 19:18

1 resposta

0

Parece que o tutorial que você usou foi para criar ambiente de desenvolvimento local em uma máquina host Linux e não usar um ambiente virtual.

Eu encontrei o mesmo problema usando o Virtualbox. Você não deveria ter que mexer com o arquivo ports.conf. No Ubuntu 14.04, os nomes dos seus arquivos de host virtuais devem terminar em .conf, então no seu diretório / etc / apache2 / sites-available você deve ter:

  • drupal-8.localhost.conf
  • drupal-7-site01.localhost.conf
  • drupal-7-site02.localhost.conf

Ativar cada site executando:

$ sudo a2ensite drupal-8.localhost.conf
$ sudo a2ensite drupal-7-site01.localhost.conf
$ sudo a2ensite drupal-7-site01.localhost.conf

Se você estiver executando o Virtualbox como um servidor de uma máquina host (como o Mac), provavelmente terá um endereço IP em sua rede local para o seu servidor Virtualbox. O endereço IP do seu servidor será exibido na página de boas-vindas quando você fizer o SSH no servidor do VirtualBox. Se você já está logado, você pode obter o seu endereço IP executando:

$ ifconfig

Seu IP pode ser algo como 192.168.57.100.

Como esses não são nomes de domínio reais com DNS completo, você precisará adicionar cada um aos arquivos host da sua máquina host. (No Mac, isso é / etc / hosts). Então, o seu arquivo hospedeiro ficaria assim:

127.0.0.1         localhost
192.168.57.100    drupal-8.localhost
192.168.57.100    drupal-7-site01.localhost
192.168.57.100    drupal-7-site02.localhost

Quando você insere um nome de domínio em um navegador da Web, como google.com, o sistema examina o arquivo host (no Mac é / etc / hosts) para resolver o domínio. Se o domínio não estiver lá, ele sai para a Internet para começar a resolver o nome do domínio para encontrar o IP do servidor adequado. Você pode substituir esse processo adicionando linhas personalizadas ao arquivo host. Por exemplo, se você adicionou a seguinte linha ao seu arquivo host:

192.168.57.100    google.com

Sempre que você digitar o google.com na sua barra de endereço, ele redirecionará para o seu servidor do Virtualbox em vez do site real do google.com.

Portanto, quando você estiver trabalhando em um ambiente de teste virtual, precisará adicionar cada site de teste ao seu arquivo / etc / hosts. Pode haver uma maneira de configurar seu servidor de teste para que você não precise adicionar uma entrada separada para cada site em seu arquivo hosts, mas eu não fui tão longe.

Como observação, em vez de nomear seus sites com .localhost, você pode considerar o uso de .dev. É mais curto e mais parecido com um nome de domínio real. Geralmente localhost é usado quando você está fazendo referência a algo na mesma máquina (ou seja, conectando-se a um banco de dados no mesmo servidor ou desenvolvendo localmente em sua máquina host - como executar apache / php / mysql / ruby diretamente em sua máquina Mac / Windows ). Quando você executa o Ubuntu no Virtualbox, você está executando um ambiente completamente separado da sua máquina host.

    
por user285173 25.05.2014 / 18:01