为什么运行“apachectl -k start”不起作用,但是“sudo apachectl -k start”呢?

时间:2009-05-24 20:40:50

标签: apache aptana sudo

我正在使用默认的Apache安装我的OS X.出于某种原因,当我运行没有“sudo”的“apachectl”命令时,我得到“没有可用的侦听套接字/无法打开日志”。我猜这是一个允许的事情,所以有人可以帮助我吗?我正在使用Apache 2.2。

另外,附带问题,哪里的Apache脚本文件基本上是linux执行的“exe”?我正在尝试将我的服务器与Aptana Studio集成,它需要Apache安装的路径。我知道在Windows中,这将是“C:\ path \ to \ httpd.exe”,但我不知道它在linux中是如何工作的。

3 个答案:

答案 0 :(得分:6)

您的服务器是否正在侦听端口80? (通常)只允许root打开1024以下的端口。因此需要sudo

当你can see时,很多人都想知道如何解决这个问题。一种可能的解决方案是在路由器上执行端口转发。 (我假设你在路由器后面......)。然后,端口80上的传入连接可以转发到例如端口8080.因此只有本地才需要连接到端口8080.(可能有更优雅的解决方案......其他人会发布它们。)

答案 1 :(得分:0)

我认为一般(在OS X和Linux上 - 我不确定你指的是哪一个)httpd二进制文件位于:/ usr / sbin / httpd

如果你需要能够重启Apache,并且你不能以root用户身份(无论出于何种原因......),那么你可能不得不接受一个非“众所周知”的端口。

答案 2 :(得分:0)

试试这个

(用php) $ a = shell_exec('sudo -u root -S /etc/init.d/apache2 restart< / home / $ user / passfile');

密码应存储在passfile中