我试图在puppetlabs / apache模块的centos 6.5盒子上设置suPHP。
Apacheconfiguration
file { "/var/www/vhosts": ensure => "directory", owner => "root", group => "root", mode => 755, } class { '::apache': require => File['/var/www/vhosts'], } include ::apache::mod::suphp
Vhosts例子
apache::vhost { $site: port => '80', serveraliases => [ $root, "www.${site}", "development.${site}", "www.development.${site}", ], options => ['Indexes', 'FollowSymlinks'], suphp_engine => 'on', suphp_addhandler => 'x-httpd-suphp', suphp_configpath => '/etc/httpd/conf.d/suphp.conf', directories => { path => "${_root}/${webroot}", 'suphp' => { user => $owner, group => $group }, }, override => 'ALL', logroot => "${_root}/${logroot}", docroot => "${_root}/${webroot}", docroot_owner => $owner, docroot_group => $group, }
当应用这些mod_suphp无法find,所以我安装并启用rpm伪造。
[rpmforge] name = RHEL $releasever - RPMforge.net - dag baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge mirrorlist = http://apt.sw.be/redhat/el6/en/mirrors-rpmforge #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge enabled = 1 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1
我重新运行它,它会安装,但现在我得到一个500 internal server error的PHP页面。
Apache日志正在显示这一点。
[Mon Dec 08 16:51:02 2014] [error] [client 192.168.50.1] SecurityException in Application.cpp:496: Handler not found in configuration [Mon Dec 08 16:51:02 2014] [error] [client 192.168.50.1] Caused by KeyNotFoundException in Configuration.cpp:234: Handler "application/x-httpd-suphp" not found [Mon Dec 08 16:51:02 2014] [error] [client 192.168.50.1] Premature end of script headers: index.php
suphp日志是空的。
检查以确保vhost定义中的x-httpd-suphp与/etc/httpd/conf.d/suphp.conf定义的处理程序匹配。 例如:
application/x-httpd-suphp="php:/usr/bin/php-cgi"