Error 500 nach Umstellung auf FastCGI

  • Hi Leute,


    nach der Umstellung von mod_php auf FastCGI in einem bestehenden Hosting wirft der Apache einen Error 500. Im error.log finde ich:

    Code
    [Wed Jul 15 14:01:03.072206 2015] [fcgid:warn] [pid 12989] (104)Connection reset by peer: [client 146.148.21.67:58847] mod_fcgid: error reading data from FastCGI server
    [Wed Jul 15 14:01:03.072238 2015] [core:error] [pid 12989] [client 146.148.21.67:58847] End of script output before headers: index.php


    Stelle ich es wieder zurück auf mod_php läuft alles problemlos, aber der WordPress-Auto-Update funktioniert nicht mehr (davon abgesehen, dass ich FastCGI für besser halte).


    Ideen? Bug im LC?

  • Okay, ich hab den Fehler gefunden. Im Ordner /var/www/web1/conf/php5 existierte eine Datei 'php-fcgi-starter' die mit chattr +i selbst von root nicht zu löschen war.


    Mit chattr -i das Bit gelöscht und danach mit rm php-fcgi-starter die Datei gelöscht. Wieder auf FastCGI umgestellt und siehe da: es läuft.


    Grüße,
    Dominic

  • Hallo, habe das selbe Problem. Leider hilft das umschalten auf suphp zurück, anschließend chattr -i php-fcgi-starter + löschen dieser Datei und anschließend wieder fastcgi aktivieren nicht. Getestet bei einem Reselleraccount als auch bei einem eigenen Account.


    Hat jmd. eine Idee?


    MfG

  • nachtrag, hab den Fehler gefunden. Es liegt daran, dass bei einer Umstellung eines vorhandenen Vertrages die Rechte von conf/PHP5 anders sind als bei fastCGI Verträgen die neu erstellt werden.


    conf muss haben: Besitzer: www-data und gruppe: user(id)
    PHP5 muss haben: Besitzer: user(id) und gruppe user(id)
    dann klappt es auch mit fastcgi.


    Werde es gleich mal an LiveConfig senden, denn das sollte LC ja beim umstellen automatisiert machen.

  • Ich muss das Thema auch noch einmal hochholen. In Vorbereitung eines Betriebssystemupgrades habe ich alle Verträge von suphp auf fastcgi umgestellt:


    Dazu habe ich in der LC-Datenbank die entsprechenden Werte in HOSTINGPLANS und HOSTINGCONTRACTS geändert:
    mysql -u<USERNAME> -p<PASSWORT> -B -N -e "UPDATE LIVECONFIG.HOSTINGPLANS SET HP_PHP=2;"
    mysql -u<USERNAME> -p<PASSWORT> -B -N -e "UPDATE LIVECONFIG.HOSTINGCONTRACTS SET HC_PHP=2;"
    mysql -u<USERNAME> -p<PASSWORT> -B -N -e "UPDATE LIVECONFIG.HOSTINGCONTRACTS SET HC_REFRESHCFG=1;"
    Danach mit einem beherzten service liveconfig restart die Änderungen durchschreiben lassen und die vhosts neu erstellt.


    Danach hatte ich genau das beschriebene Problem, dass der Indianer bei einigen Kunden plötzlich 500er feuerte mit Log-Einträgen:
    (104)connection reset by peer: mod_fcgid: error reading data from fastcgi server
    Premature end of script headers ... index.php


    Die Ursache lage letztlich darin, dass die php-ini-Verzeichnisse unter /var/www/<vertrag>/conf falsche Rechte hatten. Das aber auch nicht durchgehend: einige hatten 0777er Rechte, andere die korrekten 0555er Rechte. Dazu kam, dass bei einigen dieser Verzeichnisse das immutable flag gesetzt war, bei anderen nicht. Alles sehr verworren, zumal ich dort händisch nie eingegriffen habe, sondern LiveConfig immer ganz normal upgegraded habe. Die Lösung war letztlich das immutable flag durchgehend zu entfernen und die Rechte neu zu setzen:


    chattr -i /var/www/*/conf/php5
    chattr -i /var/www/*/conf/php53
    chattr -i /var/www/*/conf/php55
    chattr -i /var/www/*/conf/php56
    chattr -i /var/www/*/conf/php70
    chattr -i /var/www/*/conf/php71
    chattr -i /var/www/*/conf/php72
    chmod 0555 /var/www/*/conf/php53
    chmod 0555 /var/www/*/conf/php55
    chmod 0555 /var/www/*/conf/php56
    chmod 0555 /var/www/*/conf/php70
    chmod 0555 /var/www/*/conf/php71
    chmod 0555 /var/www/*/conf/php72
    service liveconfig restart

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!