#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設定編)