如何在Centos 7中更改虚拟主机的apache用户?

时间:2016-01-15 22:46:06

标签: apache centos virtualhost httpd.conf

我正在尝试在Centos 7上设置Web服务器。我通过编辑/etc/httpd/conf/httpd.conf创建了一个虚拟主机。虚拟主机的根目录设置为/var/www/html/domain.com。我可以在浏览器中打开domain.com,没有任何问题。

但是,当我在PHP文件中使用get_current_user()来测试运行服务器的用户时,输出是“root”,这是一个安全性问题。

如何更改虚拟主机的用户?当我在Ubuntu中设置类似的场景时,我使用了apache2-mpm-itk模块,并使用“AssignUserID your_username your_username”配置了虚拟主机,并且它完成了这一操作。但我不知道如何在Centos中做到这一点。

由于

4 个答案:

答案 0 :(得分:2)

您可以尝试使用SuexecUserGroup。

我从plesk的配置中找到了这个方法。

<VirtualHost *:80>
.
.
.
        <IfModule mod_suexec.c>
                SuexecUserGroup "anyuser" "anygroup"
        </IfModule>
.
.
.
/VirtualHost>

答案 1 :(得分:0)

在CentOS中,此命令为您提供文件的所有者,而不是进程ID的所有者。这样的事情。它在PHP手册中。查看底部的评论。 get_current_user()顺便说一句,检查httpd.conf和httpd-vhost.conf中的UserGroup指令。此外,使用ps -faux可以清楚地了解httpd二进制文件与它生成的子元素之间的过程产生关系。只是想帮忙。 ; - )

另外,请查看本页顶部的How Apache Starts,以确保您了解Apache默认情况下的工作方式。如果你不这样做,那可能是一件好事! ; - )

答案 2 :(得分:0)

在CentOS 7中,您可以使用httpd-itk软件包。它位于EPEL存储库中,因此您需要先添加它。这样的事情应该得到它:

yum install epel-release
yum install httpd-itk

安装完成后,您需要通过取消注释LoadModule行来加载模块:

/etc/httpd/conf.modules.d/00-mpm-itk.conf

重新启动httpd,然后您可以在VirtualHost部分中使用新的AssignUserID指令。

答案 3 :(得分:-1)

您是否查看过/etc/httpd/conf/httpd.conf中指定的用户/组?它看起来像这样:

User apache Group apache