用于共同托管 mod_python 和基于 php 的应用程序的 apache 配置

用于共同托管 mod_python 和基于 php 的应用程序的 apache 配置

我已安装 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>

这样,基于 php 的应用程序 vtiger 就可以正常工作,当然 django 应用程序无法访问。如何让两者共存于一个文件中。我无法使用虚拟主机/子域。我可以使用不同的端口,但不行。

大家有什么线索吗?

问候 Ankur Gupta

答案1

我有一个类似的设置。根目录由运行 trac 实例的 mod_python 处理,/docs 由使用 php 的 dokuwiki 处理。

使其工作的唯一方法是使用一个LocationMatch我必须否定的指令,因为 trac 使用了相当多的伪目录:

<LocationMatch "^/(?!docs)">
    SetHandler mod_python
</LocationMatch>

相关内容