我正在努力让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
答案 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