2009-05-24 13 views
0

私はApacheのデフォルトインストールでOS Xで作業しています。何らかの理由で、私が "sudo"なしで "apachectl"コマンドを実行すると、 "待機中のソケットがない/ログを開くことができません"というメッセージが表示されます。私はこれが許可されていることを推測しているので、誰かが私を助けることができますか?私はApache 2.2を使用しています。"apachectl -k start"は動作しませんが、 "sudo apachectl -k start"は動作しますか?

また、サイドの質問は、Apacheのスクリプトファイルは、基本的には "実行する" exeファイルですか?サーバーをAptana Studioと統合しようとしており、Apacheにインストールするためのパスが必要です。私はWindowsでこれが "C:\ path \ to \ httpd.exe"になることを知っていますが、これはLinuxでどのように動作するのかわかりません。

答えて

6

サーバーはポート80でリッスンしていますか? (通常)rootのみが1024以下のポートを開くことができます。したがって、sudoの必要性。

あなたがcan seeとして、多くの人々がこれを回避する方法を疑問視しています。解決策の1つは、ルータでポート転送を実行することです。 (私はあなたがルータの後ろにいると仮定しています...)。次に、ポート80上の着信接続は、例えば、ポート8080に接続する必要があります。ポート8080に接続する必要があるのはローカルのみです(もっと優雅なソリューションがあるかもしれません...)。

+0

は面白いので、これを回避する最良の方法は何ですか? localhost:8080をタイプする必要はありませんが、ポート80を開くために自分のアカウントに許可を与えるよりも良い選択肢ですか?これは一般的な問題だと思われ、人々がそれを回避する方法を疑問に思うだけです。 – Bialecki

0

私は一般的にはOS XとLinuxの両方で/ usr/sbin/httpd

Apacheを再起動する必要がある場合は、rootとして実行する必要がある場合(何らかの理由で..)では、よく知られていないポートを解決する必要があります。

0

してみてください。この $ A =もしくはshell_exec( 'sudoの-uルート-Sが< /ホーム/ $ユーザ/パスファイルを再起動/etc/init.d/apache2')(PHPで)

パスワードをパスファイルに保存されている必要があります

+0

私はこれについては分かりません – Rinu

関連する問題