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