Eu quase tive o problema exato que você está tendo. Ele se originou do ServerName padrão (em /etc/apache2/conf.d/servername.conf) e do ServerName em meu arquivo de definição do VirtualHost (/etc/apache2/sites-available/site.com) sendo igual.
Configurando um servidor dev LAMP e desejo permitir subdomínios dinâmicos, também conhecidos como ted.servername.com, bob.servername.com.
Aqui está o meu arquivo de sites ativos
<VirtualHost *:80>
# Admin Email, Server Name, Aliases
ServerAdmin [email protected]
ServerName happyslice.net
ServerAlias *.happyslice.net
# Index file and Document Root
DirectoryIndex index.html
DocumentRoot /home/sysadmin/public_html/happyslice.net/public
# Custom Log file locations
LogLevel warn
ErrorLog /home/sysadmin/public_html/happyslice.net/log/error.log
CustomLog /home/sysadmin/public_html/happyslice.net/log/access.log combined
E aqui está a saída de sudo apache2ctl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server happyslice.net (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost happyslice.net (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost happyslice.net (/etc/apache2/sites-enabled/happyslice.net:5)
Syntax OK
O nome do host do servidor é srv.happyslice.net.
Como você pode ver no apache2ctl quando eu uso o happyslice.net eu recebo o host virtual padrão, quando eu uso um subdomínio, eu recebo o host happyslice.net. Então, o último está funcionando como eu quero, mas o URL principal não.
Eu tentei todos os tipos de variações aqui, mas parece que o ServerName simplesmente não está sendo vinculado ao local correto.
Pensamentos? Estou perplexo. FYI, estou executando o Apache2.1 e o Ubuntu 10.04 LTS
Eu quase tive o problema exato que você está tendo. Ele se originou do ServerName padrão (em /etc/apache2/conf.d/servername.conf) e do ServerName em meu arquivo de definição do VirtualHost (/etc/apache2/sites-available/site.com) sendo igual.
para cada subdomínio, crie um arquivo exatamente como o que você listou acima, exceto apenas forneça o subdomínio como nome do servidor. remova o * .mydomain.com como um alias do servidor. ative os arquivos de configuração no apache e reinicie o apache.
Acredito que o que você está procurando exigirá seções para os nomes de host aos quais você deseja que o servidor responda. O que você configurou atualmente todo o tráfego da porta 80 foi selecionado e apontado para /home/sysadmin/public_html/happyslice.net/public
Tente adicionar uma seção e uma seção com as raízes de documentos apropriadas. Dessa forma, você pode usar faturas e tíquetes para exibir conteúdo diferente do mesmo servidor com a aparência externa de outro servidor.