Gunny Posted March 17, 2010 Share Posted March 17, 2010 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 comment Share on other sites More sharing options...
commy Posted March 28, 2010 Share Posted March 28, 2010 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 comment Share on other sites More sharing options...
threadfire Posted June 6, 2011 Share Posted June 6, 2011 Ist das inzwischen mit Froxlor m?glich? Wenn ja, gibt es irgendwo dazu ein How To? Link to comment Share on other sites More sharing options...
d00p Posted June 6, 2011 Share Posted June 6, 2011 Kein Howto, noch nicht als Option in den Einstellungen, aber hier der aktuelle "Fix" -> http://forum.froxlor.org/index.php?/topic/526-immutable-dateien-bei-fcgi/page__view__findpost__p__3013 Link to comment Share on other sites More sharing options...
stachi Posted March 30, 2010 Share Posted March 30, 2010 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 comment Share on other sites More sharing options...
Gunny Posted March 30, 2010 Author Share Posted March 30, 2010 Also die Prozesse werden sauber beendet. Es laufen nur aktive php-cgi Prozesse, aber sie laufen halt durchweg mit dem Webserveruser. Link to comment Share on other sites More sharing options...
commy Posted April 11, 2010 Share Posted April 11, 2010 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 comment Share on other sites More sharing options...
d00p Posted April 11, 2010 Share Posted April 11, 2010 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 comment Share on other sites More sharing options...
commy Posted April 12, 2010 Share Posted April 12, 2010 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 comment Share on other sites More sharing options...
d00p Posted April 12, 2010 Share Posted April 12, 2010 Jop, genauso ist es. Sorry wenn das falsch r?berkam, eventuell hatte ich deine initiale Frage auch zu schnell ?berflogen Link to comment Share on other sites More sharing options...
Dave Posted April 13, 2010 Share Posted April 13, 2010 allerdings unterst?tzt das die derzeitige froxlor version noch nichtW?re es vllt m?glich das in die Roadmap mit hinzuzunehmen? Link to comment Share on other sites More sharing options...
d00p Posted April 13, 2010 Share Posted April 13, 2010 Einfach in den Bugtracker eintragen bitte Link to comment Share on other sites More sharing options...
Eichjoernchen Posted May 7, 2010 Share Posted May 7, 2010 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 comment Share on other sites More sharing options...
Julian Posted March 17, 2010 Share Posted March 17, 2010 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 comment Share on other sites More sharing options...
d00p Posted March 18, 2010 Share Posted March 18, 2010 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 comment Share on other sites More sharing options...
Gunny Posted March 18, 2010 Author Share Posted March 18, 2010 @Julian, du kannst es mir gerne zusenden, ich richte es ein und erstelle dir einen Useraccount zum Testen @d00p zu einfach danke f?r den Hinweis. Link to comment Share on other sites More sharing options...
Gunny Posted March 18, 2010 Author Share Posted March 18, 2010 Schade... ihr setzt wie syscp auf das setzen von Flags per chattr... chattr: Die Operation ist nicht erlaubt beim Setzen der Flags vServer untauglich... ;( Link to comment Share on other sites More sharing options...
d00p Posted March 18, 2010 Share Posted March 18, 2010 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 comment Share on other sites More sharing options...
Gunny Posted March 18, 2010 Author Share Posted March 18, 2010 Hab ich grad selber schon gesetzt trotzdem Danke Aber was ist das nun? Nachtrag: vergesst einfach was hier stand. Danke kopf -> tisch Link to comment Share on other sites More sharing options...
d00p Posted March 18, 2010 Share Posted March 18, 2010 existiert der ordner? Wenn ja, versuch die ordnerangabe mit trailing slash, also /etc/lighttpd/php-fcgi-scripts/ Link to comment Share on other sites More sharing options...
Gunny Posted March 18, 2010 Author Share Posted March 18, 2010 ne liegt daran das die Voraussetzung f?r das Feld min. /var/www sein muss... Link to comment Share on other sites More sharing options...
d00p Posted March 18, 2010 Share Posted March 18, 2010 Das ist leider so bei nicht-selbst-kompiliertem suexec ja :/ Link to comment Share on other sites More sharing options...
Gunny Posted March 18, 2010 Author Share Posted March 18, 2010 F?r eine Massenl?sung muss es dann halt so sein, nicht die sch?nste L?sung da /var/www von Haus aus von draussen ja aufrufbar ist, aber naja, was will man machen. Link to comment Share on other sites More sharing options...
Question
Gunny
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 comment
Share on other sites
22 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.