Jump to content
Froxlor Forum
  • 0

froxlor 0.9.3, lighttpd -> PHP ?ber mod_fcgidPHP ?ber mod_fcgid/suexec einbinden


Gunny

Question

Hab jetzt mal zum basteln ein System mit lighttpd eingerichtet um mich damit mal auseinanderzusetzen.

 

PHP rennt als CGI-FCGI und das l?uft soweit nun auch.

 

Die Frage ist allerdings:

 

PHP ?ber mod_fcgid/suexec einbinden

 

Was muss dort beachtet werden wenn jeder User seine eigene Umgebung / php.ini bekommen soll?

 

Die Angaben in Froxlor sind alle wohl nur auf apache ausgelegt bisher.

 

Hat jemand eine solche Konstellation schon zusammengebaut?

Link to post
Share on other sites

22 answers to this question

Recommended Posts

Sorry, wenn ich zwar keine Antwort auf DeineFrage habe, Dich aber mit einer Bitte anschreibe.

Ich m?chte mein Backupscript (funktionierend mit Apache) gerne mal an LighttHttp anpassen lassen. Da Du einen Testserver mit LightHttpd betreibst w?hre daf?r optimal.

 

Ginge das? Antwort w?hre super nett.

Julian

Link to post
Share on other sites

Hi .FitB,

 

ist vielleicht nicht klar dargestellt im Panel, aber f?r lighttpd musst du das nur aktivieren, keine speziellen Einstellungen. Das handled der Cronjob.

 

d00p

Link to post
Share on other sites

Das ist reine Sicherheitsma?nahme, warum das auf einem vServer mit "vollem root zugriff" nicht gehen soll kann ich nicht nachvollziehen,

wenn es anders nicht geht, hier ein kleiner patch:

 

F?r Apache2 (/var/www/froxlor/scripts/jobs/cron_tasks.inc.http.15.apache_fcgid.php)

 

