Назад | Перейти на главную страницу

Как настроить Apache2 для размещения Django и PHP одновременно в нескольких доменах?

У меня есть VPS (Ubuntu 10.04), на котором размещено несколько доменов, один из которых является веб-приложением CodeIgniter (PHP). Остальные - просто статические веб-сайты, никаких дополнительных языков программирования не требуется.

Ну, я начинаю новый проект и хочу использовать Django. У меня установлен Django, в Apache2 включен mod_wsgi, но когда я сделал первые шаги на документация, похоже, он перезаписал мою существующую конфигурацию Apache2 и предоставил страницу приветствия Django для всех моих доменов. Как должен выглядеть мой файл httpd.conf, чтобы он не занимал все мои домены.

Если вы не хотите, чтобы он монтировался в корне веб-сайта, вы можете подключить его по дополнительному URL-адресу.

WSGIScriptAlias /suburl /path/to/mysite.com/mysite/wsgi.py

В качестве альтернативы, если вы хотите, чтобы он был смонтирован в корне веб-сайта, но чтобы URL-адреса PHP имели приоритет, используйте метод конфигурации AddHandler / mod_rewrite, описанный в:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#The_Apache_Alias_Directive

Это или используйте отдельные VirtualHost и ServerName, как предлагается в другом ответе.

но когда я сделал первые шаги на документация, похоже, он перезаписал мою существующую конфигурацию Apache2 и предоставил страницу приветствия Django для всех моих доменов.

Добавьте его на отдельный виртуальный хост, не добавляйте в основной файл конфигурации (httpd.conf):

<VirtualHost *:80>
    ServerAdmin youremail@domain.com
    DocumentRoot /path/to/mysite.com/mysite
    ServerName django.domain.com

    WSGIScriptAlias / /path/to/mysite.com/mysite/wsgi.py
    WSGIPythonPath /path/to/mysite.com

    <Directory /path/to/mysite.com/mysite>
        <Files wsgi.py>
            Order deny,allow
            Allow from all
        </Files>
    </Directory>
</VirtualHost>