2009-08-06 7 views
0

Ich habe Django + Python + Apache2 + Mod_python installiert gehostet und arbeitet auf Ubuntu Server/Linux VPS. php5 ist installiert und konfiguriert. Wir haben keinen Domain-Namen wie in example.com. Nur IP-Adresse. So sieht meine Apache Conf-Datei wie dieseWie co Gastgeber Django App mit PHP5 auf Apache2 mit mod_python?

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> 

Ich möchte vtiger installieren, so, wenn ich meine Conf-Datei ändern, wie etwa diese

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

Auf diese Weise vtiger die php-basierte App funktioniert gut und natürlich Django App ist nicht zugänglich. Wie stelle ich beide nebeneinander in einer Datei zusammen? Ich kann keine virtuellen Hosts/Subdomains verwenden. Ich kann mit einem Unterschied nein tun.

Irgendwelche Hinweise Jungs?

Grüße Ankur Gupta

Antwort

1

Ich brauche es zu testen, aber dies sollte Ihr Django Projekt/mysite zum Laufen bringen /:

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

Auch die preferred way to host Django apps is with mod_wsgi.

+0

Das habe ich gemacht. –

+0

Allerdings möchte ich Django App auf root und nicht/mysite hosten. Wenn ich das tue, werden/vtiger URLs auch auf die Django App umgeleitet. –

+0

Sie können wahrscheinlich nur mit mod_wsgi erreichen, was Sie wollen, da Apache/mod_wsgi bei richtiger Konfiguration statischen Ressourcen den Vorzug geben kann, selbst wenn die Python-Webanwendung im Stammverzeichnis der Website installiert ist. Dies mit mod_python zu tun wäre viel schwieriger und/oder unmöglich. Wenn du glücklich bist, zu mod_wsgi zu wechseln, kannst du eine Erklärung als Antwort geben und darauf hinweisen, wo in der Dokumentation über diese Art von Setup gesprochen wird. –