0

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

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

4

3 回答 3

6

您的服务器是否在侦听端口 80?(通常)只有 root 被允许打开低于 1024 的端口。因此需要sudo.

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

于 2009-05-24T20:43:29.753 回答
0

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

如果您需要能够重新启动 Apache,并且您不能以 root 身份执行此操作(无论出于何种原因..),那么您可能不得不接受一个非“知名”端口。

于 2009-05-24T21:07:40.830 回答
0

试试这个

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

密码应存储在密码文件中

于 2010-02-17T04:15:41.247 回答