Por que o Apache 2.4 não respeita o VirtualHosts?

1

Eu migrei de Raring para Saucy no meu servidor da Web e, com ele, atualizei o Apache de 2.2.x para 2.4.x.

O Apache agora parece não estar ciente do diretório habilitado para sites ou de seu conteúdo. Cada host é servido com o 000-default.conf. Um exemplo de um VirtualHost é 006-cjshayward :

<VirtualHost *:80>
    ServerName cjshayward.com
    ServerAdmin [email protected]

    DocumentRoot /home/jonathan/cjshayward/public_html
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options ExecCGI Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/author.cjshayward.error.log

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

    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

<VirtualHost *:80>
    ServerName www.cjshayward.com
    ServerAlias author.cjshayward.com cjsh.name www.cjsh.name cjsh.info www.cjsh.info
    RewriteEngine on
    RewriteRule ^(.*)$ http://cjshayward.com$1 [R=301,L]
</VirtualHost>

O que mais eu preciso fazer para me registrar como tendo um VirtualHost com seu próprio diretório pai?

    
por Jonathan Hayward 24.10.2013 / 18:59

2 respostas

2

Apache2.conf do Apache 2.2 tinha essa diretiva: Include sites-enabled/*

Apache2.conf do Apache 2.4 mudou para esta diretiva: IncludeOptional sites-enabled/*.conf

O mais provável é que os arquivos no diretório sites-enabled não terminem em .conf

    
por 25.10.2013 / 10:24
1

Como Shane menciona, você precisa ter certeza de que o httpd.conf está incluindo arquivos da sua pasta habilitada para sites.

Além disso, a maioria das distribuições baseadas no Debian incluirá todos os arquivos na pasta habilitada para sites, enquanto, por último, eu verifiquei o Redhat "equivalente" incluirá apenas arquivos com extensão .conf.

De qualquer forma, isso precisa estar presente em seu httpd.conf:

Include /etc/apache2/sites-enabled/*
    
por 24.10.2013 / 21:33