2009-05-24 82 views
0

我正在使用Apache的默認安裝操作OS X.出於某種原因,當我運行不帶「sudo」的「apachectl」命令時,我得到「沒有可用的套接字/無法打開日誌。」我猜這是一個許可的事情,有人可以幫我解決嗎?我使用的是Apache 2.2。爲什麼運行「apachectl -k start」不起作用,但「sudo apachectl -k start」呢?

此外,側面的問題,其中的Apache腳本文件,基本上是「執行」的Linux執行?我試圖將我的服務器與Aptana Studio進行整合,並且它需要Apache安裝的路徑。我知道在Windows中,這將是「C:\路徑\到\ httpd.exe」,但我不知道這是如何工作在Linux中。

回答

6

服務器是否在端口80上偵聽? (通常)只允許root打開1024以下的端口。因此需要sudo

當你can see,很多人想知道如何解決這個問題。一種可能的解決方案是在您的路由器上執行端口轉發。 (我假設你在路由器後面......)。然後,端口80上的輸入連接可以被轉發到例如端口8080.因此,只有本地需要連接到端口8080.(可能有更優雅的解決方案...別人會張貼它們。)

+0

有意思,所以最好的解決方法是什麼?我喜歡不必輸入localhost:8080,但是與嘗試授權我的帳戶以打開端口80相比,這是更好的選擇嗎?似乎這將是一個普遍問題,只是想知道人們是如何解決它的。 – Bialecki 2009-05-24 20:54:32

0

我認爲一般(在OS X和Linux上 - 我是不知道您指的是哪一個)httpd二進制文件位於:/ usr/sbin/httpd

如果您需要能夠重新啓動Apache,並且您不能以root身份執行操作(無論出於何種原因..),那麼你可能需要解決一個非「知名」港口。

0

嘗試這種

(用PHP) $ A =了shell_exec( '須藤-u根-S /etc/init.d/apache2重啓< /家庭/ $用戶/密碼文件');

密碼應該存儲在密碼文件中

+0

我不確定這一點 – Rinu 2010-02-17 04:19:11

相關問題