Windows 7 システムに Apache 2.4 をインストールして実行しようとしています。Apache 2.4 の bin ディレクトリに移動して、次のコマンドを実行しました。C:\Apache24\bin>httpd.exe -k インストール
その出力は次のとおりです。
Installing the Apache2.4 service
The Apache2.4 service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
(OS 10013)An attempt was made to access a socket in a way forbidden by its acces
s permissions. : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)An attempt was made to access a socket in a way forbidden by its acces
s permissions. : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open log
そのため、Apache 2.4 をサービスとしてインストールしましたが、起動できませんでした。ローカルホストのポート 80 が使用されているようです。これは「[::]:80」の意味ですか?
次に、実行したままにしていた apache 2.0 サービスと mysql サービスの両方を停止しました。いずれかを停止すると、ローカルホストのポート 80 が解放されることを期待していました。
また、netstat -o を実行して、ポート 80 が使用されているかどうかを確認します。そうではありませんでした。
しかし、プロセスが上記のソケットを使用していることがわかりました。これは、上記のソケットでリッスンしているプロセスです。
TCP [::]:80 User-PC:0 LISTENING 4
次に tasklist を実行したところ、システムが pid 4 を使用していることがわかりました。4 は pid 列の下にあります。
System 4 Services 0 544 K
最後に、サービスを開始しようとして失敗したため、Windows システム イベントに記録されたエラーが発生しました。
Log Name: System
Source: Service Control Manager
Date: 2/21/2013 1:58:03 PM
Event ID: 7024
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: User-PC
Description:
The Apache2.4 service terminated with service-specific error Incorrect function.
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="Service Control Manager" Guid="{555908d1-a6d7-4695-8e1e-26931d2012f4}" EventSourceName="Service Control Manager" />
<EventID Qualifiers="49152">7024</EventID>
<Version>0</Version>
<Level>2</Level>
<Task>0</Task>
<Opcode>0</Opcode>
<Keywords>0x8080000000000000</Keywords>
<TimeCreated SystemTime="2013-02-21T18:58:03.723988900Z" />
<EventRecordID>87756</EventRecordID>
<Correlation />
<Execution ProcessID="560" ThreadID="7596" />
<Channel>System</Channel>
<Computer>User-PC</Computer>
<Security />
</System>
<EventData>
<Data Name="param1">Apache2.4</Data>
<Data Name="param2">%%1</Data>
</EventData>
</Event>
起動しようとしたときのエラーは、アクセスがないため、make-sock がローカルホスト ポート 80 のように見えるソケットにバインドできなかったことを示しています。たとえば、
(OS 10013)An attempt was made to access a socket in a way forbidden by its acces
s permissions. : AH00072: make_sock: could not bind to address [::]:80
誰が私が間違っているのか教えてもらえますか?