如何使用非标准端口以非root用户身份运行Apache? [英] How to run apache as non-root, using non-standard ports?

查看:37
本文介绍了如何使用非标准端口以非root用户身份运行Apache?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要以非root用户身份运行Apache,侦听端口8443,以便在CentOS 7.3系统上有一个新网站可用于内部安全扫描(在localhost:8443上)。我只了解Apache(在Ubuntu上)的基础知识,而且我不是Web管理员,因此不熟悉运行此功能所需的许多选项/配置设置。

我有一个目录(/webcontent),其中包含我的网站内容(需要php),并且可以在那里托管各种必要的conf文件。但我在正确设置httpd.conf以便Apache以本地用户身份运行时遇到了困难,启动时为:

httpd -f /webcontent/conf/httpd.conf

并已将日志设置为写入/webcontent/logs(通过ErrorLog参数),但随后它报告没有/run/httpd的写入权限,因此不会实际启动:

[清华2017年2月23日11:59:51.289587][AUTH_DIGEST:ERROR][PID 25464] (13)权限被拒绝:AH01762:无法创建共享内存段 在文件/run/httpd/authdigest_shm.25464上

我想这只是我可能需要运行它的许多问题中的第一个,那么是否有人可以指出httpd.conf(或其他地方?)中需要的特定配置设置。要让这个场景发挥作用,我们将非常感激。或对运行Apache的非根实例进行测试有任何其他建议。

推荐答案

有点晚,但我看到到目前为止没有答案。我自己也遇到了这个问题。我的解决方案如下。

使用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指令。

这篇关于如何使用非标准端口以非root用户身份运行Apache?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