suPHP将用户/组设置为虚拟主机并使用docroot

时间:2012-02-13 15:22:12

标签: suphp

我正在努力让suPHP工作,我按照教程,似乎已正确安装。

现在我的问题是这个

1)我在docroot文件中设置suphp.conf,但默认设置为/var/www。我遇到的问题是我的域也存储在另一个目录下。例如,我的子域名在一个目录中,而我的常规域名在另一个目录中。所以我在浏览器中抛出一个错误,告诉我域正在解析到不在配置中的目录。

2)我想知道如何使用suPHP_UserGroup在我的VirtualHost配置下设置特定域集的用户/组。

这是一个VirtualHost示例,我必须更好地展示我的问题。

<VirtualHost *:80>
    ServerAdmin admin@domain.com
    ServerAlias mail.domain.com
    DocumentRoot /web/users/domain.com/subdomains/mail/webmail

    <IfModule mod_suphp.c>
        suPHP_UserGroup mail mail
    </IfModule>

    <Directory "/web/users/domain.com/subdomains/mail/webmail">
        AllowOverride All
        Order allow,deny
        Allow from All
    </Directory>
</VirtualHost>

当我重新加载apache时出现错误:

Invalid command 'suPHP_UserGroup', perhaps misspelled or defined by a module not included in the server configuration

我将suPHP配置为:

./configure --prefix=/usr --sysconfdir=/etc --with-apr=/usr/bin/apr-1-config --with-apxs=/usr/sbin/apxs --with-apache-user=apache --with-setid-mode=owner --with-php=/usr/bin/php-cgi --with-logfile=/var/log/httpd/suphp_log --enable-SUPHP_USE_USERGROUP=yes

2 个答案:

答案 0 :(得分:0)

http://www.suphp.org/DocumentationView.html?file=apache/CONFIG

suPHP_UserGroup(期望用户名和组名)

  • 仅在使用setid-mode“force”或“paranoid”编译时才支持* 指定用于运行PHP脚本的用户名和组名。这个设置 只能在一个或上下文中使用。 示例:suPHP_UserGroup foouser bargroup

    ./ configure --prefix = / usr --sysconfdir = / etc --with-apr = / usr / bin / apr-1-config --with-apxs = / usr / sbin / apxs --with- apache-user = apache --with-setid-mode = paranoid --with-php = / usr / bin / php-cgi --with-logfile = / var / log / httpd / suphp_log --enable-SUPHP_USE_USERGROUP = yes < / p>

答案 1 :(得分:-1)

我将以下四行添加到我的vhost定义中。第二行与您的问题相关。

suPHP_Engine on
suPHP_UserGroup vhost_owner vhost_group 
suPHP_AddHandler x-httpd-php
AddHandler x-httpd-php .php .php3 .php4 .php5