Beratung über beste Zusammenstellung von httpd + php-fcgi

Apache, Lighttpd, nginx, Cherokee
trasric
Posts: 8
Joined: 2007-09-07 11:00

Beratung über beste Zusammenstellung von httpd + php-fcgi

Post by trasric » 2008-11-24 09:20

Guten Morgen allerseits,

wir möchten auf unserem Hosting Server von unserer unkonventionellen Methode mehrere PHP-Versionen anbieten zu können auf die wesentlich einfachere Variante mit php-fcgi wechseln.

Derzeit sieht es bei uns so aus, dass wir verschiedene Apache-Instanzen kompiliert haben und darauf dann eben über mod_phpX PHP-Bestandteile fest eingebaut sind. Das dies wenig effektiv ist, brauch hier auch nicht weiter erörtert werden, deswegen ja auch der Schritt zu php-fcgi :-)

Nun stellt sich bei uns die Frage welche Zusammenstellung da am geeignetsten ist. Dazu benötigt Ihr jedoch denke ich ein paar Info's zu unserem Aufbau:

  • 3x Apache 2.2.x ( 1x installiert für php4, 1x für httpd5, 1x für das Administrationsinterface )
  • jeweils php als mod_php in den verschiedenen Versionen installiert
  • Eigenes Webinterface, welches über PHP + Cronscripte Virtuelle Hosts anlegt und einpflegt sowie Analysen erstellt
In den jeweiligen virtuellen Hosts sind folgende für uns wichtige Bedingungen zu erfüllen, die bis jetzt wie folgt erfüllt werden:
  • php_admin_value open_basedir $pfadzumbenutzerverzeichnis:/usr/local/lib/php:/tmp
  • php_admin_value upload_tmp_dir $pfadzumbenutzerverzeichnis/php_temp
  • php_admin_value session.save_path $pfadzumbenutzerverzeichnis/php_session

Wenn man auf php-fcgi umsteigt, sind diese Varianten in einem virtuellen Host nicht mehr möglich, das weiß ich. Nun ist die Frage wie man das am besten organisiert. Wir hatten die Vorstellung möglichst wenige Wrapper zur Verfügung zu stellen. Falls das eine schlechte Idee ist, so bitte ich das direkt zu vermerken O:) Grund warum wir uns vorgestellt haben möglichst wenig Wrapper zu benutzen ist die relativ aufwendige Methode diese zu erstellen ( immutable Bit usw. ).

Jetzt habe ich nach einigen Recherchen im Internet folgende Varianten heraus gefunden um das Problem mit den php_admin_values auszumerzen
  • Verschiedene php.ini + wrapper: Optionen fest in der .ini verankern, jedoch viele Konfigdateien die schlichtweg überflüssig sind
  • Apache + mod_chroot: Auf "höherer Ebene" Beschränkungen setzen. Doch wie sieht es dann aus zB. bei Verwendung von /usr/sbin/sendmail ?
  • Verwendung von lighttpd + php-fcgi + lighttpd eigener Chroot Umgebung. Soll wohl besser gehen
  • Verwendung von PECL Paket: htscanner und dann aufbau von eigener .htaccess Struktur

Am liebsten wäre uns eine Möglichkeit die php_admin_values quasi dynamisch im Wrapper erzeugen, da der Wrapper im Prinzip nichts anderes ist als ein Shellscript. Hat da wer schon Erfahrung?

Sollte das nicht möglich sein, so bitte ich um Meinungen und Erfahrungsberichte bzw. um Beratung.

Sollte etwas unklar sein, so sagt das bitte.

Vielen Dank im Voraus:

Trasric

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: Beratung über beste Zusammenstellung von httpd + php-fcgi

Post by cirox » 2008-11-24 10:10

Ich habe hier PHP in verschiedenen Versionen mit mod_fcgid aus unstable debian am laufen mit der extension htscanner, welche wiederum komplett in PHP5.3 einfließt. Das läuft recht gut. mod_chroot würde ich Dir dringenst empfehlen. Das mit sendmail kannst Du in der chrooted Umgebung lösen. Du kannst so ne Art min_sendmail in der chroot Umgebung mit den Libraries installieren.

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Beratung über beste Zusammenstellung von httpd + php-fcgi

Post by oxygen » 2008-11-24 10:42

Ich würde davon absehen, mehrere PHP Versionen anzubieten. Also meiner Erfahrung nach tuts die aktuelle Version doch in 99% der Fälle perfekt. Der Aufwand ist es nicht Wert.

trasric
Posts: 8
Joined: 2007-09-07 11:00

Re: Beratung über beste Zusammenstellung von httpd + php-fcgi

Post by trasric » 2008-11-24 16:26

Mehrere/spezifische PHP-Versionen sollen schon angeboten werden.

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: Beratung über beste Zusammenstellung von httpd + php-fcgi

Post by daemotron » 2008-11-24 16:53

Also ich würde mir schon überlegen, ob ich wirklich mit einer (geschäftlich?) genutzten Plattform auf FastCGI wechseln wollte. Die Vorteile, die FastCGI bietet, sind neben der pro VHost einstellbaren PHP-Version auch die frei konfigurierbare php.ini sowie die Verwendung unterschiedlicher UIDs für die FastCGI-Prozesse. Allerdings kann man diese Vorteile nur nutzen, wenn man pro VHost tatsächlich einen Wrapper und eine php.ini anlegt, dazu jeweils einen Linux-Benutzer. Außerdem muss pro VHost dann immer mindestens ein FastCGI-Prozess laufen, was das System je nach Anzahl Kunden mit Idle-Prozessen zuknallt. Der Verwaltungsaufwand ist also nicht ganz unerheblich; hinzu kommt, dass alle derzeit existierenden FastCGI-Implementierungen (leider) immer noch nicht 100% stabil sind und bei hoher Last zu 500er Fehlern neigen.

Deswegen würde ich sagen: Überschaubare Anzahl VHosts + eher gemächliche Auslastung => FastCGI, aber konsequent mit eigenem Wrapper, User, php.ini pro virtuellem Host. Bei einer sehr großen Anzahl User mit eher geringer Last (typisches Shared Hosting Szenario) würde ich PHP als CGI laufen lassen. Das ist bei individuellen Usern (suphp) sicher und stabil. Wenn Kunden wirklich Anwendungen und Besucherzahlen haben, bei denen das nicht reicht, kannst Du ihnen ja einen Premium-Account anbieten, d. h. eigener Apache mit mod_php in einem Jail.

cirox
Posts: 212
Joined: 2006-05-08 23:20
Location: Berlin

Re: Beratung über beste Zusammenstellung von httpd + php-fcgi

Post by cirox » 2008-11-24 16:53

Hier hättest Du meine funktionierende config.

http://www.rootforum.org/forum/view ... gi#p304829

trasric
Posts: 8
Joined: 2007-09-07 11:00

Re: Beratung über beste Zusammenstellung von httpd + php-fcgi

Post by trasric » 2008-11-25 10:33

Dann schon einmal Danke für die verschiedenen Anregungen / Tipps / Meinungen. Denke, das hat bei der Entscheidungsfindung geholfen.

Cheers,

Trasric