2005年09月14日
2005年08月26日
WebDAV
http://blog.teachat.org/archives/4081574.html
WebDAVのインストール
かなり前にやったWebDAVの導入。
一応apache2のプロセスを落としてから、apacheを入れ直す。
configureはDSOとDAVのみ。
参考:
http://www.atmarkit.co.jp/flinux/special/webdav03/webdav01a.html
http://www.itmedia.co.jp/help/tips/linux/l0618.html
# cd /usr/local/src
# wget http://sunsite.tus.ac.jp/pub/apache/httpd/httpd-2.0.48.tar.gz
# tar zxvf httpd-2.0.48.tar.gz
# cd httpd-2.0.48
# ./configure --enable-shared=yes --enable-dav=yes
# make && make install
mod_dav.c/mod_dav_fs.c/mod_so.cが入っているかどうかを確認する。
# /usr/local/apache2/bin/httpd -l
Compiled in modules:
core.c
mod_access.c
mod_auth.c
mod_include.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.c
mod_mime.c
mod_dav.c
mod_status.c
mod_autoindex.c
mod_asis.c
mod_cgi.c
mod_dav_fs.c
mod_negotiation.c
mod_dir.c
mod_imap.c
mod_actions.c
mod_userdir.c
mod_alias.c
mod_so.c
httpd.confに下記を追加
# vi /usr/local/apache2/conf/httpd.conf
LoadModule dav_module ../modules/mod_dav.so
LoadModule dav_fs_module ../modules/mod_dav_fs.so
Alias /DAV "/home/DAV"
DAV on
Option Indexes
Order allow,deny
Allow from all
DAVLockDB /var/dav/DAVLock
DAVMinTimeout 600
DAVアクセスされるディレクトリはapacheのユーザ権限にしておく。
# mkdir /var/dav
# chown nobody:nobody /var/dav
# chown nobody:nobody /home/DAV/
で、動くはずなんだけども・・・エラーが出た^^;
# /usr/local/apache2/bin/apachectl configtest
Syntax error on line 1130 of /usr/local/apache2/conf/httpd.conf:
module dav_module is built-in and can't be loaded
モジュールをロードしてくれない・・うーんうーん。
ネットに出ている情報だとこれで正しいはずなんですがー・・・。
困っているいるやったのですが、何故か下記の方法でうまくいきました。
LoadModule dav_module ../modules/mod_dav.so
LoadModule dav_fs_module ../modules/mod_dav_fs.so
の行はコメントアウトしたら文法が通った。
# /usr/local/apache2/bin/apachectl configtest
Syntax OK
http://www.fukushi-net.or.jp/takamoto/webdav/makesubver.html
を参考にしてtelnetで動作確認すると動いてるっぽい。
$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.fukushi-net.or.jp.
Escape character is '^]'.
OPTIONS /pages/ HTTP/1.1
Host: localhost
[エンターキー二回]
http://tomo.no-ip.com/goodstream/server/webdav/linux/winxp-rh72.htm
を参考にWindowsXPの設定を追加・・・しようとするもうまくいかない。
アドレスの追加で手が滑って下記のようにしたらうまくいきました。
でも変です(汗)
http://192.168.0.3/DAV?
http://192.168.0.3/DAV
でも
http://192.168.0.3/DAV/
でもだめでした。何故? Windowsをリブートしたらいけるといういつものパターンだろうか(^^;
取りあえずファイルを置くところまではこれでOK。
日本語ファイル名対策もしないといけないですね。
2005年08月22日
Apache2覚え書き
http://ondes-martenot.info/blog/archives/cat_10.php
Vine Linux 3.0にはVine PlusにApache2が含まれています。
Vine Plusということは、もちろんaptで簡単にインストールできるので、試しにインストールしてみました。
VineではApache2とApache1.xは全く別物としてインストールされますので、Apache2インストール後に問題があればApache1.xにすぐに戻すことができます。
インストールは前述したように
#apt-get install apache2
です。
さらに、phpを使うのなら、インストールしているphpのバージョンにより以下のモジュールパッケージもインストールします。
php4用
#apt-get install php-apache2
php5用
#apt-get install php5-apache2
その他、apache1.x用とapache2用では別々のモジュールパッケージがあるものもありますので、必要に応じてaptでインストールします。
aptでインストールした場合のサーバールートは
/etc/apache2
ですので、このディレクトリにapache2用のhttpd.confも入っています。
このhttpd.confをapache1.x用と同じように書き換えればそのまま起動すると思いきや、実はapache2のデフォルトの動作モードにより、mod_phpをインストールしていると以下のエラーが出て起動に失敗します。
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP. Pre-configuration failed
これを回避するためには以下のようにします。
#del /etc/alternatives/apache2
#ln -s /usr/sbin/apache2.prefork* /etc/alternatives/apache2
「/etc/alternatives/apache2」のシンボリックリンクのリンク元を「/usr/sbin/apache2.worker*」から「/usr/sbin/apache2.prefork*」へ変更するわけです。(情報元:vine-users ML)
これでapache2の起動自体は可能になります。
ちなみに手動での起動は、
#/etc/rc.d/init.d/apache2 start
です。
aptでインストールした場合にはinit.dにapache2の名前で登録されていますのでntsysvでapache2を選択すれば自動起動できます。
しかし、更に問題があって、Apache2の仕様の問題で、デフォルトの文字設定(ISO-8859-1)では、日本語が文字化けします。(htmlのcharsetは無視される)
これを正常に日本語表示可能にするにはhttpd.confに以下のように追記します。
AddDefaultCharset ISO-8859-1
AddDefaultCharset shift_jis
AddDefaultCharset EUC-JP
AddDefaultCharset none
(情報元:ITmadia エンタープライズ: Linux Tips)
以上で、Apache2が正常に起動します。