APACHE2 + PHP5 + FASTCGID letzer post von TM

Apache, Lighttpd, nginx, Cherokee
time-walker
Posts: 48
Joined: 2006-02-15 14:17
Location: Osna

APACHE2 + PHP5 + FASTCGID letzer post von TM

Post by time-walker » 2007-12-08 22:57

Hey bräuchte mal ein bisschen hilfe beim Apache2.

der läuft bei mir zur zeit mit mod php4/5
nun will ich es umstellen auf apache2 +fastcgi

gibt für debian ein gutes howto im inet ?
hab mir schon das von debianhowto.de angeschaut, aber da wird ja ziehmlich viel selber complimiert.
das wollte ich eigendlich nicht, da die packete auch mit apt aktualisiert werden sollen.[/code]
Last edited by time-walker on 2007-12-11 19:09, edited 1 time in total.

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: APACHE + fastcgi

Post by Roger Wilco » 2007-12-09 10:23

time-walker wrote:das wollte ich eigendlich nicht, da die packete auch mit apt aktualisiert werden sollen.

Dann kompiliere die Programme eben nicht selbst, sondern benutze die Pakete aus dem Paketvorrat deiner Distribution. Die Konfiguration kannst du trotzdem übernehmen, wenn du das Howto auf debianhowto.de verstanden hast.

time-walker
Posts: 48
Joined: 2006-02-15 14:17
Location: Osna

Re: APACHE2 + PHP5 + FASTCGID letzer post von TM

Post by time-walker » 2007-12-09 15:19

Ich hab auch Debian, ich wollte nun vermeiden die Packete zu complimieren.

time-walker
Posts: 48
Joined: 2006-02-15 14:17
Location: Osna

Re: APACHE2 + PHP5 + FASTCGID letzer post von TM

Post by time-walker » 2007-12-10 16:31

habe nun auch die server eingefügt.
# echo "deb http://people.debian.org/~dexter php5.0 sarge" >> /etc/apt/sources.list
# echo "deb-src http://people.debian.org/~dexter php5.0 sarge" >> /etc/apt/sources.list

und die Packete installiert
apt-get install php5.0 php5.0-common php5.0-fcgi apache2-mpm-worker
&
apt-get install libapache2-mod-fastcgi
nun bin ich bei der Konfiguration von mod-fastcgi
meine config in /etc/apache2/mod-available/fastcgi.conf
sieht im moment so aus

Code: Select all

<IfModule mod_fastcgi.c>
  AddHandler fastcgi-script .php
  FastCgiWrapper /usr/lib/apache2/suexec
  FastCgiIpcDir /var/lib/apache2/fastcgi
</IfModule>

ich kann die config aus dem debianhowto.de nicht ganz nach voll ziehen.

wieso brauche ich denn dafür einen primären user/gruppe & VHost ??


also ich hab alle vhosts in /var/virtual/ liegen
die webseiten sind dann halt unterteilt in
vuser1 vuser2 ...
jedes webverzeichnis hat dann auch einen user/gruppe wie das verzeichnis selber vuser1:vuser1 ...
wird das ganze dann nicht in der VHOST geregelt ?
soll ich denn nun ein VHOST anlegen für meine webseite und die als primär bestimmen ?

time-walker
Posts: 48
Joined: 2006-02-15 14:17
Location: Osna

Re: APACHE2 + PHP5 + FASTCGID letzer post von TM

Post by time-walker » 2007-12-10 18:41

STATUS:

Ordner struktur:
/var/virtual/domain1 zugriff über ftp für die user| rechte (vuser1:vuser1)
/var/virtual/domain/htdocs webverzeichnis | rechte (vuser1:vuser1)
/var/virtual/conf/php.ini php für den jeweiligen user | rechte (root)

/var/virtual/php-fcgi root
/var/virtual/php-fcgi/VHOST vuser1:vuser1
/var/virtual/php-fcgi/VHOST/php-fcgi-starter vuser1:vuser1
chattr -V +i php-fcgi-starter
chattr 1.38 (30-Jun-2005)
Flags of php-fcgi-starter set as ----i------------

