WhiteBOX設定編/(2)Apache の変更点


#navi(WhiteBOX設定編)

* Apacheの設定 [#pf06d92a]
- WhiteBOXでインストールされるWebサーバは、標準でApache ver.2 です。現在のパッケージ名は、「httpd-2.0.46-44.ent.WB1」とあります。

#contents

** Apcheの起動設定 [#y96f922b]
- ただし、デフォルトで起動はしていません。以下の設定が必要です。ブラウザでサーバにアクセスすると 「White Box Enterprise Linux Test Page」 が表示されます。
 ●Apacheの起動
 # /etc/rc.d/init.d/httpd start
 
 ●Apacheの自動起動の設定
 # chkconfig httpd on

** Apche2の文字化け対策 [#p802982d]
- Apache2 の大きな問題として、日本語の文字化けがあります。クラリNETで使っている文字コードは、コンテンツも掲示板もすべてEUC-JPというUnix標準コードで統一しています。 ところが、Apache2以降、Unicode(UTF-8)をデフォルトに採用しました。大きなお世話ですが、ブラウザに対して「Unicodeだぞ!」と指示するため、ブラウザは言われたとおりに Unicodeとして扱います。当然のごとく、文字化けしてしまいます。

- これを解決するために、以下の変更を行います。
 ●設定ファイルを開き
 # vi /etc/httpd/conf/httpd.conf
 
 ●以下の項目のパラメータを変更
 AddDefaultCharset UTF-8
 ↓
 AddDefaultCharset Off

- その他の一般的な設定としては、サーバ名等を合わせておきます。動作にはあまり関係ないですが。。
 ServerAdmin kurari@xbb.jp
 ServerName kurarinet.com

- ホームページのコンテンツは、以下のディレクトリに作成します。
 /var/www/html

** CGIの動作設定 [#bbf09317]
- Apaceh2はデフォルトで、CGI実行用のディレクトリが以下のように指定されています。
 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
/var/www/cgi-bin 配下にcgiスクリプトがおかれ、基本設定に問題がなければ、プログラムが実行されます。

** アクセス制限 [#l9b70839]
- 次項のCGIの設定とも関連しますが、掲示板の読み書きはメンバーだけに限定するため、パスワード認証によるアクセス制限を行います。

- まず、アクセス制限の対象となるディレクトリ cgi-bin/ について、httpd.conf の設定を変更します。

 # vi /etc/httpd/conf/httpd.conf

 【変更前】
 #
 <Directory "/var/www/cgi-bin">
     AllowOverride None
     Options None
     Order allow,deny
     Allow from all
 </Directory>
 #
      ↓
 【変更後】 .htaccessファイルを有効にするための指定
 #
 <Directory "/var/www/cgi-bin">
    AllowOverride All       :None → All に書換え
    Options ALL          :None → All に書換え
    Order allow,deny
    Allow from all
 </Directory>
 #

- 続いて、対象となるディレクトリに、次の2つのファイルを作成します。
: .htaccess |アクセス制限をするディレクトリにおく設定ファイル
: .htpasswd |認証ユーザのパスワードファイル(ファイル名は任意)

- .htaccess ファイルの作成
++ パスワード認証を行うディレクトリに、次のような内容のファイルを作成します。その配下のサブディレクトリもすべて認証対象となります。
 AuthName        Kurari-net_BBS    .. パスワード入力画面の表示名
 AuthType        Basic         .. 認証タイプ
 AuthUserFile    /var/www/.htpasswd  .. パスワードファイル名(フルパスで指定)
 AuthGroupFile   /dev/null         (グループ認証の場合に使用する)
 
 <Limit GET POST>
 require valid-user taro hanako      .. ユーザIDを指定、スペースで区切る
 </Limit>
++ ファイル名の頭の「.」は隠しファイルの印です。このファイルを作成後、パーミッションは 644 にします。
 # chmod 644 .htaccess

- .htpasswd ファイルの作成手順は以下のとおりです。
++ パスワードファイルを置くディレクトリ(.htaccess で指定したパス)に移動
 # cd /var/www/
++ htpasswdコマンドを実行して、パスワードファイル(.htaccess で指定したファイル名)にユーザ名とパスワードを登録する。
 # htpasswd [-c] .htpasswd taro
 Adding password for taro.
 New password: (パスワードを入力)
 Re-type new password:(再度、パスワードを入力)
オプションの -c は、最初に .htpasswd ファイルを作成する時だけつけます。2人目以降を登録するときは使いません。さもないと、上書きモードで前の登録が消されてしまいます。
 # htpasswd  .htpasswd hanako
 Adding password for hanako.
 New password: (パスワードを入力)
 Re-type new password:(再度、パスワードを入力)
++ 先ほどと同じように、パーミッションを 644 にします。

- パスワードファイルは、以下のようなものです。テキストですが、パスワードは暗号化保存されます。
 taro:er3M/DnIuyr7Y
 hanako:YJI2ioSJbNraw

- パスワードファイル(.htpasswd)自体はどこに置いてもかまいません。同じユーザ認証なら、複数のディレクトリでも共通に使いまわしが可能です。さらに、.htaccess もディレクトリ毎に作成しなくても、1個作っておいてシンボリックリンクを作成すれば、設定は簡単に済みます。
 # ln -s /var/www/cgi-bin/.htaccess .htaccess 

- 以上の設定が完了しますと、アクセス時に認証画面がポップします。&br;
   &lightbox{lbimg/kurari-auth.jpg,auth,300x230};&br;
//&ref(kurari-auth.jpg);
//&lightbox{lbimg/kurari-auth.jpg,auth,300x230};&br;
&ref(kurari-auth.jpg,,60%,auth);&br;

 (2005/2/22記、 2006/12/17 アクセス制限に関して一部追記)

#navi(WhiteBOX設定編)
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   リンク元