Adicionando um site do Django quebra meus hosts virtuais no CentOS 7

0

Eu tenho um servidor CentOS 7 com cerca de 20 domínios gerenciados automaticamente com um arquivo vhosts em /etc/httpd/conf.d.

Eu estou tentando aprender Django e queria configurar um único domínio usando-o, então eu adicionei um virtualhost específico ao arquivo .conf.

O resultado é que o domínio Django funciona bem, mas todos os outros sites estão quebrados (tente usar o Django, mas cause erros).

O domínio do Django tem duas pastas: djangodomain.com para arquivos estáticos e djangodomain.app para os arquivos Python.

Como posso integrar um único domínio do Django em minha configuração de host virtual de muitos domínios existente?

Vhosts.conf existente:

<VirtualHost *:80>
    serveradmin [email protected]
    serveradmin [email protected]

    usecanonicalname off

    # www.site.com » site.com
    rewriteengine on
    rewritecond %{HTTP_HOST}    ^www\.(.*)$ [nc]
    rewriterule ^(.*)$          http://%1   [r=301,l]

    # file locations
    virtualdocumentroot "/home/username/%0"

    <directory "/home/username/*">
        allowoverride all
        require all granted
        options indexes followsymlinks
        options +execcgi
        options +includes
    </directory>
</VirtualHost>

O que eu adicionei que quebrou tudo menos o site do Django:

<VirtualHost djangodomain.com:80>
    ServerName djangodomain.com
    ServerAlias www.djangodomain.com
    ServerAdmin [email protected]

    DocumentRoot /home/username/djangodomain.com

    WSGIScriptAlias / /home/username/djangodomain.app/django.wsgi

    <Directory /home/username/djangodomain.app>
        Order allow,deny
        Allow from all
    </Directory>

    Alias /robots.txt /home/username/djangodomain.com/robots.txt
    Alias /favicon.ico /home/username/djangodomain.com/favicon.ico
    Alias /images /home/username/djangodomain.com/images
    Alias /static /home/username/djangodomain.com/static

    ErrorLog /home/username/djangodomain.logs/error.log
    CustomLog /home/username/djangodomain.logs/access.log combined
</VirtualHost>

[atualização: problema resolvido] Postado para Troca de pilha

    
por Andrew Swift 21.10.2016 / 21:00

1 resposta

0

Não é possível combinar um VirtualHost no mesmo endereço IP e porta sem as configurações ServerName ou ServerAlias , com uma que não as tenha. Você pode executar apachectl -S para ver o que o Apache realmente pensa sobre essa configuração.

Supondo que você conheça todos os 20 nomes de domínio usados para acessar seu host virtual padrão, a solução é simplesmente listar todos eles usando ServerName / ServerAlias . Se você não fizer isso, então você pode, e. sequestrar o novo para um endereço IP e / ou porta diferente.

    
por 22.10.2016 / 20:12