apache2 (Debian-Ver) の構築

メニュー

  1. インストール
    1. apache.confの設定
    2. site-available/defaultの設定
    3. その他諸々の設定
  2. php4 のインストール
    1. apache2.conf 設定
    2. php.ini の設定
    3. その他諸々の設定

インストール

これだけ。
step01
メニューへ

apache.confの設定

最初に、/etc/apache2/ にある apache2.conf の設定をする。

変更する箇所を簡単に挙げると…

  1. L.225
    "HostnameLookups" Off を On に変更
  2. L.298
    "LanguagePriority" の最初(デフォルトは en)に ja をもってくる
  3. L.395 (最終行)
    "ServerTokens Prod" を追加
メニューへ

site-available/defaultの設定

debian の apach2 の特徴の一つは以下の点にある。


/etc/apache2/
 sites-available/ 利用可能な仮想ホスト設定ファイルのあるフォルダ
 sites-enabled/   利用する設定のシンボリックリンクが置かれるフォルダ
 mods-available/  利用可能な追加モジュール設定ファイルのあるフォルダ
 mods-enabled/    利用する設定のシンボリックリンクが置かれるフォルダ


mods-available にはインストール済みのモジュール用の設定ファイルが置かれているが、
a2enmod/a2dismod を使って使用/不使用が簡単に行える。

また sites-available に自前で VirtualHost 設定を入れておくと
 a2ensite XXX や a2dissite XXX のようにして設定を追加/削除できる。

実は mods-available/ には mods-enabled/ にあるモジュールからの
シンボリックリンク(Syml)が張られているだけなので、リンクを張る/消すだけでも
モジュールの使用/不使用の制御は可能である。
参照サイト
もともと /etc/apach2/site-available/には "default" なる設定ファイルが ある。 によって以下の点に変更を加えた。

  1. L.3
    "ServerAdmin" には自分のサイトの webmaster宛のメールアドレスを書く。
  2. L.5
    "DocumentRoot" は今回、デフォルトの /var/www ではなく、/var/www/html にした。
  3. L.10
    2.の変更により、"" も /var/www から /var/www/html に変更する。
  4. L.ll
    "Options" から Indexes を削除する。
  5. L.17
    "RedirectMatch" をコメントアウトする。
  6. L.35
    "ServerSignature ON" をコメントアウトする。
以上の設定変更を施した後、":wq" で設定保存。
メニューへ

その他諸々の設定

apache2 のホームディレクトリを作ったり、ユーザ管理をしたりする。

  1. ホームディレクトリにした /var/www/html を掘る
    
    	# mkdir /var/www/html
    	# chown www-date.www-date /var/www/html
    
    	
  2. # /etc/init.d/apache2 restart
  3. /var/www/html に操作権限を与える。
    	
    	# usermod -G www-date hjk
    	# chmod 2775 /var/www/html
    	(~/.bashrc に "umask 002" を書き加える。
    	今後の追加ユーザに /var/www/html の書き込み権限を与えたいときには
    	/etc/skel の "umask" を 002 に変えておく)
    
    	
メニューへ

php4 のインストール

でこれも終わり。
メニューへ

apache2.conf 設定

php4を設定する際にも、まず初めに行うのは、 /etc/apache2/apache2.conf の設定である。

変更する箇所を挙げると…

  1. L.334
    "AddType application/x-httpd-php" に .php を追加
  2. L.335
    "AddType application/x-httpd-php-source" に .phps を追加
メニューへ

php.ini の設定

続いて、/etc/php4/apache/ にある php.ini に変更を加える。

変更箇所は以下の通り。

  1. L.999
    ";mbstring.language = japanese" のコメントを";"を外す
  2. L.1004
    ";mbstring.internal_encoding = EUC-JP" のコメントを";"を外す
  3. L.1007
    ";mbstring.http_input = auto" のコメントを";"を外す
  4. L.1011
    ";mbstring.http_output = SJIS" のコメントを";"を外す
  5. L.1022
    ";mbstring.detect_order = auto" のコメントを";"を外す
  6. L.1026
    ";mbstring.substitute_character = none" のコメントを";"を外す
  7. L.1018
    ";mbstring.encoding_translation = Off" のコメントを";"を外し、Off を On に変更する。
  8. L.400
    "default_charset" を iso-8859-1 から Shift-JIS に変更。
  9. L.94
    "output_buffering" を Off から On に変更。
  10. L.106
    "output_handler = " = の後に mb_output_handler と記入
  11. L.382
    "magic_quotes_gpc" を Off から On に変更。
メニューへ

その他諸々の設定

これで設定は終了だが、テストではうまく稼働しない。
どうやら、debian パッケージのなかの、"libapache2-mod-php4" がないことが原因らしい。
よってこれを最後に入れてやる。 この際、自動的に "apache2-mpm-worker" というパッケージが削除されるようだ。

ここまできたら、apache2 を再起動する。

最後に php がきちんと稼働したか確認をとる。
手順は次の通りである。

  1. $ touch /var/www/html/phpinfo.php
  2. $ vi /var/www/html/phpinfo.php で phpinfo(); とだけ書いた .php ファイルを置く
  3. http://ローカルアドレス(プライベートアドレス)/phpinfo.php
    を叩いてみて、phpのインフォメーションがでれば、OK。
メニューへ