★Apache2への移行
遅らばせながらapache2への移行を開始しました.
移行するにあたり,php,awstats,dav
が私のサーバでは問題になってきます.
apache2ではDSOでインストールしないとだめらしいので,
httpd-2.0.47.tar.gzが
/usr/local/srcにあるとします.
# cd /usr/local/src
# tar xvzf httpd-2.0.47.tar.gz
# cd httpd-2.0.47
# ./configure --enable-so --enable-ssl --enable-dav
--enable-so : モジュールをDSO(動的に)で組み込み可
--enable-ssl --enable-dav : SSLとDAVは静的に組み込み.
# make
# make install
文字化け問題と.htaccessの問題は
http://yaguma.com/Server/red8apache.html
にあります.
apache2を自動起動するには
# cd /usr/local/apache2/bin
# cp apachectl /etc/rc.d/init.d/apache2
# cd /etc/rc.d/init.d
# chmod 700 apache2
apache2の先頭の
#!/bin/sh以下に
# chkconfig: - 86 14
# Source function library.
. /etc/rc.d/init.d/functions
を付け加えます.これでntsysvで自動起動の設定が可能になります.
1.php
http://acorn.zive.net/~oyaji/www/apache_linux_php.htm
より,おやじさんの設定を少し変えて
# tar zxfv php4-STABLE-200307160330.tar.gz
# cd php4-STABLE-200307160330
# ./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-mbstring \
--enable-mbregex \
--enable-zend-multibyte \
--with-gd \
--with-pgsql \
--without-gd
# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini
としてみました.
とりあえず,phpで今のところ使っているのはスクリルメールとBBSだけなのでphp.iniはそのままでOKです.必要があればphp.iniの設定を変えましょう.
ついでにコマンドライン版のインストールもしてしまいます.
# make distclean
# ./configure \
--with-enable-force-cgi-redirect \
--enable-mbstring \
--enable-mbregex \
--enable-zend-multibyte \
--with-gd \
--with-pgsql \
--without-gd
# make
# make install
php4ではMysqlは自動的にインストールされるようです.
2.awstats
apache2のログは/usr/local/apache2/logsに記録されるので
そのあたりを考慮に入れて,
awstats.cronとawstats.confの設定を変えるだけ.
3.apache2でのDAV
http://www.atmarkit.co.jp/flinux/special/webdav03/webdav01b.html
http://freebsd.servj.com/howto/freebsd_3.html
からの抜粋です.
httpd-2.0.47.tar.gz,mod_encoding-20020611a.tar.gz,mod_encoding.c.apache2.20020611a-2をダウンロード
/usr/local/srcにあるとします.
# cd /usr/local/src
# tar xvzf httpd-2.0.47.tar.gz
# cd httpd-2.0.47
# ./configure --enable-so --enable-ssl --enable-dav
# make
# make install
httpd.confの設定はapache1.3.27と同じ.
Alias /dav "/home/user/httpdocs/dav"
<Location /dav>
DAV on
<Limit GET PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK
UNLOCK>
AuthUserFile /home/user/.htpasswd
AuthGroupFile /dev/null
AuthName "WebDAV Security"
AuthType Basic
Require user user-name
</Limit>
</Location>
DAVLockDB /var/run/DAVLock/
ここまでで,日本語は使えませんがDAVは動きます.
ここからは,mod_encodingのインストール.
mod_encoding.c を差し替えます.
# cd /usr/local/src
# tar xvzf mod_encoding-20020611a.tar.gz
# cd mod_encoding-20020611a
# cp /usr/local/src/mod_encoding.c.apach2.20020611a-2 mod_encoding.c
iconv_hookライブラリのコンパイルとインストールを行います.iconv_hookライブラリとは,プラットフォームやライブラリによって異なるiconv()の動作について一部のエンコーディングの扱いを変更するようなライブラリに差し替えたりできる動作フック用のライブラリです.
# cd lib
# ./configure
# make
# make install
これでlibiconv_hook.so(iconv_hookライブラリ)が/usr/local/lib配下にインストールされます。
# cd ..
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-iconv-hook=/usr/local/include
--prefix=/usr/local
Makefile の編集
(変更前) LIBS = -liconv_hook
(変更後) LIBS = -I/usr/local/include -L/usr/local/lib -L./lib -liconv_hook
# gmake
# gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib
-Llib -liconv_hook
# gmake install
これでmod_encoding.soライブラリが/usr/local/apache2/modules下にインストールされます.
httpd.conf の編集
httpd.conf の適当な場所に以下を追加しApache を再起動します.
LoadFile /usr/local/lib/libiconv.so
LoadModule encoding_module /usr/local/apache2/modules/mod_encoding.so
<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
SetServerEncoding UTF-8
DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
AddClientEncoding "cadaver/" EUC-JP
</IfModule>
おまけ apache2でのdigest認証
digest認証のモジュールmod_auth_digestをapache2に組み込みます.
# cd /usr/local/src/httpd-2.0.47
# ./configure --enable-auth_digest=shared
# make
# make install
これで/usr/local/apache2/modules配下にmod_auth_digest.soがインストールされます.
httpd.confにLoadModules auth_digest_module modules/mod_auth_digest.soを付け加えます.
# service apache2 restart
digest認証の使い方はhttp://yaguma.com/Server/dav.htmlにあります.
でも,最近分かりましたがdigest認証とdavは相性悪いみたい.ただ単に設定が悪いのかもしれませんがmod_encodingによる日本語がdavで使えなくなるみたいです.ちなみにapache1.3.27ではうまくいっています.この辺の方法を知っている方はメールください.
Copyright 2002-2003 Kai All Rights Reserved & This site is Link Free
戻る