Acabei de configurar o Apache v2.4, PHP e MySQL na nova máquina Windows. Fiz apenas algumas alterações no httpd.conf
. Estou incluindo httpd-vhosts.conf
, que tem 2 sites personalizados definidos (removi os dummy
sites padrão dele), ambos são sites WordPress.
Um desses sites WordPress não tem banco de dados e, quando vou para o htdocs
diretório raiz, vejo um erro de conexão de banco de dados para esse site. Quando comento a DocumentRoot
linha do host virtual, a listagem de diretórios aparece novamente.
Aqui estão todas as Directory
linhas relacionadas de httpd.conf
(em ordem):
Define SRVROOT "C:/webserv/Apache24"
ServerRoot "${SRVROOT}"
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "${SRVROOT}/htdocs"
<Directory "${SRVROOT}/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory "${SRVROOT}/cgi-bin">
AllowOverride None
Options None
Require all granted
</Directory>
E aqui está o host virtual que causa o problema:
<VirtualHost *:80>#gutenberg
DocumentRoot "${SRVROOT}/htdocs/gutenberg"
ServerName gutenberg.squarestarmedia.ie
ErrorLog "logs/gutenberg.localhost-error.log"
</VirtualHost>
(Observe que estou usando meu hosts
arquivo para apontar para o ServerName).
Devo mencionar que estou vinculando o htdocs
diretório de uma unidade diferente, mas tenho uma configuração muito semelhante em outra máquina Windows que não está enfrentando o mesmo problema.
Como posso corrigi-lo para que htdocs
sempre mostre a listagem de diretórios, mesmo que um subdiretório/host virtual tenha um erro?
Parece que, por padrão, o servidor atende ao site mais alto no arquivo de hosts virtuais ao ir para a
localhost
raiz. A solução foi incluir um host virtual para o próprio diretório root htdocs.httpd-vhosts.conf
:Com isso na parte inferior do meu arquivo de hosts virtuais,
localhost
retorna uma listagem de diretórios, não importa o quê.