Page 1 of 1
Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-12 18:00
by corni
Hi
Ich habe ein Problem mit Apache2 und fastCGI bzw. Fcgid. Ich will im normalen Server per mod_php PHP haben, und in einem speziellen Directory PHP 5.2.1. Soweit, so gut. PHP überalll fuktioniert, das binary für 5.2.1 ist auch als FastCGI konmpiliert und läuft (phpinfo enthält nur komischerweise nicht da komplette ./configure-Statement). Nur in dem Directory gibts einen 500 bei jeder PHP-Datei und im Error_log
Code: Select all
[Mon Feb 12 13:22:13 2007] [notice] mod_fcgid: call /var/www/html/php5.2.1/phpBB2/index.php with wrapper /usr/local/php5.2.1/bin/php
[Mon Feb 12 13:22:13 2007] [notice] mod_fcgid: server /var/www/html/php5.2.1/phpBB2/index.php(28858) started
[Mon Feb 12 13:22:13 2007] [warn] (104)Connection reset by peer: mod_fcgid: read data from fastcgi server error.
[Mon Feb 12 13:22:13 2007] [error] [client 127.0.0.1] Premature end of script headers: index.php
X-Powered-By: PHP/5.2.1
Content-type: text/html
[Mon Feb 12 13:22:16 2007] [notice] mod_fcgid: process /var/www/html/php5.2.1/phpBB2/index.php(28858) exit(communication error), terminated by calling exit(), return code: 0
Das Logllevel ist natürlich debug ;)
Der Directory-Abschnitt in der httpd.conf
Code: Select all
<Directory /var/www/html/php5.2.1>
AddHandler fcgid-script .php
FCGIWrapper /usr/local/php5.2.1/bin/php .php
Options +ExecCGI -MultiViews +Indexes
Order allow,deny
AllowOverride All
Allow from all
Deny from None
</Directory>
Und die fcgid.conf
Code: Select all
# This is the Apache server configuration file for providing FastCGI support
# through mod_fcgid
#
# Documentation is available at http://fastcgi.coremail.cn/doc.htm
LoadModule fcgid_module modules/mod_fcgid.so
# Use FastCGI to process .fcg .fcgi & .fpl scripts
# Don't do this if mod_fastcgi is present, as it will try to do the same thing
<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
</IfModule>
# Sane place to put sockets
SocketPath run/mod_fcgid
MaxRequestsPerProcess 500
# This is the Apache server configuration file for providing FastCGI support
# through mod_fcgid
#
# Documentation is available at http://fastcgi.coremail.cn/doc.htm
LoadModule fcgid_module modules/mod_fcgid.so
# Use FastCGI to process .fcg .fcgi & .fpl scripts
# Don't do this if mod_fastcgi is present, as it will try to do the same thing
<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
</IfModule>
# Sane place to put sockets
SocketPath run/mod_fcgid
MaxRequestsPerProcess 500
Dist ist Fedora Core 6: Könnt ihr mir helfen/braucht ihr mehr Input? Ich bin nur ratlos, was da los ist.
MfG
Corni
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-12 19:12
by kase
Ganz sicher, dass das LogLevel Debug ist?
Das sieht mir sehr nach einem Socket Fehler aus, und die sind bei fcgid im Level Debug drin.
Ansonsten, was sagt die suexec.log?
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-12 19:45
by corni
Hi
in der frisch gecleanten error_log sind Debug-Infos beim starten drin, deshalb, das ist schon Loglevel debug ;) Und eine suexec.log ist bei mir nicht vohanden, zumindest nicht in /var/log oder /var/log/httpd.
MfG
Corni
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-12 19:59
by kase
Das hat nichts zu sagen, man stellt ja für jeden vHost den LogLevel extra ein.
Es muss also LogLevel debug in deinem vhost drin stehen.
Hast du mod_suexec auch installiert und im vHost SuexecUserGroup gesetzt?
Ansonsten, schau mal ob wenigstens ein FASTCGI Socket existiert, und falls ja, welche Rechte es hat:
Code: Select all
find / -type s -iname "*cgi*"
ls -l GEFUNDENE(S)_CGI_SOCKET(S)
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-12 21:04
by corni
Hi
beim 1. findet er nix, Ausgabe des 2.
Code: Select all
edit: Unnötig, siehe meinen 2. Post
Und ich habe keine vhosts, das ist ne Workstation. Ich kann morgen noch eine von Kommentaren bereinigte httpd.conf posten, aber jetzt gehts nicht mehr ;)
MfG
Corni
edit: 1. als root, 2. kommt morgen als root, oben ist normaler benutzer
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 07:03
by corni
Hi
das 2. unter root ergibt auch nix :( Und meine httpd.conf:
Code: Select all
#
ServerRoot "/etc/httpd"
PidFile run/httpd.pid
Timeout 120
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 10
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 5
</IfModule>
Listen 80
LoadModule auth_basic_module modules/mod_auth_basic.so
#LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
#LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule logio_module modules/mod_logio.so
LoadModule env_module modules/mod_env.so
LoadModule ext_filter_module modules/mod_ext_filter.so
LoadModule mime_magic_module modules/mod_mime_magic.so
#LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
#LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule info_module modules/mod_info.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule actions_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
#LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
#LoadModule suexec_module modules/mod_suexec.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so
Include conf.d/*.conf
ExtendedStatus On
User apache
Group apache
ServerAdmin root@localhost
UseCanonicalName Off
DocumentRoot "/var/www/html"
<Directory />
AllowOverride All
</Directory>
<Directory "/var/www/html">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<IfModule mod_userdir.c>
#
UserDir disable
</IfModule>
DirectoryIndex index.html index.html.var index.php
AccessFileName .htaccess
<Files ~ "^.ht">
Order allow,deny
Deny from all
</Files>
TypesConfig /etc/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
# MIMEMagicFile /usr/share/magic.mime
MIMEMagicFile conf/magic
</IfModule>
HostnameLookups Off
#EnableMMAP off
#EnableSendfile off
ErrorLog logs/error_log
LogLevel debug
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
#CustomLog logs/access_log common
#CustomLog logs/referer_log referer
#CustomLog logs/agent_log agent
CustomLog logs/access_log combined
ServerSignature On
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
#
# WebDAV module configuration section.
#
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
</IfModule>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
DefaultLanguage de
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority de en ca cs da el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddDefaultCharset UTF-8
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Alias /error/ "/var/www/error/"
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
<Directory "/var/www/error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>
# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
# ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
# ErrorDocument 410 /error/HTTP_GONE.html.var
# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
# ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
</IfModule>
</IfModule>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4.0" force-response-1.0
BrowserMatch "Java/1.0" force-response-1.0
BrowserMatch "JDK/1.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
<Location /server-status>
SetHandler server-status
Order allow,deny
#Deny from all
Allow from all
</Location>
<Location /server-info>
SetHandler server-info
Order allow,deny
# Deny from all
Allow from all
</Location>
<Directory /var/www/html/php5.2.1>
AddHandler fcgid-script .php
FCGIWrapper /usr/local/php5.2.1/bin/php .php
Options +ExecCGI -MultiViews +Indexes
Order allow,deny
AllowOverride All
Allow from all
Deny from None
</Directory>
### Section 3: Virtual Hosts
MfG
Corni
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 18:05
by Roger Wilco
Corni wrote:Hi
das 2. unter root ergibt auch nix :(
Und das gibt dir nicht zu denken?
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 18:20
by corni
Hi
Ich habe das mod_fcgid mit apt-get installiert, und ging deshalb mal davon aus, das es dann läuft. Was müsste Ich denn machen, das da was ausgespuckt wird (Ich habe ehrlich gesagt, kein Ahnung, wonach da gesucht wird, kase hat nur was von einem Socket gesagt)?
MfG
Corni
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 18:38
by kase
Installier mal suexec
Dann in bzw vor den Directory
Es ist zwar nicht unbedingt so, dass suexec in deinem Fall viel bringen würde, aber vielleicht haben wir so eine genauere Fehlermeldung, falls es Probleme mit dem Starten des php-Bins gibt. (in der suexec.log)
Außerdem bitte die Ausgabe von:
PS: ich bin etwas irritiert, weil du keine vHosts hast. Eine Konfiguration komplett ohne vHosts habe ich noch nicht so oft gesehen. Bisher habe ich immer den Default-vHost bei so etwas benutzt, der ja bei Debian auch standardmäßig dabei ist.
Edit: Wegen dem Socket. Da bei dir kein CGI Socket existiert, startet dein php-Bin vermutlich nicht.
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 18:58
by corni
Hi
es gibt auf meinem System weder a2enmod noch ist in den Repos was von suexec oder a2enmod zu sehen. Das letzte sieht normal aus:
Code: Select all
PHP 5.2.1 (cgi) (built: Feb 11 2007 15:22:43)
Copyright (c) 1997-2007 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
[root@localhost corni]#
Ich glaube, Ich kompiliere es nochmal neu, das ich 100% sicher sein kann, mit --enable-fastcgi kompiliert zu haben...
MfG
Corni
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 19:12
by corni
Hi
es aht sich nix geändert, immer noch 500er, Ausgabe von
Ist immer noch die gleiche...
MfG
Corni
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 19:38
by kase
So muss es aussehen:
Code: Select all
# php5-cgi -v
PHP 5.2.0-8 (cgi-fcgi) (built: Dec 17 2006 19:57:41)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies
Deswegen auch die 500er...
Edit: suexec kannst du jetzt auch getrost draußen lassen, der Fehler ist ja gefunden
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 19:45
by corni
Hi
mein ./configure:
Code: Select all
./configure --with-gd --with-mysql --with-mysqli --with-bz2 --with-zlib --disable-debug --disable-cli --without-sqlite --without-safemode --enable-fastcgi --prefix=/usr/local/php5.2.1 --enable-force-cgi-redirect --enable-discard-path
Das sit so aus der bashhistory. ./configure und make jeweils unter dem user corni, make install dann unter root. hast du ne Ahnung, was da falsch dran ist?
MfG
Corni
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-13 20:54
by kase
Hmm, auf den ersten Blick sieht das ganz ok aus eigentlich, kann jetzt nicht sagen, warum er es nur als CGI baut.
Das --disable-cli kannst du ruhig weglassen, du hast dann sowohl ein CLI als auch ein CGI-FCGI Binary.
Ansonsten schau mal ins Configure Help, vielleicht hat sich ein Parameter geändert. cgi kannst du auch enablen, denn es ist kein Problem mehr heutzutage, die Binarys CGI-FCGI zu bauen, also beides. (siehe mein php -v)
Re: Problem mit Apache2 und FastCGI/FCGID
Posted: 2007-02-14 15:30
by corni
Hi
erst mal vielen Dank für deine Hilfe, es geht jetz mit folgendem ./configure:
Code: Select all
./configure --with-mysql --with-mysqli --with-bz2 --without-sqlite --without-safemode --enable-fastcgi --prefix=/usr/local/php5.2.1 --enable-force-cgi-redirect --enable-discard-path --enable-magic-quotes
Vorher hat er einfach kein fastcgi mit reingenommen, vielleicht mache ich da mal ein Test, obs die GDlib oder zLib war. Nochmal vielen Dank, ihr, und vor allem kase, habt mir sehr geholfen :)
MfG
Corni