2009-08-06 8 views
0

J'ai django + python + apache2 + mod_python installé hébergé et travaillant sur VPS serveur/linode ubuntu. php5 est installé et configuré. Nous n'avons pas de nom de domaine comme dans example.com. Juste l'adresse IP. Donc, mon fichier apache .conf ressemble à ceComment co-héberger l'application django avec php5 sur apache2 avec mod_python?

webmaster @ Serveur_impression 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> 

Je veux installer vtiger donc si je change mon fichier .conf comme par exemple ce

<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> 

De cette façon vtiger l'application basée sur php fonctionne bien et bien sûr l'application django n'est pas accessible. Comment puis-je faire co-exister les deux dans un fichier. Je ne peux pas utiliser un hôte/sous-domaine virtuel. Je peux faire avec un port diff non tu.

Une idée les gars?

Cordialement Ankur Gupta

Répondre

1

je dois le tester, mais cela devrait obtenir votre projet Django en cours d'exécution à/monsite /:

<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> 

En outre, le preferred way to host Django apps is with mod_wsgi.

+0

C'est ce que j'ai fait. –

+0

Cependant, je veux héberger l'application django sur root et non/mysite. Si je fais cela, alors les URL de/vtiger sont également redirigées vers l'application django. –

+0

Vous ne pouvez probablement réaliser que ce que vous voulez avec mod_wsgi alors, comme Apache/mod_wsgi lorsqu'il est configuré correctement peut donner la préférence aux ressources statiques même lorsque l'application web Python est montée à la racine du site web. Faire cela avec mod_python serait beaucoup plus difficile et/ou impossible. Si vous êtes heureux de passer à mod_wsgi, alors vous pouvez donner des explications en guise de réponse et vous indiquer où dans la documentation il est question de ce type d'installation. –