●Webdav
共有フォルダ・ユーザーの設定
dav用ユーザー追加
useradd -s /sbin/nologin dav
passwd dav
ホームディレクトリのパーミッションを変更
chmod 711 /home/dav
共有ディレクトリへapacheグループ権限で参照・更新・実行を許可
setfacl -m g:apache:rwx,g:apache:rwx /home/dav/
共有ディレクトリへ新規作成するファイルへapacheグループ権限で参照・更新・実行を許可
setfacl -m d:g:apache:rwx,g:apache:rwx /home/dav/
共有ディレクトリへdavグループ権限で参照・更新・実行を許可
setfacl -m g:dav:rwx,g:dav:rwx /home/dav/
共有ディレクトリへ新規作成するファイルへdavグループ権限で参照・更新・実行を許可
setfacl -m d:g:dav:rwx,g:dav:rwx /home/dav/
必要なRPMをインストール
yum -y install httpd-devel
日本語ファイル名が文字化けするため、これを解決するため、mod_encodingをインストール
yum -y install httpd-devel ← httpd-develインストール
mod_encodingダウンロード
wget http://webdav.todo.gr.jp/download/mod_encoding-20021209.tar.gz ←
Apache2版mod_encodingダウンロード
wget http://webdav.todo.gr.jp/download/experimental/mod_encoding.c.apache2.20040616
tar zxvf mod_encoding-20021209.tar.gz
Apache2版mod_encodingに差し替え
mv mod_encoding.c.apache2.20040616 mod_encoding-20021209/mod_encoding.c
iconv-hookライブラリインストール
cd mod_encoding-20021209/lib/
./configure && make && make install
Apacheバージョンが2.2系の場合
mod_encodingパッチダウンロード
wget http://www.aconus.com/~oyaji/faq/mod_encoding.c-apache2.2-20060520.patch
パッチ
patch -p0 < mod_encoding.c-apache2.2-20060520.patch
patching file mod_encoding.c
./configure --with-apxs=/usr/sbin/apxs --with-iconv-hook
vi Makefile
LIBS = -liconv_hook
↓
LIBS = -L/usr/local/lib -liconv_hook
install-exec-local:
$(APXS) -i mod_encoding.so
↓
$(APXS) -i -a -n encoding mod_encoding.la
make
soモジュールに変換
gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib -liconv_hook
make install
DavLockDB /var/lock/dav/DavLock
Alias /dav "/home/dav/"
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Order allow,deny
Allow from all
DAV On
Options FollowSymLinks Indexes
AuthType Basic
AuthName "WebDAV"
AuthUserFile /var/www/webdav.passwd
require valid-user
htpasswd -c /var/www/webdav.passwd