web-dev-qa-db-ja.com

WindowsのApacheで「apachectl configtest」と同等のことをするにはどうすればよいですか?

どこにも答えが見つからないことに戸惑っています。

ラップトップにApache 2.2 for Windowsがインストールされています。これにより、インターネットに接続していないときでも、サイトで作業するときにサーバー側インクルードが機能するようになります。

これは以前は機能していました:

http://example.brak

しかし、新しいドメインを追加したとき、私は完全に何かを壊しました。

Hostsファイルを使用して、「。brak」ドメイン上のホストのIPアドレスを解決します

127.0.0.1  example.brak

各* .brakホストがpingに応答します。

各ボックスは独自のTLDを取得します。これにより、私のアパートの任意のボックスからローカルサイトにアクセスできます。

これはCygwinで動作するはずです。

$ /cygdrive/c/Apache22/bin/httpd -k start -n Apache2.2

またはコマンドプロンプトで:

c:\> \Apache22\bin\httpd -k start -n Apache2.2

(httpdをWindowsサービスとして設定するには、httpd -k installを使用する必要があります。)

タスクマネージャーは、サービスは開始するがすぐに停止することを示します。

確かにこれは設定を中止した結果ですが、httpdはエラーステータス1以外のメッセージを出さずに終了します。

前のコマンドのステータスを確認するには:

c:\> dir
c:\> echo %errorlevel%
0

私は永遠にあなたの借金をしている。

4
Mike Crawford

Apache for Windowsのapachectl configtestに相当するものは何ですか?

現在の apachectlのApache 2.4ドキュメント によると、configtesthttpd -t と同等です。参考までに、httpd -tでは次のことができます。

構成ファイルに対してのみ構文テストを実行します。プログラムは、これらの構文解析テストの直後に、戻りコード0(構文OK)または戻りコード0以外(構文エラー)のいずれかで終了します。 -D DUMP_VHOSTSも設定されている場合、仮想ホスト構成の詳細が出力されます。 -D DUMP_MODULESが設定されている場合、ロードされたすべてのモジュールが出力されます。

httpd.confと仮想ホストファイルの両方の構成エラーも、通常、手動の非サービス起動(httpd -k startexでキャッチされます。

command line Apache test options - screenshot

httpd -k startを試行する前に、実行中のApacheサービスを停止する必要があります(httpd -tにはそのような要件はありません)。


Apache 2.2に関する質問ですが、apachectl configtestおよびhttpd -tの一般的なドキュメントはバージョン2.2間で変更されていません。および2.4。


ラップトップにApache 2.2 for Windowsがインストールされています。

これを書いている時点で、Apache 2.2は正式にサポートが終了しています。 2018年1月1日現在:

Apache HTTPサーバープロジェクトは、リリース2.2.xシリーズのすべての開発とパッチレビューを中止しました。[...] 2.2.xリリースのセキュリティリスクのさらなる評価は公開されません。

バージョン2.2に固執するやむを得ない理由がない場合(たとえば、個人的な使用であり、特別なモジュールが必要ない場合など)は、アップグレードを真剣に検討することをお勧めします。

ネイティブ(Cygwin以外) WindowsはApache Loungeからビルド をお勧めします。それらは一般に、最新の公式Apache Foundationリリースと歩調を合わせており(またはそれほど遅れていない)、一般的なオプションモジュールの適切な選択があります。

(ちなみに、バージョン2.2から2.4へのアップグレードでは、構成ファイルの構文を少し変更する必要がありますが、大きな変更はありません)。

4
Anaksunaman

これは実際には私のconfigtestの質問には答えませんが、httpdが起動しない理由を調べることで判断できました。

c:\Apache2.2\logs\error.log

以下の多くの非難がありました:

 (OS 3)The system cannot find the path specified.  : httpd.exe: could not open error log file C:/cygwin64/home/Thunderball/_Websites/Soggy/logs/error.log.
 Unable to open logs

Cygwinに戻ると、ホームディレクトリ内の1つを除いてすべてのフォルダーが存在しないという悪い知らせを受け取りました。

私に吸います。 :

私は最近、Acerのハードドライブが故障していると思いました。私の履歴に、誤ってすべてのデータを吹き飛ばしてしまうようなものはありません。

たぶん、Right Nowは、私のAcerの使用をやめる良い機会でしょう。十分なバックアップがあり、自宅にMac miniがあるので、ほとんど問題ありません。現在の契約のプロジェクトが完了するまで、交換用ドライブを購入することはできません。それまでは、少し現金が足りなくなります。

私はAcer Aspire E 15に大満足しているので、---(ドライブドライブを交換します。多くの場合、SSDと、ひどく傷が付いている画面に交換します。

2
Mike Crawford