Ich habe PHP aus dem Quellcode kompiliert und installiert auf/opt/php/5.5.15/
yum
Ich habe auch (mit ) httpd
, und installiert mod_fcgid
.
Ich versuche, einen virtuellen Host so zu konfigurieren, dass PHP wie folgt ausgeführt wird:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/my-site.example.com/site/public
ServerName my-site.example.com
ErrorLog /var/www/my-site.example.com/logs/my-site.example.com-error_log
CustomLog /var/www/my-site.example.com/logs/my-site.example.com-access_log common
<Directory /var/www/my-site.example.com/site/public>
Options +indexes
AllowOverride all
Order allow,deny
Allow from all
Action application/x-httpd-php /php-5.5.15-bin/php-cgi
</Directory>
</VirtualHost>
<IfModule mod_fcgid.c>
IdleTimeout 3600
ProcessLifeTime 7200
MaxProcessCount 64
DefaultMaxClassProcessCount 8
IPCConnectTimeout 300
IPCCommTimeout 7200
BusyTimeout 300
<FilesMatch ".+\.ph(p[345]?|t|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>
ScriptAlias /php-5.5.15-bin/ /opt/php/5.5.15/bin/
<Directory "/opt/php">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
</IfModule>
Ich erhalte diesen Fehler:
[Thu Aug 14 17:36:20 2014] [error] [client 127.0.0.1] (13)Permission denied: exec of '/opt/php/5.5.15/bin/php-cgi' failed, referer: http://my-site.example.com:10080/
[Thu Aug 14 17:36:20 2014] [error] [client 127.0.0.1] Premature end of script headers: php-cgi, referer: http://my-site.example.com:10080/
Ich habe es mit chmod 777 php-cgi
und versucht chown apache:apache php-cgi
, beides hat keinen Unterschied gemacht.
Irgendwelche Ideen?
Hinweis: Dieses Setup funktioniert gut unter Debian
Antwort1
Es stellte sich also heraus, dass SELinux httpd-Ausführungsrechte für den PHP-CGI-Bin verweigerte.
Beim Anzeigen von /var/log/audit/audit.log wurde dies angezeigt.
Durch Ausführen des Folgenden ist dies möglich:
sudo chcon -t httpd_sys_script_exec_t /opt/php/5.5.15/bin/php-cgi