php-fcgi-starter not in docroot

Dieses Thema im Forum "Allgemein" wurde erstellt von HomerS, 12. Apr. 2016.

  1. HomerS

    HomerS New Member

    Moin zusammen,

    seit gestern bin ich auf der suche nach einer lösung für dieses Problem.
    Vorweg... ich habe in der ispconfig.vhost folgendes auskommentiert, damit das ControlPanel überhaupt öffnet ohne mir einen Fehler 500 anzuzeigen:

    Code:
      <IfModule mod_fcgid.c>
        DocumentRoot /var/www/ispconfig/
    #    SuexecUserGroup ispconfig ispconfig
        <Directory /var/www/ispconfig/>
    
    Gesagt getan... ich bin dann in das CP und habe 2 Seiten erstellt, wobei die 2. überhaupt nicht öffnen möchte sondern mir nur einen 500 an den Kopf haut. Die /var/log/apache2/suexec.log sagt folgendes.
    Ich bin mit meinem Latein am Ende.

    System Debian Jessie

    [2016-04-12 10:34:50]: uid: (10003/ispconfig) gid: (10004/10004) cmd: .php-fcgi-starter
    [2016-04-12 10:34:50]: command .php-fcgi-starter not in docroot (10003)
     
  2. Till

    Till Administrator

    Dann kann es nicht mehr gehen. Denn ohne die Zeile läuft es unter einem falschen User. Füge die zeile mal wieder ein und prüfe dann ob das suexec Modul im apache an ist.
     
  3. Till

    Till Administrator

    Hast Du vielleicht abweichend vom prfect server Tutorial Deine webs woanders hin gelegt als in /var/www oder ist /var/www ein symlink der auf ein anderes verzeichnis verweist?
     
  4. HomerS

    HomerS New Member

    Suexec ist eingeschaltet und der Pfad war vorher auch schon bei /var/www
     
  5. Till

    Till Administrator

    Und welche Anleitung hast Du zur installation verwendet?
     
  6. HomerS

    HomerS New Member

    The Perfect Server - Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)
    howtoforge.com/tutorial/perfect-server-debian-8-jessie-apache-bind-dovecot-ispconfig-3/

    Inzwischen laufen die Seiten, aber wenn ich die Zeile
    SuexecUserGroup ispconfig ispconfig in der ispconfig.vhost
    nicht auskommentiere, läuft das CP nicht bzw. es gibt nur ein
    500 Internal Server Error
     
  7. Till

    Till Administrator

    Das habe ich gestern auch gerade installiert, läuft alles problemlos. Entweder Du hast irgendwo einen Schritt vergessen oder es gibt ein problem mit Deinem Basis System. Du bist auch wirklich von einem frisch installierten minimal debian 8 gestartet? da war vorher kein anderes control panel installiert oder ein LAMP server oder sowas?
     
  8. HomerS

    HomerS New Member

    Frisch war es nicht. Erneutes Installieren des Betriebssystemes kommt auch nicht infrage, da das Teil mehrere Minecraft server laufen hat. Dem das Teil gehört meinte er hätte Plesk drauf gehabt, aber keine Lizens dafür, als habe ich Plesk entfernt mit dem Uninstall script von plesk.

    Wie gesagt, an sich läuft alles ohne Probleme wenn die SuexecUserGroup auskommentiert ist.
     
  9. Till

    Till Administrator

    Dann wird es leider nicht so einfach gehen, Plesk verbiegt das komplette system. Danach läuft kein panel das systempakete von Debain nutzt mehr sauber.

    Das ist aber ein elementarer bestandteil vom apache, das ist für jede website und für ispconfig notwendig, sonst läuft da gernichts und vor allem ist es exterm unsicher ohne suexec.

    Dann müssen wir halt versuchen es weiter zu debuggen wenn Du möchtest. Also erstmal muss suxece wieder an sein. Dann ruf mal ispconfig auf und schau ob Du fehler im apache error.log bekommst oder im suexec.log. wenn nichts im apache error.log drin steht dann kannst Du mal versuchen eine ErrorLog Direktive mit einem eigenen log in den ispconfig.vhost einzubauen, damit wir ras finden was plesk mit suexec angestellt hat so dass es nicht mehr geht.
     
  10. HomerS

    HomerS New Member

    /var/log/apache2/error.log
    Code:
    [Wed Apr 13 11:07:25.736433 2016] [mpm_prefork:notice] [pid 22046] AH00169: caught SIGTERM, shutting down
    [ 2016-04-13 11:07:26.9205 24651/7f9a39e4c740 agents/Watchdog/Main.cpp:538 ]: Options: { 'analytics_log_user' => 'nobody', 'default_group' => 'nogroup', 'default_python' => 'python', 'default_ruby' => '/usr/bin/ruby', 'default_user' => 'nobody', 'log_level' => '0', 'max_pool_size' => '6', 'passenger_root' => '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini', 'passenger_version' => '4.0.53', 'pool_idle_time' => '300', 'temp_dir' => '/tmp', 'union_station_gateway_address' => 'gateway.unionstationapp.com', 'union_station_gateway_port' => '443', 'user_switching' => 'true', 'web_server_passenger_version' => '4.0.53', 'web_server_pid' => '24648', 'web_server_type' => 'apache', 'web_server_worker_gid' => '33', 'web_server_worker_uid' => '33' }
    [ 2016-04-13 11:07:26.9286 24654/7fa1c1f07740 agents/HelperAgent/Main.cpp:650 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.24648/generation-0/request
    [ 2016-04-13 11:07:26.9459 24659/7f6f9d7bb780 agents/LoggingAgent/Main.cpp:321 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.24648/generation-0/logging
    [ 2016-04-13 11:07:26.9461 24651/7f9a39e4c740 agents/Watchdog/Main.cpp:728 ]: All Phusion Passenger agents started!
    [Wed Apr 13 11:07:26.947473 2016] [ssl:warn] [pid 24648] AH01906: MEINE-DOMAIN.de:8080:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    [Wed Apr 13 11:07:26.947555 2016] [ssl:warn] [pid 24648] AH01909: MEINE-DOMAIN.de:8080:0 server certificate does NOT include an ID which matches the server name
    [Wed Apr 13 11:07:26.947766 2016] [suexec:notice] [pid 24648] AH01232: suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
    [Wed Apr 13 11:07:27.013370 2016] [auth_digest:notice] [pid 24671] AH01757: generating secret for digest authentication ...
    [Wed Apr 13 11:07:27.017964 2016] [:notice] [pid 24676] FastCGI: process manager initialized (pid 24676)
    [ 2016-04-13 11:07:27.0238 24678/7f7d5b8ca740 agents/Watchdog/Main.cpp:538 ]: Options: { 'analytics_log_user' => 'nobody', 'default_group' => 'nogroup', 'default_python' => 'python', 'default_ruby' => '/usr/bin/ruby', 'default_user' => 'nobody', 'log_level' => '0', 'max_pool_size' => '6', 'passenger_root' => '/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini', 'passenger_version' => '4.0.53', 'pool_idle_time' => '300', 'temp_dir' => '/tmp', 'union_station_gateway_address' => 'gateway.unionstationapp.com', 'union_station_gateway_port' => '443', 'user_switching' => 'true', 'web_server_passenger_version' => '4.0.53', 'web_server_pid' => '24671', 'web_server_type' => 'apache', 'web_server_worker_gid' => '33', 'web_server_worker_uid' => '33' }
    [ 2016-04-13 11:07:27.0318 24681/7f3bbbab7740 agents/HelperAgent/Main.cpp:650 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.24671/generation-0/request
    [ 2016-04-13 11:07:27.0498 24689/7f4bbd0ca780 agents/LoggingAgent/Main.cpp:321 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.24671/generation-0/logging
    [ 2016-04-13 11:07:27.0502 24678/7f7d5b8ca740 agents/Watchdog/Main.cpp:728 ]: All Phusion Passenger agents started!
    [Wed Apr 13 11:07:27.110706 2016] [ssl:warn] [pid 24671] AH01906: MEINE-DOMAIN.de:8080:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
    [Wed Apr 13 11:07:27.110743 2016] [ssl:warn] [pid 24671] AH01909: MEINE-DOMAIN.de:8080:0 server certificate does NOT include an ID which matches the server name
    [Wed Apr 13 11:07:27.117912 2016] [mpm_prefork:notice] [pid 24671] AH00163: Apache/2.4.10 (Debian) mod_fastcgi/mod_fastcgi-SNAP-0910052141 mod_fcgid/2.3.9 Phusion_Passenger/4.0.53 OpenSSL/1.0.1k configured -- resuming normal operations
    [Wed Apr 13 11:07:27.117971 2016] [core:notice] [pid 24671] AH00094: Command line: '/usr/sbin/apache2'
    [Wed Apr 13 11:07:35.672060 2016] [fcgid:warn] [pid 24698] (104)Connection reset by peer: [client 92.212.35.130:54947] mod_fcgid: error reading data from FastCGI server
    [Wed Apr 13 11:07:35.672153 2016] [core:error] [pid 24698] [client 92.212.35.130:54947] End of script output before headers: index.php
    
    /var/log/apache2/suexec.log
    Code:
    [2016-04-13 11:07:35]: uid: (10003/ispconfig) gid: (10004/10004) cmd: .php-fcgi-starter
    [2016-04-13 11:07:35]: command .php-fcgi-starter not in docroot (10003)
     
  11. Till

    Till Administrator

    Hmm, das docroot eines apache unter debian 8 ist /var/www/, ispconfig liegt unter /var/www/ispconfig/ und auch der php fcgi starter liegt in /var/www/php..., also auch im docroot, die config ist daher ok und konsistent. das einzige was ich mir noch denken kann ist dass plesk den apache ausgetauscht hat so dass er ein falsches docroot hat. Du könntest mal versuchen den apache und suexec neu zu installieren um sicherzustellen dass Du den original apache von debian hast:

    apt-get install --reinstall apache2 apache2.2-common apache2-mpm-prefork apache2-suexec
     
  12. HomerS

    HomerS New Member

    Code:
    #  apt-get install --reinstall apache2 apache2.2-common apache2-mpm-prefork apache2-suexec
    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.
    Statusinformationen werden eingelesen.... Fertig
    Die folgenden NEUEN Pakete werden installiert:
      apache2-suexec
    0 aktualisiert, 1 neu installiert, 3 erneut installiert, 0 zu entfernen und 81 nicht aktualisiert.
    Es müssen noch 0 B von 333 kB an Archiven heruntergeladen werden.
    Nach dieser Operation werden 23,6 kB Plattenplatz zusätzlich benutzt.
    (Lese Datenbank ... 90271 Dateien und Verzeichnisse sind derzeit installiert.)
    Vorbereitung zum Entpacken von .../apache2_2.4.10-10+deb8u4_amd64.deb ...
    Entpacken von apache2 (2.4.10-10+deb8u4) über (2.4.10-10+deb8u4) ...
    Vormals nicht ausgewähltes Paket apache2-suexec wird gewählt.
    Vorbereitung zum Entpacken von .../apache2-suexec_2.4.10-10+deb8u4_amd64.deb ...
    Entpacken von apache2-suexec (2.4.10-10+deb8u4) ...
    Vorbereitung zum Entpacken von .../apache2-mpm-prefork_2.4.10-10+deb8u4_amd64.deb ...
    Entpacken von apache2-mpm-prefork (2.4.10-10+deb8u4) über (2.4.10-10+deb8u4) ...
    Vorbereitung zum Entpacken von .../apache2.2-common_2.4.10-10+deb8u4_amd64.deb ...
    Entpacken von apache2.2-common (2.4.10-10+deb8u4) über (2.4.10-10+deb8u4) ...
    Trigger für systemd (215-17+deb8u3) werden verarbeitet ...
    Trigger für man-db (2.7.0.2-5) werden verarbeitet ...
    apache2 (2.4.10-10+deb8u4) wird eingerichtet ...
    apache2-suexec (2.4.10-10+deb8u4) wird eingerichtet ...
    apache2-mpm-prefork (2.4.10-10+deb8u4) wird eingerichtet ...
    apache2.2-common (2.4.10-10+deb8u4) wird eingerichtet ...
    root@RedstoneWorld:/etc/apache2# service apache2 restart
    Erledigt aber leider keine änderung. Die Meldungen im error.log und suexec.log sind die gleichen...
    Muss noch hinzufügen das ich die suexec-custom installiert hatte (also gestern).
     
  13. florian030

    florian030 Member

    suexec-custom kannst Du nehmen, dass muss die aber auch auf /var/www zeigen. Steht dort ein anderes doc-root, dann geht das nicht. Das ist in suexec nicht definierbar, sondern fester Bestandteil.
     
  14. HomerS

    HomerS New Member

    Was ich auch ganz interessant finde ist, dass ein suexec -V mit nur ein Kommando nicht gefunden ausgibt.
    Was ist nur nicht in Ordnung? kann ja nur irgendwo an suexec liegen...
     
  15. HomerS

    HomerS New Member

    Wenn ich die Suexec Gruppe auskommentiert hab läuft ja alles soweit.
    Allerdings wirft die suexec.log die gleichen meldungen nur mit anderen benutzern aus.
    PHP-Fastcgi läuft nicht bei dem geben die seiten die 404er fehler aus.
    Wenn ich aber MOD-PHP oder CGI einschalte läuft es normal
     
  16. Till

    Till Administrator

    Der Punkt ist dass Du versuchen musst Suexec wieder zum Laufen zu bringen und die Modifikation die Plesk da gemacht hat rückgängig zu machen. Ohne Suexec wird weder ispconfig noch die darauf gehosteten websites richtig laufen. Zudem wäre es noch sehr unsicher, denn suexec sorgt dafür dass die php prozesse unter den richtigen usern laufen, also user und gruppe ispconfig für das ispconfig nterface und web* user and client* gruppe beim jeweiligen web.


    Dann läuft PHP unter einem falschen Nutzer und kann nicht in die website schreiben.
     
  17. HomerS

    HomerS New Member

    Inzwischen bekomme ich eine Fehlermeldung wenn ich suexec-custom installieren möchte:

    Code:
    update-alternatives: Warnung: Neuinstallation der Alternative /usr/lib/apache2/suexec-pristine ist erzwungen, weil Linkgruppe suexec defekt ist
    update-alternatives: Warnung: /usr/lib/apache2/suexec wird nicht durch einen Link ersetzt
    
     
  18. Till

    Till Administrator

    Hmm, vielleicht ist /usr/lib/apache2/suexec ein binary von plesk und debian kanne s nicht austauschen oder reparieren. Vielleicht geht es ja mit:

    apt-get remove --purge apache2-suexec

    und dann prüfen ob suexec binary weg ist, dann ein

    apt-get install apache2-suexec
     
  19. HomerS

    HomerS New Member

    Ich volldödel hab die mod_suexec.so aus dem ordner /usr/lib/apache2/modules gelöscht >.<
    Wat nu
     
  20. Till

    Till Administrator

    Versuch mal ein:

    apt-get install --reinstall apache2-suexec

    und schau mal, ob sie dann wieder da ist.
     

Diese Seite empfehlen