Plesk und FastCGI

    • Offizieller Beitrag

    Die Vorteile von FastCGI brauchen ja denke ich nicht erläutert werden....performante und ressourcenschonende PHP-Verarbeitung und mehr Sicherheit bei Shared Servern als Stichworte dürften reichen.

    In Plesk ab Version 9.0 kann ja PHP auch als FastCGI Applikation laufen. Nur kann dann der PHP safe_mode, obwohl es in den Pleskeinstellungen dieses Option-Kästchen gibt, nicht mehr umgeschalten werden. Die Configurationen in der conf der Webs mit der vhost.conf funktionieren auch nicht mehr.

    Ich habe das nachfolgend gelöst und damit auch jeder Domain eine eigene php.ini verpasst. Pfade gelten für Debian Lenny und Plesk 9.5.2.

    1. auf der Kommandozeile die UID des FTP Benutzer (loginname) der Webs finden

    Dazu id ftpbenutzer eingeben. Für ftpbenutzer den Namen der jeweiligen FTP Benutzer des Webs eingeben. Die UID, z.Bsp. 10001 notieren


    2. Im Ordner /etc/ habe ich mir einen neuen Ordner /phpwebs/ angelegt
    3. In diesen neuen Ordner die bestehende php.ini von /etc/php5/cgi/ kopieren
    4. Diese php.ini in php-10001.ini umbenennen bzw. mit der ermittelten UID
    5. Die cgi_wrapper Datei in /var/www/cgi-bin/cgi-wrapper/ ändern mit folgenden Inhalt:

    #!/bin/sh
    PHPRC="/etc/phpwebs/php-${UID}.ini"
    [ -f ${PHPRC} ] || PHPRC="/etc/php.ini"
    export PHPRC
    exec /usr/bin/php-cgi

    6. Plesk neukonfigurieren mit /usr/local/psa/admin/bin/websrvmng -a -v
    7. Apache neustarten /etc/init.d/apache2 reload
    8. Für jedes Web eine eigene php.ini wie in Punkt 4 mit der ermittelten UID anlegen
    9. Die vhost.conf im Ordner conf der Webs kann gelöscht werden.
    10. Die Einstellungen der Direktiven für jedes Web getrennt wird nun im Ordner /phpwebs/ in der jeweiligen php.ini geändert.