为什么子域 运行 中的 php 文件不与主域 (Webmin) 在同一 user/group 下?

Why don't php files in subdomain run under same user/group as main domain (Webmin)?

系统:LAMP堆栈运行ning CentOS 6和Virutalmin/Webmin。

我使用 Webmin 在现有主域(也是使用 Webmin 创建)中设置了一个子域。主域 运行 作为用户 910,组 582。使用以下代码将 php 脚本放在主域的 public_html 目录中:

<? echo `whoami`; ?>

生成域所有者的用户名。

在子域的 public_html 中放置相同的脚本会生成 'apache'。

目录和文件拥有相同的所有权 (910:582)。

在 /etc/httpd/conf/httpd.conf 中,两个虚拟主机具有相同的 SuexecUserGroup 行:

SuexecUserGroup "#910" "#582"

我需要同一用户下的 运行 子域,以便 Wordpress 可以直接访问文件。否则,我必须将子域中的所有内容更改为 apache:apache,这是一种安全 risk/bad 做法。

我在这里错过了什么?

谢谢!

原来这个问题是由几件事造成的:

  1. mod_php5 默认启用。添加指令

    php_admin_value engine Off
    

此虚拟主机的 httpd.conf 文件禁用与 suexec 不兼容的 mod_php5。

  1. 添加 FCGIWrapper 指令,它不是由 Webmin 创建的

    FCGIWrapper [home dir]/fcgi-bin/php5.fcgi .php
    
  2. 在fcgi-bin目录下创建php5.fcgi文件。我刚刚从另一个虚拟主机复制了这个文件,因为它只是一个 bash shell 脚本来启动 php 解释器。

  3. 将 AddHandler 和 AddType 指令添加到主 VirtualHost 部分以及 public_html <directory> 部分:

    AddType application/x-httpd-php .php
    
    AddHandler fcgid-script .php
    
  4. 确保所有文件所有权和权限都正确设置为帐户所有者。