fastcgi.conf

Code: Select all

<IfModule mod_fastcgi.c>
 FastCgiWrapper /usr/lib/apache2/suexec
 FastCgiServer /var/virtual/php-fcgi/VHOST/php-fcgi-starter -user vuser1 -group vuser1

 AddHandler php-fastcgi .php
 <Location /cgi-bin/php-fcgi>
        SetHandler fastcgi-script
        Options +ExecCGI
 </Location>
 Action php-fastcgi /cgi-bin/php-fcgi
 AddType application/x-httpd-php .php
</IfModule>


Vhost

Code: Select all

<VirtualHost *:80>
 ServerAdmin xxx
 ServerName domain1
 ServerAlias www.domain1

        DocumentRoot /var/virtual/domain1/htdocs
        DirectoryIndex index.php index.html index.htm

        SuexecUserGroup vuser1 vuser1

         <Directory />
                Options FollowSymLinks Indexes MultiViews
                AllowOverride None
        </Directory>

        <Directory /var/virtual/domain1/>
                Options FollowSymLinks
                AllowOverride AuthConfig
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /var/virtual/php-fcgi/VHOST/

        <Directory "/var/virtual/php-fcgi/VHOST/">
                AllowOverride None
                Options +ExecCGI -MultiViews -Indexes
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

   Alias /icons/ "/usr/share/apache2/icons/"
        <Directory "/usr/share/apache2/icons">
            Options Indexes MultiViews
            AllowOverride None
            Order allow,deny
            Allow from all
        </Directory>
</VirtualHost>


Code: Select all

INFO in htdocs befindest sich nix drine.


Code: Select all

Fehler beim aufruf der Domain
The requested URL /cgi-bin/php-fcgi/index.php was not found on this server.



server Signatur:
Apache/2.2.3 (Debian) mod_fastcgi/2.4.2 mod_ssl/2.2.3 OpenSSL/0.9.8c Server at domain1 Port 80

time-walker
Posts: 48
Joined: 2006-02-15 14:17
Location: Osna

Re: APACHE2 + PHP5 + FASTCGID letzer post von TM

Post by time-walker » 2007-12-10 21:20

***** UPDATE *******

hab noch mal 2 fehler ausgebessert.
in
fastcgi.conf

Code: Select all

<IfModule mod_fastcgi.c>
 FastCgiWrapper /usr/lib/apache2/suexec
 FastCgiServer /var/virtual/php-fcgi/VHOST/php-fcgi-starter -user vuser1 -group vuser1

 AddHandler php-fastcgi .php

 <Location /cgi-bin/php-fcgi-starter>
        SetHandler fastcgi-script
        Options +ExecCGI
 </Location>

 Action php-fastcgi /cgi-bin/php-fcgi-starter
 AddType application/x-httpd-php .php
</IfModule>



und chmod 755 /usr/lib/apache2/suexec war nicht richtig gesezt


auszug aus der suexec.log

Code: Select all

