[Apache] httpd.conf設定集

初期設定

サーバルートの設定

ServerRoot "c:/Apache24"

 

サーバ名の設定 

ServerName www.exmple.com:80

 

ドキュメントルートの設定

DocumentRoot "c:/www/public_html"

<Directory "c:/www/public_html">

スクリプトエイリアスの設定

ScriptAlias /cgi-bin/ "c:/www/public_html/cgi-bin/"

/をつけることに注意。

スクリプトディレクトリの設定

<Directory "c:/www/public_html/cgi-bin">

/はつけない。

index.html がないディレクトリでファイル一覧が表示されないようにする

 

<Directory "d:/www/public_html">
...
</Directory>

からOptions FollowSymLinksと indexesを削除する。

Not Foundなどのときにサーバ情報を表示させないようにする。

ServerSignature Off

 

phpのエラーメッセージを表示させないようにする。

php_flag display_errors Off

.htaccessを有効にする。 

#AllowOverride None

AllowOverride All

に変更する。

(OS 64)指定されたネットワーク名は利用できません。 : AH00341: winnt_accept: Asynchronous AcceptEx failed. の対策

<IfModule mpm_winnt_module>
AcceptFilter http none
</IfModule>

を追加

http://xxx.com/***/index.html を http://xxx.com/***/ にリダイレクトする方法

html ファイルをphp で動的に書いていて、 AddType application/x-httpd-php .html .php と書いて、htmlファイルでもPHPを動かすようにしたが、htmlでphpを動かしてはいけないとお達しがきたので、 すべての.html を.phpへ変更 すると今度は.html Not found となってしまうので、

RedirectMatch permanent /(.*)/index.html$ /$1/

で回避する。

[Apache] Apacheのインストール

Windows 64bit版の開発環境を構築することを想定しています。自作サーバとして運用すると、様々なサーバ攻撃の対象となりますので、注意が必要です。また、セキュリティの観点から常に最新バージョンにしておく必要があります。

Visual Studio 2017の Microsoft Visual C++ 再頒布可能パッケージのインストール

Apacheを動かすためには、Visual Studio 2017のMicrosoft  Visual C++ 再頒布可能パッケージが必要とのこと。インストールされていない場合は、下記サイトからファイルをダウンロードし、インストールしておく。

https://www.visualstudio.com/ja/downloads/?q=#other-ja

Apache2.4のインストール

  1. 次のサイトから、httpd-2.4.29-Win64-VC15.zip(64bitの場合)をダウンロードする。 https://www.apachelounge.com/download/
  2. ZIPファイルを展開する。
  3. C:\apache24\binのようなディレクトリ構造になるようにコピーする。
  4. C:\apache24\conf\httpd.confを必要に応じて修正する。
    httpd.confの設定集を参照

Apacheの起動

  1. コマンドプロンプトを起動する。
  2. 以下をと入力して、Apacheを起動する。
    C:\***>c:\apache24\bin\httpd
  3. ブラウザからhttp://localhost/ にアクセスしてページが正しく表示されれば(httpd.confを触っていなければIt Worksと表示される)インストールは成功。

サービスへの登録

毎回コマンドプロンプトでサーバ起動、停止は面倒なので、サービスに登録する。

  1. まず、起動中のapacheを[CTRL]+[C]で停止する。
  2. 管理者権限でコマンドプロンプトを起動する。
  3. 以下を入力してサービスを登録する。
    C:\***>c:\apache24\bin\httpd -k install
  4. 次のように表示されれば成功。
    The Apache2.4 service is successfully installed
  5. Errors reported here must be corrected before the service can be started.表示されるのは、httpd.confでドメインの指定していないから。httpd.confの設定を変更する。
  6. Apache monitorはコマンドプロンプトではなく、GUIでApacheの起動状況、起動、停止ができる。C:\apache24\binの中にある。せっかくなのでスタートアップに登録しておこう。
  7. 常に、サーバを起動しておくのは危険なので、必要がなくなったら、サービスの登録を解除しておこう。
    C:\***>c:\apache24\bin\httpd -k uninstall