如何使用mod_python在apache2上与php5共同主持django应用程序?

时间:2009-08-06 14:27:05

标签: php python django apache mod-python

我安装了django + python + apache2 + mod_python托管并在ubuntu服务器/ linode VPS上工作。 php5已安装并配置完毕。我们没有example.com中的域名。只是IP地址。所以我的apache .conf文件看起来像这样

        ServerAdmin webmaster @ localhost         DocumentRoot / var / 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应用程序无法访问。如何在一个文件中共存。我无法使用虚拟主机/子域。我可以用差异端口做你没法。

任何线索的人?

此致 Ankur Gupta

1 个答案:

答案 0 :(得分: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