Estou tentando configurar o Apache como um servidor da Web em rede e estou usando o recurso de sites disponíveis / sites ativados, em vez de apenas arquivos vhost estáticos. Eu configurei um par de VirtualHosts, todos com um DocumentRoot exclusivo, no entanto, a solicitação para todos os VirtualHosts apenas serve o "Está funcionando!" arquivo padrão. Eu não posso para a vida de mim descobrir por que não vai servir o conteúdo do diretório correto. Aqui está o conteúdo dos arquivos da diretriz virtualhost, me avise se eu precisar postar mais.
default
(observe que o apache renomeia isso para 000-default
nos sites ativados, por isso não é um problema de compra)
NameVirtualHost *:80
ServerName emp
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName emp
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options 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 /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/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>
billmed
<VirtualHost *:80>
ServerName billmed.emp
ServerRoot /home/empression/Projects/billmed/web/httpdocs
<Directory "/home/empression/Projects/billmed/web/httpdocs">
Order Allow,Deny
Allow from All
</Directory>
</VirtualHost>
Observe que eu tenho zonas DNS para emp
e billmed.emp
, além de entradas em / etc / hosts. Meu objetivo final é configurar essa máquina como um servidor da Web interno com um tld personalizado (emp), mas o progresso foi muito lento.
Mais algumas informações
/etc/hosts
entradas
#custom-sites
192.168.1.100 emp
192.168.1.100 billmed.emp
ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
#NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
ls -l sites-enabled
empression@empression-server1:/etc/apache2/sites-available$ ls -l ../sites-enabled/
total 0
lrwxrwxrwx 1 root root 26 2010-05-22 12:36 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 26 2010-05-22 13:33 billmed -> ../sites-available/billmed
Atualização 2010-06-16
Eu não pude trabalhar nisso por algumas semanas, mas tentei todas as soluções postadas abaixo a partir de agora, e ainda não consegui corrigir o problema, então adicionei uma recompensa.
Atualizar
Aqui está a saída de apache2ctl -t -D DUMP_VHOSTS
empression@empression-server1:~$ apache2ctl -t -D DUMP_VHOSTS
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Mon Jul 12 14:29:01 2010] [warn] NameVirtualHost 127.0.0.1:80 has no VirtualHosts
VirtualHost configuration:
192.168.1.100:80 is a NameVirtualHost
default server billmed.emp (/etc/apache2/sites-enabled/billmed:1)
port 80 namevhost billmed.emp (/etc/apache2/sites-enabled/billmed:1)
Syntax OK