我安装了全新的 Fedora 18,还安装了全新的 Virtualbox 4.2。我花了好几个小时才让 phpVirtualBox 正常工作。Apache 2.4 和 PHP 5.4 已安装,还有 phpVirtualBox 软件。尝试访问 phpVirtualBox 时,我成功登录,但随后我又要等待很长时间,直到出现“获取 HTTP 标头时出错”消息。
最后,我将 SeLinux 设置为宽容,然后 Bingo!一切开始正常了。出于某种原因,SeLinux 故障排除程序没有标记来自 SeLinux 的任何消息,我不知道现在该查找什么。
这是一个开发箱,所以我可以将 SeLinux 设置为宽容,但我需要在下一个项目中愤怒地完成这项工作。
那么,我的问题是:我需要对 SeLinux 策略进行哪些更改才能允许 phpVirtualBox 和 vboxwebsrv 一起工作?
如果我可以发布更多有帮助的信息,我会很乐意发布 - 只要告诉我是什么即可。
答案1
取决于很多因素。以下是您可以尝试的方法:
ls -lZ
无论 phpVirtualBox 安装在何处,请检查 selinux 安全上下文。如果安装在 /var/www/html 中,则上下文应该是
unconfined_u:object_r:httpd_sys_content_t:s0
如果不是,你可以设置它
restorecon -R /var/www/html/phpVirtualboxFolder
如果它在 /var/www/html 之外的某个地方,那么您可能只需要告诉 selinux 您正在从那里提供其网络内容。例如
semanage fcontext -a -t httpd_sys_content_t “/path/to/phpVirtualBoxfolder(/.*)?”
但正如 dawud 所说,/var/log/audit/audit.log 中的 AVC 拒绝将会非常有帮助。