計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
Solaris8 上の SSL Apache2 サーバに SSL + WebDAV 環境を構築する
標準で組み込まれている WebDAV は日本語環境の整備が必要.
日本語環境のソース http://webdav.todo.gr.jp/
http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz
http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616
パッチ情報
http://www.namazu.org/ml/namazu-win32-users-ja/msg01596.html
mod_encoding.c のメイク, インストール
gtar xvfz mod_encoding-20021209.tar.gz
cd mod_encoding-20021209
cp ../mod_encoding.c.apache2.20040616 mod_encoding.c
patch <<PAT
*** mod_encoding.c.orig Wed May 24 15:58:46 2006
--- mod_encoding.c Wed May 24 16:17:02 2006
***************
*** 74,80 ****
#include <http_log.h>
#include <http_protocol.h>
#include <http_request.h>
! /* #include <ap_compat.h> */
#include <iconv_hook/iconv.h>
--- 74,80 ----
#include <http_log.h>
#include <http_protocol.h>
#include <http_request.h>
! #include <ap_compat.h>
#include <iconv_hook/iconv.h>
***************
*** 185,197 ****
char *buff;
char *keys[] = { "Destination", NULL };
int i;
/* Normalize encoding in HTTP request line */
! ap_unescape_url(r->unparsed_uri);
! if ((buff = iconv_string(r, cd, r->unparsed_uri,
! strlen(r->unparsed_uri))) == NULL)
return -1;
! ap_parse_uri(r, buff);
ap_getparents(r->uri); /* normalize given path for security */
/* Normalize encoding in HTTP request header(s) */
--- 185,205 ----
char *buff;
char *keys[] = { "Destination", NULL };
int i;
+ char *unparsed_uri;
+ char *query_string;
/* Normalize encoding in HTTP request line */
! query_string = ap_pstrdup(r->pool, r->unparsed_uri);
! unparsed_uri = ap_getword(r->pool, &query_string, '?');
! ap_unescape_url(unparsed_uri);
! if ((buff = iconv_string(r, cd, unparsed_uri,
! strlen(unparsed_uri))) == NULL)
return -1;
! if (query_string && strlen(query_string) > 0) {
! ap_parse_uri(r, ap_pstrcat(r->pool, buff, "?", query_string, NULL));
! } else {
! ap_parse_uri(r, buff);
! }
ap_getparents(r->uri); /* normalize given path for security */
/* Normalize encoding in HTTP request header(s) */
PAT
cd lib
./configure
gmake
gmake install
cd ..
apxs -c -I/usr/local/include -L/usr/local/lib -liconv_hook mod_encoding.c
apxs -i mod_encoding.la
httpd.conf を編集し mod_encoding モジュールを組み込む
LoadModule encoding_module modules/mod_encoding.so
ssl.conf を編集する
Alias /public "/home/dante/public"
DavLockDB /var/spool/dav/DavLock
<Directory "/home/dante/public">
Options +Indexes
Dav on
Order allow,deny
Allow from 157.82.132.128/255.255.255.224
<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
SetServerEncoding EUC-JP
DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
</IfModule>
</Directory>
サーバを再起動する.
計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)