

Windows10、Apache2.4を使っております。

ダウンロードして解凍し、コマンドプロンプトに `httpd -k install` を入力。  
続けて Apache24/conf/httpd.conf
の一部を次の通りに書き換えました。フォルダの配置の位置やルートの書き方については合っていると思います。

  * 37行目
[code]     Define SRVROOT "c:/Apache/Apache24"

    
[/code]

  * 227行目
[code]     ServerName www.example.com:80

    
[/code]

コマンドプロンプトで `httpd` とだけ入力し、インターネットエクスプローラーのURL欄に  
`http://localhost/` と打ち込むと「It works!」がちゃんと表示されます。

しかし、先ほどの httpd を CTRL＋C で中止してから `httpd -k start` を入力してもちゃんと表示してくれないのです。

実行した時のコマンドプロンプトには以下のように何も返してきませんでした。

[code]

    C:\Apache\Apache24\bin>httpd -k start
    C:\Apache\Apache24\bin>
    
[/code]

一応停止させておいたほうがいいかなと `httpd -k stop` を実行したら以下の結果が表示されました。

[code]

    C:\Apache\Apache24\bin>httpd -k stop
    The 'Apache2.4' service is not started.
    
[/code]

IISを停止させてから次の通りに実行してみたらこうなりました。

[code]

    C:\Apache\Apache24\bin>httpd -k start
    (OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。  : AH00072: make_sock: could not bind to address [::]:80
    (OS 10013)アクセス許可で禁じられた方法でソケットにアクセスしようとしました。  : AH00072: make_sock: could not bind to address 0.0.0.0:80
    AH00451: no listening sockets available, shutting down
    AH00015: Unable to open logs
    
    C:\Apache\Apache24\bin>httpd -k stop
    The 'Apache2.4' service is not started.
    
[/code]

なぜ `httpd` では動くのに `httpd -k start` では動かないのかわからないです。  
どうしたら動いてくれるのでしょうか？ご指導をお願い致します。

> 「httpd -k start を入力してもちゃんと表示してくれない」は、コンソールに何も表示されないなのか、ブラウザで "It works!"
> と表示されないのどちらですか？ – cubickさん

ご協力下さりありがとうございます。  
どちらか片方ということではなくて、`httpd -k start` を入力したことによってその両方の結果が出たというわけなのです。

コマンドプロンプトには上記の通り、start を入力しても何も返されません。stop を入力しても `The 'Apache2.4' service is
not started.` が返されるだけです。

ブラウザには  
「申し訳ございません。このページに到達できません  
localhost により、接続が拒否されました。」  
だけ表示されて失敗しました。「It works!」を表示してくれなかったです。

> こちらで解説されている作業手順とは違うような？ Apacheインストール – kunifさん

リンク先にある「Apacheのダウンロード及びインストール」の段階でしょうか？

説明し忘れておりましたが実は自分はまさにその記事を参考にしながら進めておりました。  
少し異なる手順を踏まえた理由は、同時に他に参考にしていたApacheのインストール及びダウンロードを説明した記事で「「httpd -k
install」を実行してください」と書かれていたからなのです。  
もしかして逆に良くなかったのでしょうか？  
こちらの記事の「4-1-2 Apacheのインストール」がそれです。  
<https://qiita.com/Komugi-R/items/bd9ee47aa8814683fb07>

ちょっと話がそれますが別の質問もさせて頂きます。  
MSVCR140.dll/VCRUNTIME140.dllはDownloadフォルダにて記事の通りに（https://www.javadrive.jp/php/install/index2.html）インストールしたのですが、どこか別のフォルダに入れ直したり、Visual
Studioをインストールしたりしなくてもよかったのでしょうか？ちなみにVScodeは入っています。

2020/10/03  
皆さん、ご協力下さりありがとうございました。

確信できるほどではないのですが次のことを行ったためか解決できました。「httpd -k start」で「It works!」が表示されました。  
・Apache2.4をアンインストールし、再びインストールした。  
・Define SRVROOTを正しく書き換える。あと、Listenは81に、ServerNameはwww.example.com:81に書き換える。  
・「コンピュータの管理」にてApache2.4を「手動」または「自動」にする。  
・コントロールパネル→システムをセキュリティ→WindowsDefenderファイアウォール→ApacheHTTPserverをプライベートだけ有効にする。  
・コマンドプロンプトは管理者権限で開いてから取り組む。管理者権限で開かなかったら望む動作が行われませんでした。

ただ、「httpd -k stop」したりコマンドプロンプトを閉じた後なのに、ブラウザでURL欄に「localhost:81」を入力して開くと「It
works!」が表示されることだけは気になっているのですが、これは先ほどまで閲覧していたIt
works!の画面がキャッシュのような感じで保存されていただけであるということでしょうか？あまり気にせずともよいのでしょうか？


CC BY-SA 4.0
2020-09-30T13:06:35.503
70849
2020-10-03T14:41:54.373
2020-10-03T14:41:54.373
38050
38050
question
windows apache
なぜかApache2.4の「httpd -k start」が実行できません。