Apache-2.2

在 centos 6.5 上使用 puppetlabs/apache 設置 suPHP

  • December 15, 2014

我正在嘗試在帶有 puppetlabs/apache 模組的 centos 6.5 機器上設置 suPHP。

阿帕奇配置

file { "/var/www/vhosts":
       ensure => "directory",
       owner  => "root",
       group  => "root",
       mode   => 755,
   }

   class { '::apache':  
       require => File['/var/www/vhosts'],
   }

   include ::apache::mod::suphp

虛擬主機範例

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找不到,所以我安裝並啟用了 rpm forge。

[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"

引用自:https://serverfault.com/questions/650137