Apacheで日本語URLを利用できるようにするためには「mod_encoding」をインストール、設定しなければならないようです。そこで mod_encodingをインストールします。
1.mod_encodingのインストール
-----mod_encodingのソース、apache2用のパッチのダウンロード
$wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.10.tar.gz
$wget http://www2d.biglobe.ne.jp/~msyk/software/libiconv/libiconv-1.10-ja-1.patch.gz
-----アーカイブを解凍
$tar xvfz mod_encoding-20021209.tar.gz
-----解凍したソースファイルがあるディレクトリへ移動
$cd mod_encoding-20021209
-----makeファイルを作成するため、configureファイルを実行します。最近はyumなどパッケージ管理システムからのバイナリインストールばっかりやっていたので、ソースからコンパイルするのは緊張(笑)
$./configure
-----しかし、apxがないと怒られます。apxも入っていませんでした。デフォルトでは入ってないのですね。apxをインストールします。
$yum install httpd-devel
-----指示に従っていけばインストールできます。もういちど実行します。
$./configure
-----また失敗しました。次は「libiconv」がないと怒られます。
libiconvをインストール。設定しなければなりません。ここで検索したところ良いページを見つけました。
http://raku.8ware.com/archives/2664
ここに書いてあるとおり、libiconvのインストール、設定を行うと、mod_encoding.so が作成されました。エラーが出るが、なんとか作成できたという感じで気味悪いですがとにかくできました。あとはapacheとの連携です。
2.Apacheとの連携
-----1.で出来たmod_encoding.soを/etc/httpd/modulesへコピー。
$cp mod_encoding.so /etc/httpd/modules
----- httpd.conf に設定を追加
$vi /etc/httpd/conf/httpd.conf
----- LoadModule部の下部に以下を追加した。今回はSJISなので以下のように設定しました。他のエンコードでも可能なようです。
#added by khiga
LoadModule encoding_module modules/mod_encoding.so
EncodingEngine on
SetServerEncoding SJIS
DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
-----httpd.confの変更を反映させます
$/etc/rc.d/init.d/httpd restart
これでApacheで日本語URLも利用可能になりました。しかし教訓としてURLには日本語は使わない方が良いですね。でも、一時日本語ドメインなど話題になりましたが、ほとんど使われてないですね。あのとき取得したドメインはどうなっているのだろう?いずれ利用するときが出てくるのだろうか?
0 件のコメント:
コメントを投稿