[2007-12-10 21:01:21]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)
[2007-12-10 21:04:21]: uid: (vuser1/vuser1) gid: (vuser1/vuser1) cmd: php-fcgi-starter
[2007-12-10 21:04:21]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)
[2007-12-10 21:04:21]: uid: (www-data/www-data) gid: (www-data/www-data) cmd: php5.0-fcgi
[2007-12-10 21:04:21]: cannot run as forbidden uid (33/php5.0-fcgi)
[2007-12-10 21:04:22]: uid: (www-data/www-data) gid: (www-data/www-data) cmd: php5.0-fcgi
[2007-12-10 21:04:22]: cannot run as forbidden uid (33/php5.0-fcgi)
[2007-12-10 21:04:23]: uid: (www-data/www-data) gid: (www-data/www-data) cmd: php5.0-fcgi
[2007-12-10 21:04:23]: cannot run as forbidden uid (33/php5.0-fcgi)
[2007-12-10 21:04:24]: uid: (www-data/www-data) gid: (www-data/www-data) cmd: php5.0-fcgi
[2007-12-10 21:04:24]: cannot run as forbidden uid (33/php5.0-fcgi)
[2007-12-10 21:04:26]: uid: (vuser1/vuser1) gid: (vuser1/vuser1) cmd: php-fcgi-starter
[2007-12-10 21:04:26]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)
[2007-12-10 21:04:31]: uid: (vuser1/vuser1) gid: (vuser1/vuser1) cmd: php-fcgi-starter
[2007-12-10 21:04:31]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)
[2007-12-10 21:04:36]: uid: (vuser1/vuser1) gid: (vuser1/vuser1) cmd: php-fcgi-starter
[2007-12-10 21:04:36]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)
[2007-12-10 21:06:21]: uid: (www-data/www-data) gid: (www-data/www-data) cmd: php5.0-fcgi
[2007-12-10 21:06:21]: cannot run as forbidden uid (33/php5.0-fcgi)
[2007-12-10 21:06:21]: uid: (vuser1/vuser1) gid: (vuser1/vuser1) cmd: php-fcgi-starter
[2007-12-10 21:06:21]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)
[2007-12-10 21:06:22]: uid: (www-data/www-data) gid: (www-data/www-data) cmd: php5.0-fcgi
[2007-12-10 21:06:22]: cannot run as forbidden uid (33/php5.0-fcgi)
[2007-12-10 21:06:23]: uid: (www-data/www-data) gid: (www-data/www-data) cmd: php5.0-fcgi
[2007-12-10 21:06:23]: cannot run as forbidden uid (33/php5.0-fcgi)
[2007-12-10 21:06:24]: uid: (www-data/www-data) gid: (www-data/www-data) cmd: php5.0-fcgi
[2007-12-10 21:06:24]: cannot run as forbidden uid (33/php5.0-fcgi)
[2007-12-10 21:06:26]: uid: (vuser1/vuser1) gid: (vuser1/vuser1) cmd: php-fcgi-starter
[2007-12-10 21:06:26]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)
[2007-12-10 21:06:31]: uid: (vuser1/vuser1) gid: (vuser1/vuser1) cmd: php-fcgi-starter
[2007-12-10 21:06:31]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)
[2007-12-10 21:06:36]: uid: (vuser1/vuser1) gid: (vuser1/vuser1) cmd: php-fcgi-starter
[2007-12-10 21:06:36]: command not in docroot (/var/virtual/php-fcgi/VHOST/php-fcgi-starter)

Roger Wilco
Administrator
Administrator
Posts: 6001
Joined: 2004-05-23 12:53

Re: APACHE2 + PHP5 + FASTCGID letzer post von TM

Post by Roger Wilco » 2007-12-10 21:58

Schau dir mal die Ausgabe von `/usr/lib/apache2/suexec -V` an. Außerdem sollte /usr/lib/apache2/suexec eigentlich die Rechtemaske 4755 haben (wegen SUID-Bit).

time-walker
Posts: 48
Joined: 2006-02-15 14:17
Location: Osna

Re: APACHE2 + PHP5 + FASTCGID letzer post von TM

Post by time-walker » 2007-12-11 18:21

habs auch gerade gesehen, der nimmt ja nur /var/www an, deswegen hab ich mal das ganze nach /var/www verschoben.
und hab das ganze mal gelöscht und wie es unter debian etch empfohlen wird apache2 + php5 fastcgid installiert, das ganze läuft nun auch.
hab da nur ein kleines problem

die Webseite war anfangs erreichbar nun garnicht mehr in error.log steht fehler code 255.

Code: Select all

