*

* Tips   * Top

Vine Linux 2.5(2.6) + Apache httpd 1.3 で日本語(漢字)のURLを使用する

Vine Linux 2.5(2.6)上でApache httpd 1.3を使用して、 "http://hostname/dirname/漢字ディレクトリ/漢字ファイル.html" などと入力したときなど、 ディレクトリ名やファイル名にEUCの2バイト漢字を含むものに対して UTF-8エンコードされたURLへアクセスする方法です。

(ご注意) このページをご利用になった結果の影響については、 一切責任を負いませんので、あらかじめご了承願います。

まず、 http://www.atmarkit.co.jp/flinux/index/indexfiles/index-linux.html について、ここをかなり参考にしましたので、いちどご覧ください。

  1. Apacheをインストールします
    apache_1.3.27を使用しました。別に1.3ならいずれでもよいと思います。 アーカイブは、http://www.apache.jp/にあります。
    ./configure --enable-module=most --enable-shared=max 
    make
    su
    make install
  2. mod_davをインストールします
    1.0.3を使用しました。 http://www.webdav.org/mod_dav/から入手できます。 情報は、http://iwa.ath.cx/software/webdav/install-on-solaris2.html がいちばん役に立ちました。パッチもここのものを使います。 直接使いませんが、その他の資料 http://ps2dev.sytes.net/Info/KnowHow/WebDAV.htmlhttp://www.sera.desuyo.net/WebDAV/ も参考にしてください。
    patch -p1 < ../mod_dav-1.0.3-1.3.6-l10n.diff 
    ./configure --with-apxs=/usr/local/apache/bin/apxs (フルパスで指定)
    make (makefileのパッチもありますが、あてなくてもいいようです。)
    su
    make install
  3. mod_encodingをインストールします
    入手先は、http://webdav.todo.gr.jp/、 パッチの入手先は、 http://iwa.ath.cx/software/webdav/mod_encoding-20020611a-p01.diff です。
    patch -p1 < ../mod_encoding-20020611a-p01.diff
    /usr/local/apache/bin/apxs -c mod_encoding.c
    su root
    /usr/local/apache/bin/apxs -i mod_encoding.so  
  4. httpd.confの設定
    以下を追加します (一部、既に追加されている行もあります)。
    LoadModule headers_module  libexec/mod_headers.so
    LoadModule dav_module      libexec/libdav.so
    LoadModule encoding_module libexec/mod_encoding.so
    
    AddModule mod_headers.c
    AddModule mod_dav.c
    AddModule mod_encoding.c
    
    <IfModule mod_encoding.c>
        EncodingEngine on
        SetServerEncoding EUC-JP
        AddClientEncoding "Microsoft .* DAV" SJIS
        AddClientEncoding "xdwin9x/" SJIS
        AddClientEncoding "cadaver/" EUC-JP
    </IfModule>
    
    <IfModule mod_dav.c>
        DavServerEncoding EUC-JP
        DAVLockDB /usr/local/www/var/DAVLock
        <Location /WebDAV>
            AllowOverride None
            Options None
            DAV on
            Header add MS-Author-Via "DAV"
            # AuthType Basic
            # AuthName WebDAV
            # AuthUserFile /usr/local/www/etc/passwd
            # AuthGroupFile /usr/local/www/etc/group
            # require group webdav
        </Location>
    </IfModule>
  5. その他
    samba 3.0を日本語で使用するために libiconvを入れ替えたりしている場合に、 正常にhttpdを起動できない場合があるようです。

shacho@critical.ne.jp
Last modified: Thu Jun 10 23:00:00 JST 2004