ApacheはFedora 15では起動できません。

ApacheはFedora 15では起動できません。

Fedora 15でApacheを起動できませんプロジェクトをダウンロードして/var/www/html(繰り返し)所有者に変更しましたが、SELinuxコンテキストやそれに似たものを変更したようには見えません。私が実行すると、service httpd start次のようになります。

httpd起動(systemctl経由):操作が失敗しました。詳細については、システムログと「systemctl status」を参照してください。
[失敗]

rootとして実行すると、httpd -k start次のようになります。

(98)すでに使用されているアドレス:make_sock:アドレス127.0.0.1:80にバインドできません。

理由はわかりませんが、SELinuxに関連しているようです。どんなアイデアがありますか?

答え1

エラー出力に示されているとおりに実行する必要があります。

詳細については、システムログとを参照してくださいsystemctl status

しかし、2番目のエラーメッセージは非常に明確です。一部のプログラムはすでに実行されており、ポート80を使用しています。netstatポート80を占有するプログラムを見つけるには、rootとして実行します。

netstat -ntlp

おそらく、これは前のコマンドで開始されたhttpdプロセスです。その場合は、再試行する前に終了するか、restart代わりに使用してくださいstart

答え2

開いているポートを見つけるには、root として次のコマンドを実行します。

netstat -tpln

「ローカルアドレス」列に開いているポートを表示できます。また、最後の列には、ポートを使用するプロセスのPIDが表示されます。以下でPIDを終了してみてください。

kill -9 PID

ここで、PID は、今見つけたプロセス ID です。

これでApacheが起動します。

答え3

私もこの問題が発生し、Apacheを再インストールして解決しました。端末に入力します(suルートの後またはsudoコマンドの前)。

# yum remove httpd
Removed HTTPD 100%
# yum install httpd
Installed HTTPD 100%

その後、.confファイルを処理します。

次に、端末に次のように入力します。

sudo service httpd start

それでは効果があるでしょう。

答え4

教育目的で次のように説明します。それはおそらく、Fedoraが提供するGUIベースのhttpd設定ユーティリティを使ったことでしょう。 system-config-http.conf ファイルを生成します。 Apacheは最初に「一般」conf.d(受信ポートを指定)をロードし、そのポートでリッスンを開始します。その後、Apacheがロードされます。その他.confファイルを見つけて処理します。 GUIユーティリティで生成された新しい設定ファイルには、ポート80用の別の「listen」ディレクティブが含まれています。したがって、Apacheは何かがすでにポート80を占有していることを「認識」しているため、Apacheはプロセスの開始を停止して完全に終了します。

これらすべての本当の秘密はあなたがすることですいいえポート80の占有を確認してください。何もない。私は数年前にFedora 15をインストールしたときにこれを噛みました。私の考えでは〜しなければならないこの動作を防ぐために、ずっと前に設定ユーティリティを修正しました。間違った!

関連情報