Linux apache 支持中文文件名

apache 支持中文文件名

作者: znsoft 发表日期: 2006-04-18 09:26

【2006-4-18 14:23 apache支持中文文件名】

按照本文开头的方法安装,凡是使用make的位置都用/usr/local/bin/gmake 来进行。

gmake可以用ports安装。
日志记录如下:

■ 下载相关文件并解压

wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz

wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616

tar zxfv mod_encoding-20021209.tar.gz

cp mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c

■ iconv_hook编译和安装

安装mod_encoding前首先需要安装iconv_hook

cd mod_encoding-20021209/lib

./configure
/usr/local/bin/gmake
/usr/local/bin/gmake install

完成上面操作后,iconv_hook相关so文件放到/usr/local/lib下面。
要操作系统系统能够搜索到该so文件,需要完成一下几行操作
打开ld.so.conf文件,添加一行指向iconv_book的所在路径,即”/usr/local/lib”

vi /usr/compat/linux/etc/ld.so.conf

增添
/usr/local/lib
退出
# ldconfig

■ apxs工具安装

编译mod_encoding时,必须要有apxs,httpd-devel中包括创建和安装扩展模块的apxs工具。
如果是你安装了Apache,检查${APACHE_HOME}/bin/下是否存在apxs,如果存在则略过该步无需自己安装该程序包,RedHat放在/usr/sbin/apxs
如果尚未安装e则需要自己手动安装httpd-devel。
# apt-get install http-devel

■ mod_encoding模块的编译 U?

进入mod_encoding-20021209.tar.gz的解压目录,即mod_encoding-20021209

./configure –with-apxs=/opt/apache/bin/apxs –with-iconv-hook=/usr/local/include

/usr/local/bin/gmake
ls -l mod_encoding.o

查看是否已经生成了mod_encoding.o文件,如果是,则make成功继续下边的操作。

gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook

生成mod_encoding.so文件,将该文件拷贝到你的模块存放目录,一般为${APACHE_HOME}/modules/
cp mod_encoding.so /opt/apache/modules/mod_encoding.so

■ 修改httpd.conf文件

vi /opt/apache/conf/httpd.conf

LoadFile /usr/local/lib/libiconv_hook.so

LoadModule encoding_module modules/mod_encoding.so



EncodingEngine on

NormalizeUsername on

SetServerEncoding GBK

DefaultClientEncoding UTF-8 GBK GB2312

AddClientEncoding “(Microsoft .* DAV $)” UTF-8 GBK GB2312

AddClientEncoding “Microsoft .* DAV” UTF-8 GBK GB2312

AddClientEncoding “Microsoft-WebDAV*” UTF-8 GBK GB2312

重新启动apache:
opt/apache/bin/apachectl restart

至此freebsd 4.10下支持apache中文文件名可以了。

Comments are closed.