AH00015:ログを開けませんアクション 'start'が失敗しました。Ubuntu 14.04で


10

私はapache2をインストールしようとしています、私はこの問題に直面しました。いくつかの解決策を教えてください

Webサーバーapache2を再起動するとエラーが発生します。

    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
 * The apache2 instance did not start within 20 seconds. Please read the log files to discover problems

あなたのApache設定ファイルを投稿できますか?
Lety

申し訳ありませんが、どのようにしてApache構成ファイルを取得しますか?
narru033 2014

それは/etc/apache2/apache2.conf/etc/apache2/sites-enabled/000-default.confあり、あなたがあなたを定義したなら/etc/apache2/sites-available/yourFile.conf
Lety

回答:


8

走る

sudo netstat -tulpn | grep :80

あなたは次のような出力を取得します

tcp        0      0 0.0.0.0:80         0.0.0.0:*      LISTEN     1066/lighttpd

ポートをリッスンしているプロセスのpidに注意してください。私の場合は1066でした。次に実行します

sudo kill -9 1066

pidをポートをリッスンしているものに変更することを忘れないでください、それは1066と同じではないかもしれません


1

多くのサーバーアプリケーションと同様に、別のアプリケーションによって既にバインドされているポート(この場合は、ポート80 http)にバインドすることはできません。エラーの原因は、他の何かがすでにそこで待機しているため、Apacheがポート80にバインドできないことです。

実行sudo netstat -tulpn | grep :80して、ポート80でリッスンしているプロセスの名前を探します。次に、そのプログラムを再構成するか削除します。


1

どのタイプのサーバーでこれを実行していますか?

最初のエラーを解決するには

AH00558:apache2:127.0.1.1を使用して、サーバーの完全修飾ドメイン名を確実に特定できませんでした。'ServerName'ディレクティブをグローバルに設定して、このメッセージを抑制します

httpd.confファイルを編集する必要があります。次の行を追加してください:

ServerName localhost

他のエラーを解決するには、ルート権限でApacheを実行しようとしていることを確認する必要があります。

sudo /usr/sbin/apachectl start

1
これは本当のエラーではありませんでした。
トーマスワード

httpd.confファイルがありません。その行を入れてもapache2.confいいですか?
JohnK 2016年

に設定ServerNamehttpd.confても効果はありません。
セリン2017

1

私にも同じ問題があります。

私はこのブログに従ってWSLにLAMPをインストールしようとしました:WSL上のLAMPですが、このコマンドを発行したとき:

/etc/init.d/apache2 start  

私はこれと同じエラーを受け取りました:

 * Starting Apache httpd web server apache2                                                                             
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
*

以前にWindowsにNginxを適切にインストールしようとして失敗しましたが、Nginxをポート80にバインドしたことを思い出しました。問題はLinuxの専門家ではなく、apache2 confファイルでポートにバインドする領域を確認できなかったことです。

私は走ってみました:

sudo netstat -tulpn | grep :80

そして何も手に入らなかった。また、ルーターのポートを転送していたため、エラーを解決する方法を理解できませんでした。

私はNginxが実行されていなかったので、ポート80でも実行されていると想定しているchromeを除いて、ポート80は問題ないはずだったので、何が起こるかわからないフラストレーションで、次のsudoようにコマンドを続行しました:

sudo  /etc/init.d/apache2 start  

そして私は得ました:

 * Starting Apache httpd web server apache2                                                                              
 *

startコマンドをsudoで続行すると、Apache2に実行権限があります。これは短期的な解決策です。Apache2をroot権限で実行することはお勧めできないため(通知されているため)、解決策はまだありますが、今のところ、少なくともテストを続行できます。

誰かが解決策を知っている場合は、私たちに知らせてください。


@Yufenyuyありがとう。私はすべてのコードをキャッチしようとしましたが、...
seanbw

... @ seanbwどういたしまして。それが私たちがコミュニティにいる理由です
Yufenyuy Veyeh Dider

@Yufenyuy私が得た編集。最も。sudoには独自の形式があるが別の行にはないので、sudoのような単語に文の一部としてタグを付ける方法を教えてくれるリンクを教えてください。ありがとう
seanbw

... @ seanbw単語を `と` example sudoで囲むことができます。その形式にするために...明確にしてください。
Yufenyuy Veyeh Dider 2018

0

新しいWebサーバーをインストールするか、ポート80を予約して、サービスと新しくインストールしたものを確認してください。


0

私の場合、これはログの問題ではなく、実際にはListenディレクティブの問題でした-存在しないIPでリッスンするように設定されていました(ラップトップを別のネットワークに移動したため)。

これは、サービスをアンインストールして再インストールした後にのみ表示され、次のように述べています。

(OS 10049) The requested address is not valid in its context. : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00015: Unable to open logs

だから私は問題のあるListenディレクティブをコメントアウトしただけで(そして他のものはそのまま)出来上がりです。

QがUbuntuに関するものであることはわかっていますが、問題が発生した他の人々がここに上陸した可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.