1. いつまで Webサーバの代表で いられるか?
最も普及している Web サーバ アプリケーション
ここではディストリビューションとして Debian (7.0 wheezy) を想定している
# 2020/1/18 追記
# 記述内容が随分古くなってしまっているが、現在は nginx が最も利用されているのかも知れない
2. 設定ファイル
.1 Debian での方針
以前は httpd.conf に一括で Webサイトの設定を定義していたが.....
今の Debian + Apache では複数設定ファイルを用意し、以下の様(よう)に記述を分ける方針を採用している
また この方針に より、複数の Webサイトを管理し易く なっている様だ
しかし、慣れるまで、もしくは理解するまでは中々に把握しにくい
分かってしまうと Debian の方が、最少構成で運用する事を想定しており、志操が高い様に思う
なお、RedHat では今も httpd.conf(/etc/httpd/conf/httpd.conf) のみで定義している様に思う
ただし、設定ファイルのインクルード機能は RedHat でも使用可と なっている
.2 各設定ファイル
apache2.conf は Apache の基本設定ファイル
/etc/apache2/apache2.conf
site-available は Apache で公開する Webサイトの設定ファイルが配置される
/etc/apache2/sites-available/
導入後の標準状態では、以下の定義ファイルが読み込まれる
/etc/apache2/sites-available/default
使用可能なモジュール (Apache module) ?
/etc/apache2/mods-available/
.3 公開サイトファイル群
設定ファイルでは ないが、DocumentRoot(Apache で公開されるファイルの配置先) は標準で以下が指定されている(変更可)
/var/www/
.4 ログ ローテート
こちらも apache の設定ファイルでは ないが、apache 関連ログ のローテート設定
/etc/logrotate.d/apache2
3. 導入
以下の .deb パッケージを導入
apache2
apache2-mpm-prefork
# apache2-mpm-worker (スレッド版)では .php を表示出来なかったため、prefork版(プロセス版) を導入する
apache2-utils
apache2.2-bin
apache2.2-common
4. 動作確認
It works!
が表示されれば、正常に動作している
5. Webサイト公開のため、最低限設定すべき箇所
.1 標準定義を無効化
まずは標準で読み込まれている default 定義ファイルを無効化しておく
# cd /etc/apache2/sites-available
# a2dissite default
# service apache2 restart
(もしくは /etc/init.d/apache2 reload)
.2 公開 Web を定義
次に公開する Webサイトの定義ファイルを用意し有効化
# cd /etc/apache2/sites-available
# cp -p 000-default.conf [公開したい Web site 名称].conf
# a2ensite [公開したい Web site 名称]
# service apache2 restart
(もしくは /etc/init.d/apache2 restart)
Web site の名称は何でも良い
正常に有効化されると、/etc/apache2/sites-enabled/ 以下にリンクファイルが作成される
# cd /etc/apache2/sites-enabled/
# ls -l
.3 セキュリティ関連設定
公開サイトに関する余分な情報をヘッダ(HTTP header) に表示させない様に変更しておく
# cd /etc/apache2/conf-available
# cp -p security security.org
# vi security
変更前
ServerTokens OS
#ServerSignature Off
ServerSignature On
変更後
#ServerTokens OS
ServerTokens Prod
ServerSignature Off
#ServerSignature On
ServerTokens は HTTPヘッダの Server 部分の表示内容を定義している
OS から Prod に変更した事で、Linux バージョン( Linux lernel version) やディストリビューション名(Liunux distribution) 箇所の表示を抑止する
ServerSignature は ServerAdmin 部分の表示内容を定義している
On から Off に変更した事で、httpd アプリケーション名(Apache) や公開 Webサーバのアドレス (IP address) 箇所の表示を抑止する
設定変更を有効化するため、Apache を再起動
# service apache2 restart
(もしくは /etc/init.d/apache2 reload)
6. ログ ローテート
apache 関連ログのローテート設定を敢えて変更したい場合のみ変更する
ただし、通常は特に変更する必要は無い様に思う
# vi /etc/logrotate.d/apache2
/var/log/apache2/*.log {
weekly
missingok
rotate 52
rotate 52 は 52週(=364日)分の ローテートさてたログを保持すると言う事らしい
ログ量が厖大と なる様な Webサイトでは、これを短く しているのかも知れない
7. 関連 URI
参考と なる URI は以下の通り
Welcome! - The Apache HTTP Server Project
ホーム - 日本 Apache ユーザー会
インストールと設定
Debianに Apache2 + PHP5 をインストールする - (旧) Code Swimmer !!
apache2インストール/設定 - It_lives_vainlyの日記
apache2の設定 - Debian on 2000 備忘録
Ubuntu/Debian Apacheのインストールと設定 - omnioo lab
apacheをインストールする(Debian,Ubuntu編) | レンタルサーバー・自宅サーバー設定・構築のヒント
Debian と RedHat の差異
lab.: Debian系、RedHat系におけるApacheの設定の違いについて
Debian Apache2の設定(1)
Ubuntu(Debian) のApacheの配置 - so_undの日記
ubuntu(Debian系Linux)のApache2.2の設定管理
公開 : 2014年2月21日