[Tue Dec 11 18:21:49 2007] [notice] mod_fcgid: process /var/www/bib.powertuxx.de/htdocs/index.php(24666) exit(server exited), terminated by calling exit(), return code: 255
[Tue Dec 11 18:21:49 2007] [warn] mod_fcgid: can't apply process slot for /var/www/bib.powertuxx.de/htdocs/index.php
[Tue Dec 11 18:21:53 2007] [notice] mod_fcgid: process /var/www/bib.powertuxx.de/htdocs/index.php(24668) exit(server exited), terminated by calling exit(), return code: 255
[Tue Dec 11 18:21:56 2007] [notice] mod_fcgid: server /var/www/bib.powertuxx.de/htdocs/index.php(24669) started
[Tue Dec 11 18:21:57 2007] [notice] mod_fcgid: server /var/www/bib.powertuxx.de/htdocs/index.php(24670) started
[Tue Dec 11 18:21:57 2007] [notice] mod_fcgid: process /var/www/bib.powertuxx.de/htdocs/index.php(24669) exit(server exited), terminated by calling exit(), return code: 255

time-walker
Posts: 48
Joined: 2006-02-15 14:17
Location: Osna

Re: APACHE2 + PHP5 + FASTCGID letzer post von TM

Post by time-walker » 2007-12-11 18:57

VHOST VERÄNDERT

habe das ganze nach diesen Howto verwirklicht.
http://www.fabianfuchs.com/archives/7-A ... -Etch.html

mein vhost sieht aus aus:

Code: Select all

<VirtualHost *:80>
 SuExecUserGroup vuser1 vuser1

 ServerAdmin email
 ServerName domain.ltd
 ServerAlias ww.domain.ltd

  DocumentRoot /var/www/powertuxx.de/htdocs/

  <Directory /var/www/powertuxx.de/htdocs/>
  Options Indexes MultiViews FollowSymLinks +ExecCGI
  FCGIWrapper /var/www/conf/powertuxx.de/php5-fcgid .php
  AllowOverride None
  Order allow,deny
  Allow from all
  </Directory>

        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On

</Virtualhost>


php5-cgid script

Code: Select all

#!/bin/sh
PHPRC="/var/www/conf/bib.powertuxx.de/"
export PHPRC
exec /usr/bin/php5-cgi



in
/etc/apache2/mods-available/fcgid.conf

wurder eintrag angepasst:
AddHandler fcgid-script .cfgi
zu
AddHandler fcgid-script .php

Fehlermeldung:

Code: Select all

[Tue Dec 11 19:38:52 2007] [warn] mod_fcgid: process 26265 graceful shutdown timeouted, sending SIGKILL
[Tue Dec 11 19:38:58 2007] [notice] mod_fcgid: process /var/www/bib.powertuxx.de/htdocs/index.php(26265) exit(communication error), get stop signal 9
[Tue Dec 11 19:39:02 2007] [error] [client 66.249.66.198] File does not exist: /var/www/bib.powertuxx.de/htdocs/forums
[Tue Dec 11 19:40:38 2007] [notice] mod_fcgid: call /var/www/bib.powertuxx.de/htdocs/index.php with wrapper /var/www/conf/bib.powertuxx.de/php5-fcgid
[Tue Dec 11 19:40:38 2007] [notice] mod_fcgid: server /var/www/bib.powertuxx.de/htdocs/index.php(26300) started
[Tue Dec 11 19:41:17 2007] [warn] (110)Connection timed out: mod_fcgid: ap_pass_brigade failed in handle_request function
[Tue Dec 11 19:41:20 2007] [notice] mod_fcgid: process 26300 going graceful shutdown, sending SIGTERM
[Tue Dec 11 19:41:26 2007] [warn] mod_fcgid: process 26300 graceful shutdown timeouted, sending SIGKILL
[Tue Dec 11 19:41:32 2007] [notice] mod_fcgid: process /var/www/bib.powertuxx.de/htdocs/index.php(26300) exit(communication error), get stop signal 9


warnung beim starten von APACHE:

Warning: SuexecUserGroup directive requires SUEXEC wrapper.
[Tue Dec 11 20:24:14 2007] [warn] _default_ VirtualHost overlap on port 80, the first has precedence