Apache2, FastCGI, PHP 4/5, OpenXchange und ein Problem

Apache, Lighttpd, nginx, Cherokee
Post Reply
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Apache2, FastCGI, PHP 4/5, OpenXchange und ein Problem

Post by sledge0303 »

Hi,

bin gerade dabei auf dem selbstkompilierten Apache 2.0.55 die Dienste/Anwendungen Openexchange, PHP4+5 und FastCGI zu installieren. Hatte die Frage schon in einem anderen Thread gestellt, aber nicht verständlich genug (sorry)


Um jetzt meine Frage und Problem besser Nachvollziehen zu können, hier die genaue Vorgehensweise bei der Installation und Verhalten der installierten Anwendungen:

Code: Select all

./configure --prefix=/usr/local/apache2 --with-mpm=prefork --enable-rewrite --enable-deflate --enable-vhost-alias --enable-so --enable-suexec --enable-suexec-caller=admin --enable-actions=shared
Ergebnis: Apache2 funzt und die Module sind auch alle dort wo sie hingehören.
Anschließend habe ich OX installiert und liegt ausführbar im Verzeichnis

Code: Select all

/usr/local/apache2/cgi-bin
Ergebnis bis hierher: Openexchange und Apache2 funktionieren fehlerfrei.

Weiter mit PHP/FastCGI. Ich habe zuerst PHP4 und PHP5 kompiliert, anschließend FastCGI und die beiden FCGI-starter.
Ergegbnis: beide CGI sind im Installationsverzeichnis vorhanden, FastCGI Modul in /modules und die FCGI-Starter für PHP 4 und 5 ordnungsgemäß (und geprüft) eingerichtet.

In die httpd folgendes eingetragen:

Code: Select all

LoadModule jk_module modules/mod_jk.so
LoadModule action_module modules/mod_action.so
LoadModule fastcgi_module modules/mod_fastcgi.so

....
....
....

SuexecUserGroup admin admin
...
ScriptAlias /cgi-bin/ /usr/local/apache2/cgi-bin/
<Directory "/usr/local/apache2/cgi-bin/">
AllowOverride None
Options ExecCGI -MultiViews -Indexes
Order allow,deny
Allow from all
</Directory> 
...
...
FastCgiWrapper /usr/local/apache2/bin/suexec
FastCgiServer /usr/local/apache2/cgi-bin/php-fcgi-starter -user admin -group admin
AddHandler php-fastcgi .php
AddHandler php4-fastcgi .php4

<Location /cgi-bin/php-fcgi-starter>
SetHandler fastcgi-script
Options +ExecCGI
</Location>

<Location /cgi-bin/php4-fcgi-starter>
SetHandler fastcgi-script
Options +ExecCGI
</Location>

...
...
Action php-fastcgi /cgi-bin/php-fcgi-starter
Action php4-fastcgi /cgi-bin/php4-fcgi-starter

AddType application/x-httpd-php .php
AddType application/x-httpd-php .php4

...
...
...
#
<IfModule mod_jk.c>
JkWorkersFile /usr/local/apache2/conf/workers.properties
JkLogFile /usr/local/apache2/logs/mod_jk.log
JkLogLevel warn
JkMount /*.jsp localhost
JkMount /servlet/* localhost
JkMount /umin/* localhost
JkMount /examples/* localhost
JkMount /servlet/webdav.contacts* localhost
</IfModule>

Jetzt hab ich folgendes festgestellt, OpenXchange startet, aber die Seite sich nur noch im plain Text Format ohne Icons auf, php Dateien werden aber nicht gestartet! Es erscheint nichts in den Logiles - wenn wenigstens eine 404 oder 500 Fehlermeldung erscheinen würde, wüsste ich wo die Ursache liegen könnte...hmmm
Die angegebenen Pfade stimmen auch!
Was mich nur wundert, wieso hat OX nach der FCGI Installation dermaßen sein nettes outfit verändert. Kann es sein das Javaanwendungen und FastCGI nicht miteinander verträglich sind auf einem Apache - so eine Art Nebenwirkung?
Hoffe mir kann einer einen Hinweis geben was in meiner Config evtl. falsch angelegt sein könnte.
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Apache2, FastCGI, PHP 4/5, OpenXchange und ein Problem

Post by sledge0303 »

Hab mod_fastcgi, mod_jk und Tomcat nochmal neu kompiliert, anschließend die httpd.conf neu geschrieben. Es hat alles wieder gefunzt. Wieso, weshalb, warum und was das Fehlverhalten ausgelöst hat... (noch) keine Ahnung.
Zumal sich, nicht in meinem Posting erwähnt, der Tomcat Connector nicht mehr unter Port 8080 aufrufen liess.
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Apache2, FastCGI, PHP 4/5, OpenXchange und ein Problem

Post by sledge0303 »

Für den Fall das es noch jemanden gibt der OX zusammen mit FastCGI, suexec usw. installieren will:

OX und suexec zusammen vertragen sich offensichtlich nicht. Wir hatten jetzt 48 Stunden diese Konstelation ausgibig getestet und OX brach teilweise unerwartet im laufenden Betrieb mit 500er oder 404er Fehlermeldungen zusammen. PHP hatte immer schön funktioniert. Erst seitdem der suexec Part mit dem Wrapper und SuexecUserGroup auskommentiert wurde läuft alles fehlerfrei ab.

Muss mal nachlesen wie man auch ohne suexec absichern kann, evtl. hat jemand noch einen Tipp oder Hinweis auf Lager(?)

S.
jamiewolf
Posts: 43
Joined: 2003-01-12 05:09
Contact:
 

Re: Apache2, FastCGI, PHP 4/5, OpenXchange und ein Problem

Post by jamiewolf »

sledge0303

Also wenn ich dich recht verstanden habe, dann läuft dein OX Server hier:
Http://domain.tdl/cgi-bin/

so in der vHost trägst du ein, dass php auch im Verzeichnis /cgi-bin liegt.

Ich würde folgendes probieren. Alles was mit php zu tun hat heißt nicht mehr cgi-bin sonder php-bin, dann sollte er auch wieder den Richtigen pfad zum Openexchange Server nehmen.

Wenn du nur das Problem mit den icons hast würde ich auch mal schauen, ob du in den vHost noch das Alias /icons /usr/share/icons drin hast.

Achso, und hast du alle config sachen in der httpd.conf von Apache2 stehen? Warum linkst du nicht z.b. mods-availible/fastcgi.conf nach mods-enabled/fastcgi.conf???
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: Apache2, FastCGI, PHP 4/5, OpenXchange und ein Problem

Post by sledge0303 »

Hallo Jamie,

Ich habe den Apachen selbst kompiliert, d.h. ich habe weder ein /mods-enabled noch /mods/available Verzeichnisse. Beim selbstgebackenen Apachen hast alles in der httpd.conf drinzustehen.

Das mit dem php-cgi kab ich noch nicht ausprobiert, werde das mal bei Gelegenheit machen. Ich weiß nicht ob OX kennst, da es selber keine reine Webanwendung wie egroupware darstellt, OX wird als Binary login.pl gestartet, kann es schon sein dass die gegebenen Ausführungsrechte von suexec negativen Einfluss nehmen.

Jetzt habe ich vorläufig beide PHPs mit FastCGI ohne suexec eingebunden. Handelt sich eh erstmal noch um ein firmeninternes Netzwerk und bis wir an die "Ã?ffentlichkeit" gehen, wird noch ein wenig vergehen und bis dahin wird eine Lösung gefunden werden.

Danke aber für die Idee mit dem php-cgi, manchmal kommt man nicht auf die einfachsten Dinge!
Post Reply