PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache Fehler nach Update SuSE 9.1 -- 9.3 / PHP als FCGI



einherjer
10.09.06, 06:01
Hi,

nach einem Update von SuSE 9.1 auf 9.3 lässt sich der Apache nicht mehr starten. Scheinbar hat sich irgendwas bei FCGI geändert?

Fehlermeldung: Starting httpd2 (worker) Syntax error on line 6 of /etc/apache2/vhost.d/vhost.conf:
FastCgiSuexec cannot occur withhin <VirtualHost> section

die entsprechende vhost sieht so aus:



NameVirtualHost 111.111.111.111:80
<VirtualHost 111.111.111.111:111>
ServerName vhost.de
ServerAlias www.vhost.de
ServerAdmin webmaster@vhost.de
FastCgiSuexec on
FastCgiWrapper /usr/sbin/suexec2
SuexecUserGroup vhostuser vhostgroup
ScriptAlias /fcgi-bin/ /home/user/public_html/htdocs/fcgi-bin/
<Location /fgci-bin/>
SetHandler fastcgi-script
</Location>
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /fcgi-bin/php_fcgi
DocumentRoot /home/user/public_html/htdocs
ErrorLog /var/log/apache2/vhost_error_log
LogLevel warn
CustomLog /var/log/apache2/vhost_log "combined"
AccessFileName .htaccess
ServerSignature Off
Alias /error/ /usr/share/apache2/error/
Alias /icons/ /usr/share/apache2/icons/
Alias /awstatsclasses /home/user/public_html/htdocs/statistics/classes/
Alias /awstatscss /home/user/public_html/htdocs/statistics/css/
Alias /awstatsicons /home/user/public_html/htdocs/statistics/icon/
ScriptAlias /awstats/ /home/user/public_html/htdocs/statistics/cgi-bin/
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
RewriteCond %{ENV:REDIRECT_STATUS} !=200
RewriteRule /fcgi-bin/php_fcgi - [F]
<Directory />
AllowOverride None
</Directory>
<Directory "/home/user/public_html/htdocs">
AllowOverride AuthConfig
Order allow,deny
Allow from all
Options -MultiViews -Indexes
</Directory>
DirectoryIndex index.html index.htm index.php
<Directory "/home/user/public_html/htdocs/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<Directory "/home/user/public_html/htdocs/fcgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


Jetzt bin ich etwas ratlos weil es vorher ja tadellos funktioniert hat....

Das ist nach dem Update zwar nicht das einzige Problem aber mal das auffälligste ;-)
Nach und nach bekomm ich die Fehler hoffentlich weg *g*

Fly
10.09.06, 10:32
Die Vhost Konfiguration interessiert uns eher weniger, falls während dem update keine Änderungen vorgenommen wurde... Die Error Logs sind hilfreich, was sagen die?

einherjer
11.09.06, 03:41
Naja, dachte es ist vielleicht daraus etwas ersichtlich das sich mit der neuen Version geändert hat...

Da das Mailsystem (Postfix, Cyrus, Mailscanner, Auth mit pam_mysql etc.) auch nicht mehr ging hab ich jetzt gleich das Update auf 10.1 durchgeführt.

Wenn schon mit zittrigen Fingern an der Tastatur dann soll sich das auch lohnen ;-)

Während die Kiste ansonsten wieder recht rund läuft macht der Apache noch immer Probleme.

Der Fehler nach rcapache2 start sieht jetzt aktuell so aus:



rcapache2 start
Module "fastcgi" is not installed, ignoring.
Check the APACHE_MODULES setting in /etc/sysconfig/apache2.
Starting httpd2 (worker) Syntax error on line 6 of /etc/apache2/vhosts.d/vhost.de.conf:
Invalid command 'FastCgiSuexec', perhaps misspelled or defined by a module not included in the server configuration
The command line was:
/usr/sbin/httpd2-worker -f /etc/apache2/httpd.conf
failed



rcapache2.out sagt:


Syntax error on line 6 of /etc/apache2/vhosts.d/vhost.de.conf:
Invalid command 'FastCgiSuexec', perhaps misspelled or defined by a module not included in the server configuration


in rc.out steht:


Syntax error on line 6 of /etc/apache2/vhosts.d/vhost.de.conf:
FastCgiSuexec cannot occur within <VirtualHost> section


In die restlichen logs wird nichts geschrieben...

Hat schon jemand php als fgci unter 10.1 laufen?

marce
11.09.06, 06:12
Könntest Du uns auch noch was über die verwendeten Versionen und die Art der Installation erzählen oder sollen wir raten?

