2013-05-06 2 views
0

Я пытаюсь создать небольшой сайт django и использовать iRedMail для электронной почты. Сначала я установил iRedMail и гарантировал, что он сработает. Я мог бы пойти как на www.domain.com/iredadmin, так и на www.domain.com/mail и работать отлично. Следующим шагом было установить мой сайт django и настроить Apache. К сожалению, это привело к тому, что мой сайт django попытался обработать/mail/и/iredadmin /. Я общался с конфигурацией в течение нескольких часов и не знаю, что делать. Вот настройки:Использование iRedMail с сайтом django на том же сервере

apache2.conf:

# Defaults... 

WSGIPythonPath /path/to/website.com/website 

сайтов с поддержкой/website.com:

<VirtualHost *:80> 
    ServerName website.in 
    ServerAlias www.website.in 
    ErrorLog ${APACHE_LOG_DIR}/error.log 

    Alias /static /path/to/website.com/website/static 
    Alias /media /path/to/website.com/website/media 
    Alias /mail /usr/share/apache2/roundcubemail/ 
    Alias /admin /usr/share/apache2/iredadmin/ 


    <Directory /usr/share/apache2/roundcubemail/> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    WSGIScriptAlias//path/to/website.com/website/website.wsgi 

    <Location "/"> 
      SetHandler python-program 
      PythonHandler django.core.handlers.modpython 
      SetEnv DJANGO_SETTINGS_MODULE website.settings 
      PythonDebug Off 
      PythonPath "['/path/to/website.com/website/']+sys.path" 
    </Location> 

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

    <Directory /path/to/website.com/website/static> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    <Location /static/> 
     SetHandler None 
    </Location> 

    <Directory /path/to/website.com/website/media> 
     Order allow,deny 
     Allow from all 
    </Directory> 

    <Location /media/> 
     SetHandler None 
    </Location> 

</VirtualHost> 

Сайт Джанго показывает хорошо, хотя я получаю внутренние ошибки сервера.

ответ

0

Вы пытаетесь использовать mod_wsgi и mod_python для обработки сайта Django одновременно с mod_python, переопределяющим mod_wsgi. Выберите один из другого. Поскольку mod_python больше не разрабатывается и не поддерживается, а поддержка его в Django не рекомендуется, возможно, это не очень хороший вариант для ее использования.

Следующая вещь, которая является неправильным является:

Alias /mail /usr/share/apache2/roundcubemail/ 
Alias /admin /usr/share/apache2/iredadmin/ 

Снимите слешей:

Alias /mail /usr/share/apache2/roundcubemail 
Alias /admin /usr/share/apache2/iredadmin 

Даже тогда он будет по-прежнему не работает, потому что при использовании mod_python вы должны сказать mod_python не обрабатывать эти пути.

<Location /mail/> 
    SetHandler None 
</Location> 

<Location /admin/> 
    SetHandler None 
</Location> 

Еще одна проблема, вы можете иметь то, что/администратор обычно используется для интерфейса администратора Django и переопределении что.

Смежные вопросы