我需要让apache作为非root用户运行,监听端口8443,以便在CentOS 7.3系统上有一个可用于内部安全扫描的新网站(在localhost:8443上)。我只了解apache的基础知识(在Ubuntu上),而且我不是网络管理员,因此我不熟悉使其工作所需的许多选项/配置设置。
我有一个目录(/ webcontent)与我的网站内容(需要php),并可以在那里托管所需的各种conf文件。但是我很难通过正确设置httpd.conf来使apache作为本地用户运行,并启动:
httpd -f /webcontent/conf/httpd.conf
并且已将日志设置为写入/ webcontent / logs(通过ErrorLog参数),但它然后抱怨没有对/ run / httpd的写入权限,因此实际上没有开始:
[2月23日星期二11:59:51.289587 2017] [auth_digest:错误] [pid 25464] (13)权限被拒绝:AH01762:无法创建共享内存段 在档案/run/httpd/authdigest_shm.25464
我想这只是我可能要运行的许多问题中的第一个,所以如果有人能指出httpd.conf(或其他地方?)中所需的特定配置设置来使这个场景工作,那就会非常感谢。或者有关于运行apache的非root实例进行测试的任何其他建议。
答案 0 :(得分:0)
有点晚了,但我发现到目前为止还没有答案。我自己也遇到过这个问题。我的解决方案如下。
使用DefaultRuntimeDir
指令覆盖默认的“/ run / httpd”目录。这是在httpd.conf中。例如:
DefaultRuntimeDir "/my/local/rundir"
这会导致apache创建“/my/local/rundir/authdigest_shm.1234”
由于某些原因,这也不会覆盖默认的pid文件目录,因此请使用PidFile
指令进行设置,例如:
PidFile "/my/local/rundir/httpd.pid"
您可能还想查看ServerRoot
指令。