149			if(file_exists($starter_filename))
150			{
151				safe_exec('chattr -i ' . escapeshellarg($starter_filename));
152			}
153
154			$starter_file_handler = fopen($starter_filename, 'w');
155			fwrite($starter_file_handler, $starter_file);
156			fclose($starter_file_handler);
157			safe_exec('chmod 750 ' . escapeshellarg($starter_filename));
158			safe_exec('chown ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($starter_filename));
159			safe_exec('chattr +i ' . escapeshellarg($starter_filename));

 

Zeilen 149 - 152 und 159 entfernen.

 

F?r Lighttpd (/var/www/froxlor/scripts/jobs/cron_tasks.inc.http.25.lighttpd_fcgid.php)

 

173			if(file_exists($starter_filename))
174			{
175				safe_exec('chattr -i ' . escapeshellarg($starter_filename));
176			}
177
178			$starter_file_handler = fopen($starter_filename, 'w');
179			fwrite($starter_file_handler, $starter_file);
180			fclose($starter_file_handler);
181			safe_exec('chmod 750 ' . escapeshellarg($starter_filename));
182			safe_exec('chown ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($starter_filename));
182			safe_exec('chattr +i ' . escapeshellarg($starter_filename));

 

Zeilen 173 - 176 und 182 entfernen.

 

d00p

Link to post
Share on other sites

Hallo Zusammen,

 

erstmal vielen Dank f?r das tolle Projekt, an dem hier geschraubt wird!

 

Ich antworte mal auf diesen Thread, da ich im Augenblick versuche genau dieses ans Laufen zu bekommen und wahrscheinlich derzeit ein Puzzleteil nicht beachtet habe.

 

Ausgangslage ist ein Ubuntu 9.10 mit lighttpd, mod_fcgid, php-cgi. Soweit klappt auch alles. PHP funktioniert, die Webseiten werden angelegt, libnss gibt auf der Shell f?r die entsprechenden Verzeichnisse den korrekten Namen zur?ck. Allerdings scheinen die PHP-Prozesse nicht unter dem entsprechenden Benutzer zu laufen, sondern s?mtlich unter www-data. In den Einstellungen habe ich die Option aktiviert und es wird ja auch fr?her hier im Thread gesagt, dass bei Verwendung von lighttpd damit alles erledigt ist.

 

Kann es sein, dass noch irgendwas installiert werden muss? Ich habe zb. kein suexec auf dem Rechner, muss das irgendwie besorgt werden oder ist das bei lighttod bereits integriert? Mich macht auf stutzig, dass in der VirtualHost-Config keine UID/GID Informationen auftauchen. Ist das so korrekt? Wenn ich zb. in den Domaineinstellungen angebe, dass 4 Prozesse laufen sollen, passiert das nicht. Erst wenn ich manuell in der Config auf Dateiebene das ganze ?ndere, tauchen mehr Prozesse auf, aber alle als www-data... Irgendwas scheint mir noch zu fehlen...

 

Oder 9.10 wird nicht unterst?tzt und ich soll gef?lligst Gentoo oder 8.04 nehmen ;)

 

Edit: Ich habe schon eine Vermutung. Offenbar wird in 9.10 in lighttpd das ganze ?ber ein Script spawn-fcgi erledigt. Also werde ich mich auf 8.04 oder Gentoo st?rzen. Gibt es da eine Distri, die "besser" unterst?tzt wird?

 

 

Gru?,

 

Matthias

Link to post
Share on other sites

Hab hier mit Debian Lenny das gleiche Problem. Die einzelnen Prozesse werden nicht mit dem richtigen User ausgef?hrt sondern alle unter www-data. Au?erdem scheint es so das f?r jeden Kunden beim start von lighttpd 4 Prozesse gestartet werden und die sich auch nicht beenden. Das sieht ab einer gewissen anzahl von Kundnen recht lustig aus und verschlingt eine gro?e menge an RAM.

Schade denn ich wollte gern auf lighttpd umsteigen, aber was nicht ist kann ja noch werden.

Link to post
Share on other sites

Hi!

 

Habe es nun auch mit froxlor 0.9.4 und Ubuntu 8.04 LTS getestet und habe das identische Problem. Die PHP-Prozesse werden als www-data ausgef?hrt. Sind wirklich keine weiteren Arbeiten f?r lighty notwendig? Ich sehe in den Konfigurationsdateien auch keinerlei Benutzerinformationen, geschweige denn ein Wrapper. Das einzige ist die Angabe der Socket-Information, die offenbar benutzerspezifisch ist.

 

Wie sollte es denn funktionieren? Welcher wrapper sollte benutzt werden? Ich lese zb. immer wieder von selbst kompiliertem suexec, habe aber keine Info bekommen, woher man das bekommt zb. Muss suexec installiert werden und erkennt Froxlor das dann automatisch? W?re dann ja schon eine wichtige Info...

 

Gru?,

 

Matthias

Link to post
Share on other sites

lighty nutzt fastcgi und nicht FCGID (mit suexec bei Apache), es ist zwar unter lighty auch m?glich die prozesse unter dem username auszuf?hren, allerdings unterst?tzt das die derzeitige froxlor version noch nicht

Link to post
Share on other sites

Hallo!

 

Dann hatte ich deinen Post 3 hier falsch verstanden... Der Threadstarter hatte nach php/suexec gefragt und deine Antwort:

 

ist vielleicht nicht klar dargestellt im Panel, aber f?r lighttpd musst du das nur aktivieren, keine speziellen Einstellungen. Das handled der Cronjob.

 

Du meintest da aber sicher nur die grunds?tzliche fastcgi-Funktion.

 

Gru?,

 

Matthias

Link to post
Share on other sites

Das ist reine Sicherheitsma?nahme, warum das auf einem vServer mit "vollem root zugriff" nicht gehen soll kann ich nicht nachvollziehen,

wenn es anders nicht geht, hier ein kleiner patch:

 

F?r Apache2 (/var/www/froxlor/scripts/jobs/cron_tasks.inc.http.15.apache_fcgid.php)

 

149			if(file_exists($starter_filename))
150			{
151				safe_exec('chattr -i ' . escapeshellarg($starter_filename));
152			}
153
154			$starter_file_handler = fopen($starter_filename, 'w');
155			fwrite($starter_file_handler, $starter_file);
156			fclose($starter_file_handler);
157			safe_exec('chmod 750 ' . escapeshellarg($starter_filename));
158			safe_exec('chown ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($starter_filename));
159			safe_exec('chattr +i ' . escapeshellarg($starter_filename));

 

Zeilen 149 - 152 und 159 entfernen.

 

F?r Lighttpd (/var/www/froxlor/scripts/jobs/cron_tasks.inc.http.25.lighttpd_fcgid.php)

 

173			if(file_exists($starter_filename))
174			{
175				safe_exec('chattr -i ' . escapeshellarg($starter_filename));
176			}
177
178			$starter_file_handler = fopen($starter_filename, 'w');
179			fwrite($starter_file_handler, $starter_file);
180			fclose($starter_file_handler);
181			safe_exec('chmod 750 ' . escapeshellarg($starter_filename));
182			safe_exec('chown ' . $domain['guid'] . ':' . $domain['guid'] . ' ' . escapeshellarg($starter_filename));
182			safe_exec('chattr +i ' . escapeshellarg($starter_filename));

 

Zeilen 173 - 176 und 182 entfernen.

 

d00p

 

Wollte mal Danke sagen!

Ich hatte heute versucht auf meinem VServer mit Froxlor, fcgi nach einer Anleitung im syscp-wiki zu installieren. Am Schluss klappten zwar die VHost-User ich hatte aber keinen Zugriff mehr auf Froxlor. Die oben vorgeschlagenen ?nderungen brachten dann die L?sung. Dachte schon, dass ich meinen Server neu aufsetzen m?sste.

Gru? J?rn

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...