einherjer
11.09.06, 09:52
Versionen sind die von der jeweiligen SuSE Version. Keine eigenen rpms oder dergleichen.

Art der Installation?
War 9.1, Update auf 9.3 (nur Pakete aktualisieren), wenig erfolgreich verlaufen, Update auf 10.1 weil eh schon wurscht (auf Basis Minimalinstallation)

Fly
11.09.06, 20:15
hast du keine sicherung von 9.1, nach dem fehlgeschlagene update auf 9.3? hab nämlich schon mal von 9.1 auf 10.0 upgedatet und damals hatte ich keine Probleme, nur ein paar Kleinigkeiten mit dem Bootmanager grub... falls du von 9.3 auf 10.1 upgedatet hast, dann nimmst du praktisch dein problem mit und so wird sich das problem nicht lösen. nimm mal den fastcgi modul im apache raus und schau mal, ob apache so dann läuft...

einherjer
12.09.06, 09:57
Natürlich hab ich ne Sicherung der 9.1 nur läuft die Konfiguration von der 9.1 nicht mehr. Und wieder auf 9.1 zurück ist keine Option.

Scheinbar liegt es am anderen fcgi Modul das jetzt Verwendung findet: http://fastcgi.coremail.cn

Hat das jemand mit verschiedenen vhosts am laufen? Vielleicht sogar mit eigener php.ini per vhost?

einherjer
13.09.06, 09:55
Mittlerweile hab ich apache zumindest soweit das er suexec wieder einbindet - er will /usr/sbin/suexec2 gerne setuid root haben.

Trotzdem werden noch immer keine php scripts ausgeführt sondern ein Fehler 500 ausgegeben und zum download angeboten...

suexec.log sagt jetzt
[2006-09-13 10:40:29]: uid: (1006/alterkon) gid: (1006/1006) cmd: php_fcgi
[2006-09-13 10:40:29]: command not in docroot (/home/user/public_html/htdocs/fcgi-bin/php_fcgi)

suexec2 -V
-D AP_DOC_ROOT="/srv/www"
-D AP_GID_MIN=96
-D AP_HTTPD_USER="wwwrun"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX="public_html"


der vhost jetzt so
<VirtualHost *:80>
ServerName vhost.de
SuexecUserGroup user user
ScriptAlias /fcgi-bin/ /home/user/public_html/htdocs/fcgi-bin/
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /fcgi-bin/php_fcgi
<Location /fgci-bin/>
Options +ExecCGI
SetHandler fastcgi-script
</Location>
DocumentRoot /home/user/public_html/htdocs
ErrorLog /var/log/apache2/user_error_log
LogLevel warn
CustomLog /var/log/apache2/user_log "combined"
AccessFileName .htaccess
ServerSignature Off
Alias /error/ /usr/share/apache2/error/
Alias /icons/ /usr/share/apache2/icons/
Alias /awstatsclasses /home/user/public_html/htdocs/statistics/classes/
Alias /awstatscss /home/user/public_html/htdocs/statistics/css/
Alias /awstatsicons /home/user/public_html/htdocs/statistics/icon/
ScriptAlias /awstats/ /home/user/public_html/htdocs/statistics/cgi-bin/
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
RewriteCond %{ENV:REDIRECT_STATUS} !=200
RewriteRule /fcgi-bin/php_fcgi - [F]
<Directory />
AllowOverride None
</Directory>
<Directory "/home/user/public_html/htdocs">
AllowOverride AuthConfig
Order allow,deny
Allow from all
Options -MultiViews -Indexes
</Directory>
DirectoryIndex index.html index.htm index.php
<Directory "/home/user/public_html/htdocs/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<Directory "/home/user/public_html/htdocs/fcgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
</VirtualHost>


und das script so

#!/bin/sh

PHPRC="/home/user/public_html/conf"
export PHPRC
PHP_FCGI_CHILDREN=2
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_MAX_REQUESTS
export FCGI_WEB_SERVER_ADDRS=127.0.0.1,81.169.131.237
exec /srw/www/cgi-bin/php5

Sorry, aber ich brings ned ans laufen und hab keine Idee mehr....
Der Rotz ging ja vorher auch...

einherjer
13.09.06, 22:36
es läuft wieder so halbwegs....

aus der vhost fliegen die Zeilen:
FastCgiSuexec on
FastCgiWrapper /usr/sbin/suexec2

/usr/sbin/suexec2 bekommt 4755 und aus /srv/www wird ////home
(grausame Lösung....)

in der php.ini und im Startscript noch Dateinamen (srv/www/cgi-bin/php5) bzw. extensions Verzeichnis anpassen

Weit entfernt von perfekt und sauber, bringt aber erstmal wieder buntes Bild