2009-08-06 2 views
0

У меня есть django + python + apache2 + mod_python, установленный и работающий на сервере Ubuntu/linode VPS. php5 установлен и настроен. У нас нет имени домена, как в example.com. Только IP-адрес. Так что мой файл .conf апач выглядит следующим образомКак совместное размещение приложения django с php5 на apache2 с mod_python?

ServerAdmin вебмастера @ lokalny_host DocumentRoot/вар/WWW

<Location "/"> 
      SetHandler python-program 
      PythonHandler django.core.handlers.modpython 
      SetEnv DJANGO_SETTINGS_MODULE mysite.settings 
      PythonOption django.root /mysite 
      PythonPath "['/var/www/djangoprojects',] + sys.path" 
      PythonDebug On 
    </Location> 

Я хочу установить Vtiger так, если я изменить файл .conf как сказать это

<VirtualHost *:80> 
    DocumentRoot /var/www/vtigercrm/ 
    ErrorLog /var/log/apache2/vtiger.error_log 
    CustomLog /var/log/apache2/vtiger.access_log combined 
    <Directory /var/www/vtigercrm> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
    </Directory> 

Таким образом, приложение vtiger php работает отлично, и, конечно, приложение django недоступно. Как сделать оба сосуществования в одном файле. Я не могу использовать виртуальные хосты/поддомены. Я могу сделать с diff-портом, нет.

Любые знакомые?

С уважением Анкур Гупта

ответ

1

Мне нужно, чтобы проверить это, но это должно получить ваш проект Django работает на/MySite /:

<VirtualHost *:80> 
    DocumentRoot /var/www/vtigercrm/ 
    ErrorLog /var/log/apache2/vtiger.error_log 
    CustomLog /var/log/apache2/vtiger.access_log combined 
    <Directory /var/www/vtigercrm> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
    </Directory> 
    <Location "/mysite/"> 
     SetHandler python-program 
     PythonHandler django.core.handlers.modpython 
     SetEnv DJANGO_SETTINGS_MODULE mysite.settings 
     PythonOption django.root /mysite 
     PythonPath "['/var/www/djangoprojects',] + sys.path" 
     PythonDebug On 
    </Location> 
</VirtualHost> 

Кроме того, preferred way to host Django apps is with mod_wsgi.

+0

Это то, что я сделал. –

+0

Однако я хочу разместить приложение django для root, а не/mysite. Если я это сделаю, то URL-адреса vtiger также перенаправляются в приложение django. –

+0

Возможно, вы, возможно, сможете достичь только того, что хотите, с помощью mod_wsgi, так как Apache/mod_wsgi при правильной настройке может отдавать предпочтение статическим ресурсам, даже если веб-приложение Python установлено в корневом каталоге веб-сайта. Сделать это с помощью mod_python было бы намного сложнее и/или невозможно. Если вы счастливы переходить на mod_wsgi, то можете дать объяснение в качестве ответа и указать на то, где в документации он рассказывает об этой настройке. –