apache vhost config - por que isso não funciona

1

Eu tenho um Ubuntu com o seguinte arquivo de configuração:

<VirtualHost *:80>
    ServerName dev.domain.com
    DocumentRoot /data/sites/dev.domain.com/www/public
</VirtualHost>

Outros arquivos vhost estão sendo exibidos corretamente neste host. É adequadamente encapsulado; o diretório existe. Existe uma razão pela qual isso não está funcionando? Não vejo nada nos logs do servidor apache padrão.

thx

editar:
Este é um host Ubuntu e muitos outros vhosts usando os sites padrão disponíveis / sites habilitados estão funcionando. Um problema é que ele roda mod_php e mod_rails de phusion.

@Lain aqui está a saída do a2ensite: jon @ ve: / etc / apache2 / sites-disponível $ sudo sudo a2ensite /etc/apache2/apache2.conf ERRO: Nenhum site encontrado correspondendo /etc/apache2/apache2.conf!

aqui está a saída do apache2ctl -S (thx para isso - eu sempre quis saber como fazer isso)

 jon@ve:/etc/apache2/sites-available$ /usr/sbin/apache2ctl -S
 VirtualHost configuration:
 wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server ve.vesrv.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost ve.vesrv.com (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost testfb.hex.com (/etc/apache2/sites-enabled/001-testfb:1)
         port 80 namevhost testfb2.hex.com (/etc/apache2/sites-enabled/002-testfb2:1)
    ....
         port 80 namevhost rails-dev.rtm.com (/etc/apache2/sites-enabled/018-rails-dev.rtm.com:1)
         port 80 namevhost dev.domain.com (/etc/apache2/sites-enabled/019-dev.domain.com:6)
Syntax OK
jon@ve:/etc/apache2/sites-available$
    
por timpone 11.09.2011 / 16:54

2 respostas

1

Adicione ao arquivo, entre <VirtualHost>...</VirtualHost> :

<Directory /data/sites/dev.domain.com/www/public>
    Order allow,deny
    allow from all
</Directory>

Verifique se você tem NameVirtualHost *:80 em algum lugar antes de carregar este arquivo. (Você pode colocá-lo antes de <VirtualHost *:80> para ter certeza.)

EDIT 2: Certifique-se de que sudo a2ensite config_file config_file é o arquivo que contém o bloco <VirtualHost> . Deve ser /etc/apache2/sites-available/dev.domain.com.conf e você deve usar sudo a2ensite dev.domain.com.conf

Certifique-se de que você sudo apahce2ctl restart

EDITAR:

Com relação aos registros, não tenho certeza de qual é o seu conf global. Você pode precisar disso dentro de <VirtualHost>...</VirtualHost> :

    ErrorLog /var/log/apache2/dev.domain.com-error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/dev.domain.com-access.log combined
    
por 11.09.2011 / 18:53
0

Se você realmente criou um vhost chamado dev.domain.com , a menos que tenha criado sua própria entrada DNS para ele, ele não será resolvido para o seu servidor para que você não veja nada. Parece improvável que você seja o proprietário de domain.com , portanto não é uma boa ideia criar vhosts e entradas de DNS para seus subdomínios. É melhor criar um vhost e entradas DNS para um domínio que você controla.

    
por 11.09.2011 / 19:30

Tags