![在 CentOS v7 上启动 Apache 时命令 AssignUserId 无效](https://linux22.com/image/718525/%E5%9C%A8%20CentOS%20v7%20%E4%B8%8A%E5%90%AF%E5%8A%A8%20Apache%20%E6%97%B6%E5%91%BD%E4%BB%A4%20AssignUserId%20%E6%97%A0%E6%95%88.png)
我对 Linux 还很陌生。我正在关注本文。
基本上,我想为我的一个 WordPress 网站创建一个 VirtualHost。这个服务器是全新的,运行的是 CentOS。
我已经完成yum install httpd-itk
并且安装顺利。
但是,一旦我将该AssignUserId vhost-user vhost-user-group
文件添加.conf
到我的网站,我就会得到以下信息:
我里面有的是.conf
这个:
NameVirtualHost nativeleaf.co.uk
<VirtualHost nativeleaf.co.uk>
DocumentRoot /var/www/nativeleaf.co.uk/public
ServerName nativeleaf.co.uk
AssignUserId vhost-user vhost-user-group
</VirtualHost>
我无法启动httpd
。为什么会发生这种情况?我该如何解决?
更新
我不确定是否应该为此创建一个新问题,但请参阅 Andrew 的回答。在他的帮助下,我设法加载了模块,并摆脱了那个错误,但现在又面临另一个错误。
如您所见,错误表明 vhost-user 是一个错误的名称!如前所述,我正在按照教程操作,并且这是所使用的用户,我应该用其他名称来更改它吗?教程中没有提到这一点。
答案1
由于 mod_mpm_itk 定义了该AssignUserId
指令,我猜你还没有在 Apache 配置中加载该模块。确保配置包含该指令
LoadModule mpm_itk_module modules/mpm_itk.so
正如错误消息所示,“可能由服务器配置中未包含的模块定义。”请参阅文档加载模块。
在您的AssignUserId
指令中,您应该用主机上定义的用户和组的名称来替换 和vhost-user
。vhost-user-group
例如,您可以nativeleaf
在主机上创建一个用户并将其添加到apache
组中:
sudo useradd -g apache nativeleaf
那么如果你的指令是
AssignUserId nativeleaf apache
那么 nativeleaf.co.uk 网站的 Web 代码将全部以用户身份运行nativeleaf
(在组中),因此在某种程度上与在其他虚拟主机中apache
以用户身份运行的代码区分开来。apache