Erfahrungen apache2 mit PHP 5 als FastCGI
nein, habe nicht selbst kompiliert, Standard debian stable
Ich nutze auch den phomyadmin von debian, der ja nciht unter /var/www/ installiert ist (da ist ja nur der symlink, über den ich auch drauf zugreife), ich glaube ich musste nur in dem phpmyadmin ordner ein paar rechte von dateien verändern, damit der user unter dem der phpmyadmin ausgeführt werden soll auch die dateien lesen darf. Das Wrapper Script liegt allerdings unter /var/www/conf/...
Aber ichhabe ansonsten momentan leider keine idee zu deinem Problem...
Ich nutze auch den phomyadmin von debian, der ja nciht unter /var/www/ installiert ist (da ist ja nur der symlink, über den ich auch drauf zugreife), ich glaube ich musste nur in dem phpmyadmin ordner ein paar rechte von dateien verändern, damit der user unter dem der phpmyadmin ausgeführt werden soll auch die dateien lesen darf. Das Wrapper Script liegt allerdings unter /var/www/conf/...
Aber ichhabe ansonsten momentan leider keine idee zu deinem Problem...
Gruß,
SeeDyX
SeeDyX
Wie lautet denn der VHOST für phpmyadmin unter sites-available?
Zu dem Fehler konnte ich nur das hier finden:
http://www.wh-forum.de/coding-webdesign ... l-php.html
Meiner Meinung nach sollte das also mit suexec zu tun haben.
Hmm... da fällt mir ein: eventuell ist ja suphp enabled
Da scheint der Hund begraben zu liegen:
Nun bekomme ich außer auf nicht-php Seiten:
et voilà eine lesbare Fehlermeldung in /var/log/apache2/error.log :
Mann, wie konnte ich nur das suphp Modul übersehen?
Allerdings funktionieren auch die konfigurierten vhosts nicht.
Im suexec.log findet sich nichts auffälliges.
Die vhost funktionieren wegen dem selben Fehler nicht mehr:
[client 172.16.240.1] FastCGI: "ExecCGI Option" is off in this directory: /index.php
Mal sehen, wie ich das gelöst bekomme...
http://www.google.com/search?q=FastCGI% ... +directory
Hmm... das googlen bringt da nicht viel... Ich werde wohl nochmal alles von vorne durchgehen müssen.
Weshalb FastCGI "ExecCGI Option" is off in this directory ist mir ehrlich gesagt schleierhaft, da in allen vhosts options +ExecCGI steht:
Im suexec.log steht folgendes:
Was ich allerdings wegen der merkwürdigen Schreibweise komisch finde: uid: (www-fcgi/www-fcgi)
Das ist ja doppelt??
Zu dem Fehler konnte ich nur das hier finden:
http://www.wh-forum.de/coding-webdesign ... l-php.html
Meiner Meinung nach sollte das also mit suexec zu tun haben.
Hmm... da fällt mir ein: eventuell ist ja suphp enabled
Code: Alles auswählen
$ sudo a2dismod suphp
Module suphp disabled; run /etc/init.d/apache2 force-reload to fully disable.
Nun bekomme ich außer auf nicht-php Seiten:
Code: Alles auswählen
Forbidden
You don't have permission to access /index.php on this server.
Code: Alles auswählen
[client 172.16.240.1] FastCGI: "ExecCGI Option" is off in this directory: /phpmyadmin/index.php
Allerdings funktionieren auch die konfigurierten vhosts nicht.
Im suexec.log findet sich nichts auffälliges.
Die vhost funktionieren wegen dem selben Fehler nicht mehr:
[client 172.16.240.1] FastCGI: "ExecCGI Option" is off in this directory: /index.php
Mal sehen, wie ich das gelöst bekomme...
http://www.google.com/search?q=FastCGI% ... +directory
Hmm... das googlen bringt da nicht viel... Ich werde wohl nochmal alles von vorne durchgehen müssen.
Weshalb FastCGI "ExecCGI Option" is off in this directory ist mir ehrlich gesagt schleierhaft, da in allen vhosts options +ExecCGI steht:
Code: Alles auswählen
$ rgrep -i execcgi /etc/apache2/sites-enabled/
/etc/apache2/sites-enabled/000-default: Options +ExecCGI -MultiViews -Indexes +SymLinksIfOwnerMatch
/etc/apache2/sites-enabled/www.mypages.home: Options +ExecCGI -MultiViews -Indexes +SymLinksIfOwnerMatch
/etc/apache2/sites-enabled/gallery2: Options +ExecCGI -MultiViews -Indexes +SymLinksIfOwnerMatch
/etc/apache2/sites-enabled/vh1: Options +ExecCGI -MultiViews -Indexes +SymLinksIfOwnerMatch
Code: Alles auswählen
uid: (www-fcgi/www-fcgi) gid: (www-fcgi/www-fcgi) cmd: php-fcgi-starter
Das ist ja doppelt??
-
- Beiträge: 50
- Registriert: 02.07.2005 02:10:43
- Wohnort: osna
-
Kontaktdaten:
Hey, bin auch dabei gerade apache2.2 php5 fcgid und suexec zu konfigurieren.
lief eigendlich alles so weit ausser das ich beim startet ne warnung bekommen hab und php5-cgi nicht mit den rechten des users sonder www-data gestartet werden.
warnung:
nach dem ich die rechte noch mal gesezt habe von suexec: chmod 4750 suexec. war die warnung
nächstes problem die php5-cgi startet garnicht mehr.
fehler aus den logs:
rechte:
lief eigendlich alles so weit ausser das ich beim startet ne warnung bekommen hab und php5-cgi nicht mit den rechten des users sonder www-data gestartet werden.
warnung:
Code: Alles auswählen
Forcing reload of web server (apache2)...Warning: SuexecUserGroup directive requires SUEXEC wrapper.
Warning: SuexecUserGroup directive requires SUEXEC wrapper.
Warning: SuexecUserGroup directive requires SUEXEC wrapper.
waiting Warning: SuexecUserGroup directive requires SUEXEC wrapper.
Warning: SuexecUserGroup directive requires SUEXEC wrapper.
Warning: SuexecUserGroup directive requires SUEXEC wrapper.
nächstes problem die php5-cgi startet garnicht mehr.
fehler aus den logs:
Code: Alles auswählen
[Wed Dec 12 19:08:54 2007] [notice] mod_fcgid: server /var/www/powertuxx.de/htdocs/index.php(4995) started
[Wed Dec 12 19:08:54 2007] [debug] arch/unix/fcgid_proc_unix.c(491): (111)Connection refused: mod_fcgid: can't connect unix domain socket: /var/lib/apache2/fcgid/sock/4751.169
[Wed Dec 12 19:08:55 2007] [notice] mod_fcgid: process /var/www/powertuxx.de/htdocs/index.php(4995) exit(server exited), terminated by calling exit(), return code: 255
[Wed Dec 12 19:08:55 2007] [notice] mod_fcgid: process /var/www/powertuxx.de/htdocs/index.php(4994) exit(server exited), terminated by calling exit(), return code: 255
[Wed Dec 12 19:08:55 2007] [notice] mod_fcgid: process /var/www/powertuxx.de/htdocs/index.php(4993) exit(server exited), terminated by calling exit(), return code: 255
[Wed Dec 12 19:08:55 2007] [notice] mod_fcgid: process /var/www/powertuxx.de/htdocs/index.php(4992) exit(server exited), terminated by calling exit(), return code: 255
[Wed Dec 12 19:08:56 2007] [warn] mod_fcgid: can't apply process slot for /var/www/bib.powertuxx.de/htdocs/index.php
rechte:
Code: Alles auswählen
755 vuser1.vuser1 domain.ltd
755 root.root conf
conf
755 vuser1.vuser1 domain.ltd
-- 755 vuser1.vuser1 php5-cgid
wissen ist macht
-
- Beiträge: 50
- Registriert: 02.07.2005 02:10:43
- Wohnort: osna
-
Kontaktdaten:
-
- Beiträge: 50
- Registriert: 02.07.2005 02:10:43
- Wohnort: osna
-
Kontaktdaten:
also bei etch ist es ja suexec statt suexec2. also das ding sollte wohl drauf sein, es liegt auch in seinem verzeichnis.
ich kanns auch aufrufen um mir die infos an zu zeigen.
hab schon mal danach mit aptitude gesucht aber der hat nix gefunden.
langsam kozt mich das schon an.
ich spiele schon mit den gedanken es eventuell zu complimieren.
ausdruck wenn ich es aufrufe:
# /usr/lib/apache2/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
suexec sollte doch eigendlich standard im system sein.
hab gestern auch rausgefunden wieso das ganze lief und die php5-cgi binäry aufgerufen werden konnte,
libapache2-mod-php5 war installiert, deswegen lief es auch, nur wurde es halt mit den rechten von www-data aufgerufen.
deswegen wurde auch suexec umgangen.
wenn ich es selbst complimieren würde, mit welchen Optionen sollte ich es denn configurieren?
oder sieht da jemand noch eine andere möglichkeit ?
Fehler beim aufruf der Webseite.
ich kanns auch aufrufen um mir die infos an zu zeigen.
hab schon mal danach mit aptitude gesucht aber der hat nix gefunden.
langsam kozt mich das schon an.
ich spiele schon mit den gedanken es eventuell zu complimieren.
ausdruck wenn ich es aufrufe:
# /usr/lib/apache2/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
suexec sollte doch eigendlich standard im system sein.
hab gestern auch rausgefunden wieso das ganze lief und die php5-cgi binäry aufgerufen werden konnte,
libapache2-mod-php5 war installiert, deswegen lief es auch, nur wurde es halt mit den rechten von www-data aufgerufen.
deswegen wurde auch suexec umgangen.
wenn ich es selbst complimieren würde, mit welchen Optionen sollte ich es denn configurieren?
oder sieht da jemand noch eine andere möglichkeit ?
Fehler beim aufruf der Webseite.
Code: Alles auswählen
ervice Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
wissen ist macht
ok dann ist es installiert.. und aktiviert?
musst du mal schaun ob die configs in /etc/apache2/mods-availible drin ist (sollte sie) und ob nen link dazu in /etc/apache2/mods-enabled drin ist (das wird wahrscheinlich nciht der fall sein)
also aktivieren mit: a2enmod suexec
libapache2-mod-php muss deinstalliert oder deaktiviert sein, stimmt
musst du mal schaun ob die configs in /etc/apache2/mods-availible drin ist (sollte sie) und ob nen link dazu in /etc/apache2/mods-enabled drin ist (das wird wahrscheinlich nciht der fall sein)
also aktivieren mit: a2enmod suexec
libapache2-mod-php muss deinstalliert oder deaktiviert sein, stimmt
Gruß,
SeeDyX
SeeDyX
-
- Beiträge: 50
- Registriert: 02.07.2005 02:10:43
- Wohnort: osna
-
Kontaktdaten:
seit dem ich den libapache2-mod-php5 deinstalliet habe, sind die webseiten garnicht mehr erreichbar.
a2enmod suexec ergibt bei mir:
# a2enmod suexec
This module is already enabled!
# ls /etc/apache2/mods-available/ | grep suexec
suexec.load
# ls /etc/apache2/mods-enabled/ | grep suexec
suexec.load
also suexec ist eingetragen aktiviert und gelinkt, deswegen weiss auch immomment auch nicht mehr weiter woran es liegen könnte.
wieso kann er denn keni socket erstellen ?
könnte er irgendwelche probleme mit den rechten haben irgendwo ?
a2enmod suexec ergibt bei mir:
# a2enmod suexec
This module is already enabled!
# ls /etc/apache2/mods-available/ | grep suexec
suexec.load
# ls /etc/apache2/mods-enabled/ | grep suexec
suexec.load
also suexec ist eingetragen aktiviert und gelinkt, deswegen weiss auch immomment auch nicht mehr weiter woran es liegen könnte.
wieso kann er denn keni socket erstellen ?
könnte er irgendwelche probleme mit den rechten haben irgendwo ?
wissen ist macht
Hallo,
ich habe ein ähnliches Problem wie marc76 auf Seite 8 dieses Threads (403 Fehler bei jedem Zugriff). Ich habe die Umstellung auf fcgi nach diesem Tutorial gemacht, da ich ISPConfig benutze:
http://www.howtoforge.com/forums/showthread.php?t=12302
Das Problem besteht aber seltsamerweise nur bei neu eingerichteten Sites, die bestehenden funktionieren alle. Soweit ich das sehen kann, wird nichtmal der entsprechende php5-cgi prozess gestartet. suexec_log und error.log schreiben gar nichts darüber...
Hat jemand eine Idee, wo ich noch suchen könnte?
ich habe ein ähnliches Problem wie marc76 auf Seite 8 dieses Threads (403 Fehler bei jedem Zugriff). Ich habe die Umstellung auf fcgi nach diesem Tutorial gemacht, da ich ISPConfig benutze:
http://www.howtoforge.com/forums/showthread.php?t=12302
Das Problem besteht aber seltsamerweise nur bei neu eingerichteten Sites, die bestehenden funktionieren alle. Soweit ich das sehen kann, wird nichtmal der entsprechende php5-cgi prozess gestartet. suexec_log und error.log schreiben gar nichts darüber...
Hat jemand eine Idee, wo ich noch suchen könnte?
Re: Erfahrungen apache2 mit PHP 5 als FastCGI
Es geht noch einmal um die Rechteverteilung nach KASEs Konzept auf Seite 3 dieses Threads:
Hat einer eine saubere Lösung zur Hand? Mir scheint das Problem ein sehr grundsätzliches zu sein. Wie gesagt: alles fcgid macht doch keinen Sinn, wenn ich für den Apache das mühsam verbarrikadierte Tor wieder aufreissen muss.
Auf die Frage hin, wie das denn realisierbar sein solle, sagt KASE:Alle Dateien haben die Rechte USER:www-data 740
PHP kann dann die Dateien als USER:USER durch das 7 für User ausführen.
Der Apache kann alle nicht-PHP-Dateien dank des 4 für die Gruppe www-data lesen. Der Apache selbst muss dafür natürlich als www-data:www-data laufen.
Die Rechte für Others sollten auf jeden Fall 0 sein.
Es ist darauf zu achten, dass PHP-Files als USER:USER und NICHT als USER:www-data ausgeführt werden, da nur so sichergestellt ist, dass PHP nur die Files des vHosts lesen kann.
Außerdem ist darauf zu achten, dass es keinen vHost gibt, der irgendwelche Scripte als www-data ausführen darf, weder User noch Group, www-data dürfen wirklich nur statische Seiten sein (html, Bilder, Files, usw), die der Apache liest.
@KASE: Wie soll denn diese "richtige" Konfiguration realistischerweise aussehen? Denn eine übliche Situation ist diese: ein User lädt ein Gemisch aus PHP- und Grafik-/sonstigen Dateien per FTP auf den Server. Der proftpd kann seinerseits nicht für die einen Dateien group "abc" vergeben und für die anderen Dateien die Gruppe "www-data" (oder habe ich da was übersehen??). Also haben alle eine Gruppe nach dem Upload und mein User probiert das nun aber gleich aus (nicht erst einen Tag später, nachdem der nächtliche Cronjob gelaufen ist und die Gruppenrechte korrigiert hat). Das geht natürlich schief. Entweder haben alle Dateien Gruppe "www-data" und das verhindert eben nicht den Skript-Zugriff auf die benachbarten Accounts (und macht ja das ganze fcgi-Gedrösel zum Witz) - oder aber der Apache kann auf alle Nicht-PHP-Dateien nicht zugreifen und quittiert hübsch mit forbidden-Meldungen. Einen Cronjob im Minutentakt kann jetzt aber irgendwie auch keine Lösung sein. Mir kommt das Konzept schräg vor.FTP bzw SCP richtig konfigurieren. Stichworte: User, Group, umask (chmod)
Hat einer eine saubere Lösung zur Hand? Mir scheint das Problem ein sehr grundsätzliches zu sein. Wie gesagt: alles fcgid macht doch keinen Sinn, wenn ich für den Apache das mühsam verbarrikadierte Tor wieder aufreissen muss.
Re: Erfahrungen apache2 mit PHP 5 als FastCGI
OK. Ich hab' da ein Verständnisproblem gehabt. Das geht natürlich doch.
Alle Vhost'ler müssen via FTP die Gruppe "www-data" mit "Umask 0026 0027" schreiben. Dann schliessen sich die Zugriffe auf einen anderen vhost aus, da der PHP-Prozess als NAECHSTERUSER:USERGRUPPE zugreift und weder besitzer- noch gruppenseitig berechtigt ist - alle Welt hat ja keine Rechte. Von PHP-Skripten geschriebene Dateien (wie Formular-Uploads etc.) müssen dann zwar vorerst doch noch 0644-Rechte haben, damit der Apache (und theoretisch der Rest der Welt auch) sofort auslesen darf; das nächtliche Skript korrigiert dann aber unbemerkt die Gruppe solcher Dateien auf www-data und setzt die Rechte auf die sicheren 0640 zurück. Der User sollte davon im Regelfall gar nichts mitbekommen.
Danke an KASE.
Alle Vhost'ler müssen via FTP die Gruppe "www-data" mit "Umask 0026 0027" schreiben. Dann schliessen sich die Zugriffe auf einen anderen vhost aus, da der PHP-Prozess als NAECHSTERUSER:USERGRUPPE zugreift und weder besitzer- noch gruppenseitig berechtigt ist - alle Welt hat ja keine Rechte. Von PHP-Skripten geschriebene Dateien (wie Formular-Uploads etc.) müssen dann zwar vorerst doch noch 0644-Rechte haben, damit der Apache (und theoretisch der Rest der Welt auch) sofort auslesen darf; das nächtliche Skript korrigiert dann aber unbemerkt die Gruppe solcher Dateien auf www-data und setzt die Rechte auf die sicheren 0640 zurück. Der User sollte davon im Regelfall gar nichts mitbekommen.
Danke an KASE.
Re: Erfahrungen apache2 mit PHP 5 als FastCGI
Hallo zusammen,
ich bekomme beim starten des Apachen immer folgende Fehlermeldung:
Nach zwei Stunden googeln und doppelt und dreifach check der Konfiguration weiß ich nicht mehr weiter.
Das einzigste was mir höchst spanisch vorkommt ist, das ich scheinbar keine suexec Datei habe...
Dort wo sie vermeintlicherweise liegen sollte liegt sie nicht...
..und woanders im System auch nicht?¿
Hat jemand ne Idee was woran es liegen könnte?
Gruß dbs
ich bekomme beim starten des Apachen immer folgende Fehlermeldung:
Code: Alles auswählen
dbs:/var/log/apache2# /etc/init.d/apache2 restart
Restarting web server: apache2Warning: SuexecUserGroup directive requires SUEXEC wrapper.
... waiting .Warning: SuexecUserGroup directive requires SUEXEC wrapper.
.
Das einzigste was mir höchst spanisch vorkommt ist, das ich scheinbar keine suexec Datei habe...
Code: Alles auswählen
dbs:/var/log/apache2# /usr/sbin/apache2 -V
Server version: Apache/2.2.9 (Debian)
Server built: Oct 1 2008 14:34:07
Server's Module Magic Number: 20051115:15
Server loaded: APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture: 64-bit
Server MPM: Worker
threaded: yes (fixed thread count)
forked: yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/worker"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=""
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"
Code: Alles auswählen
dbs:/var/log/apache2# ls -laR /usr/lib/apache2/
/usr/lib/apache2/:
total 20
drwxr-xr-x 3 root root 4096 Oct 7 20:31 .
drwxr-xr-x 31 root root 12288 Oct 7 17:40 ..
drwxr-xr-x 2 root root 4096 Oct 7 19:18 modules
Code: Alles auswählen
dbrandes:/var/log/apache2# find / -name *suexec*
/etc/apache2/mods-available/suexec.load
/etc/apache2/mods-enabled/suexec.load
/usr/lib/apache2/modules/mod_suexec.so
Gruß dbs
Re: Erfahrungen apache2 mit PHP 5 als FastCGI
Du hast wohl kürzlich auf Ubuntu 8.10 aktualisiert? Ich hatte zumindest dasselbe Problem.
Tip: Immer schauen ob etwas neues in NEWS.Debian steht:
Tip: Immer schauen ob etwas neues in NEWS.Debian steht:
Code: Alles auswählen
$ zless /usr/share/doc/apache2/NEWS.Debian.gz
Lösung: Installier "apache2-suexec"apache2 (2.2.8-5) unstable; urgency=low
* The suexec helper program needed for mod_suexec is now shipped in a
separate package, apache2-suexec, which is not installed by default.
You need to install this package manually if you are using mod_suexec.
There is now also the apache2-suexec-custom package, which contains a
customizable version of suexec which can be used with different document
roots than /var/www.
- RycoDePsyco
- Beiträge: 15
- Registriert: 09.01.2009 16:18:10
Re: Erfahrungen apache2 mit PHP 5 als FastCGI
Hallo, da in zwischen Jahre vergangen sind und sich einiges getan hat, wollte ich mal fragen ob jemand nochmals dieses HowTo neu mit aktuellen Programmen und aktuellem Wissen neu einstellen könnte??
Ich bin selber absoluter Anfänger und komme ab Punkt "User und Group Direktive nicht vergessen, sonst wird suexec nicht benutzt." nicht mehr weiter, weil ich nicht weis was ich hier machen soll.
Selber benutze ich VServer mit Debian 4 mit Confixx 3.3
Ich will da nicht unbedingt darauf bestehen, aber ich würde mich freuen, wenn es was gäbe das auch ein Neuling erfahren und lernen könnte.
Danke aber fürs lesen.
Ich bin selber absoluter Anfänger und komme ab Punkt "User und Group Direktive nicht vergessen, sonst wird suexec nicht benutzt." nicht mehr weiter, weil ich nicht weis was ich hier machen soll.
Selber benutze ich VServer mit Debian 4 mit Confixx 3.3
Ich will da nicht unbedingt darauf bestehen, aber ich würde mich freuen, wenn es was gäbe das auch ein Neuling erfahren und lernen könnte.
Danke aber fürs lesen.
- RycoDePsyco
- Beiträge: 15
- Registriert: 09.01.2009 16:18:10