ServerName não funciona no Apache2 e no Ubuntu

4

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

    
por CreativeNotice 23.05.2010 / 23:03

3 respostas

3

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.

    
por 24.07.2010 / 23:04
1

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.

    
por 01.08.2011 / 19:45
0

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.

link

    
por 23.06.2010 / 20:14