apache2 + fcgid + suexec + php5-cgi - Rechteproblem

Apache, Lighttpd, nginx, Cherokee
Anonymous

apache2 + fcgid + suexec + php5-cgi - Rechteproblem

Post by Anonymous » 2008-01-03 22:57

Hallo zusammen,

ich probiere hier jetzt schon seit Stunden herum und durchsuche das Netz ohne Ende nach möglichen Lösungen aber irgendwie werde ich einfach nicht fündig ...

Ich habe zur Zeit apache2 mit libapache2-mod-fastcgi laufen und möchte wegen den sporadisch auftretenden 500er Fehlern nach libapache2-mod-fcgid wechseln ...

mod_fastcgi läuft bis auf die sporadisch auftretenden 500er Fehler einwandfrei... Eingerichtet habe ich das nach dem Howto auf debianhowto.de

Für libapache2-mod-fcgid sind die Anleitungen recht spärlich denoch fand ich ein howto auf http://www.fabianfuchs.com/archives/7-Apache2.2-+-PHP5-+-FastCGI-+-suEXEC-auf-Debian-Etch.html

Wenn ich alles nach dem Howto einrichte klappt auch alles wunderbar ... so lange alles unter

/var/www/htdocs
bzw.
/var/www/conf

liegt ...

Ich möchte das ganze jetzt unter

/var/www/virtual/VHOST/htdocs
bzw.
/var/www/virtual/VHOST/conf

haben.

Die Wrapper Scripte sollen unter
/var/www/php5-fcgi-scripts/VHOST/
liegen

Konkret sieht das ganze rechtemässig bei mir jetzt so aus:

Code: Select all

drwxr-xr-x  4 root     root     4096 2008-01-03 21:02 .
drwxr-xr-x 17 root     root     4096 2008-01-03 20:39 ..
drwxr-xr-x  3 root     root     4096 2008-01-03 22:17 php5-fcgi-scripts
drwxr-xr-x  3 www-data www-data 4096 2008-01-03 22:14 virtual
h53862:/var/www#

drwxr-xr-x 3 www-data      www-data      4096 2008-01-03 22:14 .
drwxr-xr-x 4 root          root          4096 2008-01-03 21:02 ..
drwxr-xr-x 6 webbastelbude webbastelbude 4096 2008-01-03 20:59 webbastelbude.de
h53862:/var/www/virtual#

drwxr-xr-x 6 webbastelbude webbastelbude 4096 2008-01-03 20:59 .
drwxr-xr-x 3 www-data      www-data      4096 2008-01-03 22:14 ..
drwxr-xr-x 2 root          root          4096 2008-01-03 21:02 conf
drwxr-xr-x 2 webbastelbude webbastelbude 4096 2008-01-03 21:02 htdocs
drwxr-xr-x 2 webbastelbude webbastelbude 4096 2008-01-03 21:27 logs
drwxr-xr-x 2 webbastelbude webbastelbude 4096 2008-01-03 20:59 phptmp
h53862:/var/www/virtual/webbastelbude.de#

drwxr-xr-x 2 webbastelbude webbastelbude 4096 2008-01-03 21:02 .
drwxr-xr-x 6 webbastelbude webbastelbude 4096 2008-01-03 20:59 ..
-rwxr-xr-x 1 webbastelbude webbastelbude   22 2008-01-03 21:02 index.php
h53862:/var/www/virtual/webbastelbude.de/htdocs#

drwxr-xr-x 2 webbastelbude webbastelbude 4096 2008-01-03 20:58 .
drwxr-xr-x 3 root          root          4096 2008-01-03 22:17 ..
-rwxr-xr-x 1 webbastelbude webbastelbude   98 2008-01-03 22:18 php5-fcgid-starter
h53862:/var/www/php5-fcgi-scripts/webbastelbude.de#



Der Starter sieht so aus:

Code: Select all

h53862:/var/www/php5-fcgi-scripts/webbastelbude.de# cat php5-fcgid-starter 
#!/bin/sh
PHPRC=/var/www/virtual/webbastelbude.de/conf/
export PHPRC
exec /usr/lib/cgi-bin/php5


Der Virtual Host dazu sieht so aus:

Code: Select all

NameVirtualHost *
<VirtualHost *>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/virtual/webbastelbude.de/htdocs/

        SuexecUserGroup webbastelbude webbastelbude

        <Directory /var/www/php5-fcgi-scripts/webbastelbude.de/>
                FCGIWrapper /var/www/php5-fcgi-scripts/webbastelbude.de/php5-fcgid-starter .php
                Options Indexes FollowSymLinks MultiViews +ExecCGI
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/www/virtual/webbastelbude.de/logs/apache_error.log

        LogLevel debug

        ServerSignature On

</VirtualHost>


fcgid.conf sieht so aus:

Code: Select all

<IfModule mod_fcgid.c>
  AddHandler fcgid-script .php
  SocketPath /var/lib/apache2/fcgid/sock
  IPCConnectTimeout 20
</IfModule>


suexec sieht so aus:

Code: Select all

-rwsr-xr-x  1 root www-data 10244 2007-09-19 21:56 suexec
h53862:/usr/lib/apache2#

h53862:/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"



Egal was ich mache ich bekomme entweder ein 403er um die Ohren oder ein 500er Fehler

Entwerder beschwehrt sich suexec das es in kein Logfile schreiben kann:

Code: Select all

[Thu Jan 03 22:42:05 2008] [notice] mod_fcgid: server /var/www/virtual/webbastelbude.de/htdocs/index.php(19756) started
suexec failure: could not open log file
fopen: Permission denied
[Thu Jan 03 22:42:08 2008] [notice] mod_fcgid: process /var/www/virtual/webbastelbude.de/htdocs/index.php(19756) exit(communication error), terminated by calling exit(), return code: 1


Wenn ich dann die Rechte auf webbastelbude:www-data setze bekomme ich folgendes im suexec Logfile:

Code: Select all

[2008-01-03 21:32:10]: target uid/gid (1001/1001) mismatch with directory (1001/33) or program (1001/33)
[2008-01-03 21:33:00]: uid: (1001/webbastelbude) gid: (1001/1001) cmd: index.php


Ich bekomme das irgendwie nicht hin ... Hat für mich jemand einen heissen Tip wie die Rechtevergabe bei dieser Struktur aussehen muss ?

Danke schonmal für jeden Tip !