Apache2

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日
戻る
pagetop