Froxlor und FCGID

  • Hallo,


    ich versuche derzeit FCGID nach dieser Anleitung unter Froxlor einzurichten.
    Die Besitzrechte sind schon richtig, aber via Webformular kann immernoch keine Datei hochgeladen werden.


    Das Froxlorbackend ist auch nicht verfügbar, weil die datei /lib/userdata.inc.php nicht durch den Webserver beschreibbar ist. Auf www-data gestellt, geht es dann kurz (vermutlich bis zum nächsten cronjobdurchlauf).


    Unser Schimmelmann hat noch folgendes in Erfahrung gebracht: http://forum.froxlor.org/index…bt-beim-setzen-der-flags/
    Diese Zeilen habe ich ebenfalls auskommentiert.


    Nun ist es so, dass wenn ich etwas via Webformular hochladen möchte, keine schreibrechte vorhanden sind.
    ps aux zeigt nur www-data prozesse, aber keine unter den jeweiligen Webnutzern an.


    suexec.log:

    Code
    [2012-11-03 19:04:32]: uid: (10001/mainboarder) gid: (10001/mainboarder) cmd: php-fcgi-starter
    [2012-11-03 19:04:32]: command not in docroot (/var/www/php-fcgi-scripts/mainboarder/mainboarder.de/php-fcgi-starter)
    [2012-11-03 19:04:46]: uid: (10001/mainboarder) gid: (10001/mainboarder) cmd: php-fcgi-starter
    [2012-11-03 19:04:46]: command not in docroot (/var/www/php-fcgi-scripts/mainboarder/mainboarder.de/php-fcgi-starter)
    [2012-11-03 19:05:41]: uid: (10001/mainboarder) gid: (10001/mainboarder) cmd: php-fcgi-starter


    Hilfe! :S

  • Wo liegen die Home Verzeichnisse (docroots) der User? Diese müssen sich in /var/www/ bzw. entsprechenden Unterordnern befinden. Siehe dazu den Befehl "suexec2 -v".


    Wenn die Userverzeichnisse woanders als /var/www sollten Sie sich das Paket "apache2-suexec-custom" einmal näher ansehen.

  • So, das hab ich mal gemacht.


    Suexec.log schaut immernoch so aus:


    Code
    [2012-11-05 20:53:20]: uid: (10001/mainboarder) gid: (10001/mainboarder) cmd: php-fcgi-starter
    [2012-11-05 20:53:20]: command not in docroot (/var/www/php-fcgi-scripts/mainboarder/mainboarder.de/php-fcgi-starter)
    [2012-11-05 20:53:27]: uid: (10001/mainboarder) gid: (10001/mainboarder) cmd: php-fcgi-starter
    [2012-11-05 20:53:27]: command not in docroot (/var/www/php-fcgi-scripts/mainboarder/mainboarder.de/php-fcgi-starter)
    [2012-11-05 20:53:53]: uid: (10001/mainboarder) gid: (10001/mainboarder) cmd: php-fcgi-starter
    [2012-11-05 20:53:53]: command not in docroot (/var/www/php-fcgi-scripts/mainboarder/mainboarder.de/php-fcgi-starter)
    [2012-11-05 20:53:54]: uid: (10001/mainboarder) gid: (10001/mainboarder) cmd: php-fcgi-starter
    [2012-11-05 20:53:54]: command not in docroot (/var/www/php-fcgi-scripts/mainboarder/mainboarder.de/php-fcgi-starter)


    /usr/lib/apache2/suexec -v (debian) sagt:
    suexec policy violation: see suexec log for more details



    Ich glaube es liegt an der wrappereinbindung in den vhosts... als scriptalias gehts. als fcgi wrapper bekomm ich den 500-er fehler mit obigen log einträgen.


    AP_DOC_ROOT hab ich aufgrund der suexec-custom nicht mehr, aber unter /etc/apache2/suexec/www-data eingetragen als /var/customers/webs


    ... für weitere hilfe immer offen ;(

  • P.S.: Mit "als scriptalias gehts" meine ich, dass es da keine Fehler gibt. Allerdings läuft Apache dann weiterhin nur als www-data mit den einzelnen Prozessen für die Seiten.
    Das behebt das Problem mit den Zugriffsrechten auf Dateien nicht.

  • Hab es jetzt mal wie folgt versucht:


    die php-fcgi-scripts nach /var/customers verschoben.


    Apache startet jetzt die Prozesse im Namen der Nutzer (bei mir ist es die userid, bei einer anderen seite der name?!)


    Die Seiten geben wieder einen 500-er fehler, diesmal zeigt das aber chrome von sich aus an. eine website vom server erscheint nicht.


    suexec.log jetzt

    Code
    [2012-11-06 10:30:12]: uid: (100XX/mainboarder) gid: (100XX/mainboarder) cmd: php-fcgi-starter
    [2012-11-06 10:33:06]: uid: (100XX/name) gid: (100XX/name) cmd: php-fcgi-starter


    error.log jetzt

    Code
    [Tue Nov 06 10:34:55 2012] [notice] caught SIGTERM, shutting down
    [Tue Nov 06 10:34:56 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
    [Tue Nov 06 10:34:56 2012] [notice] Apache/2.2.16 (Debian) mod_fcgid/2.3.6 PHP/5.3.3-7+squeeze14 with Suhosin-Patch configured -- resuming normal operations
    [Tue Nov 06 10:35:11 2012] [notice] caught SIGTERM, shutting down
  • So, jetzt läufts endlich.


    Endfehler war, dass ein PHP Skript zuviel Speicher ziehen wollte und mit einem 500-er quittiert wurde.
    Eine PHP Meldung kam da nicht. (Display Errors Off war standard)


    Apache in den Debug Modus geschalten und geschaut.


    Speicher erhöht und jetzt läuft es.


    </debug>