玄箱HG(lenny)へwebdavを導入する

参考

前提事項

  • apache2,sslは導入済み
  • su 実行済み

webdavディレクトリを作成する

cd 任意のディレクトリ
mkdir webdav
chown www-data:www-data webdav
chmod 700 webdav

確認

ls -l
    drwx------ 2 www-data www-data 4096 2012-05-29 22:22 webdav

webdavアクセスユーザを作成

sudo htpasswd -c /etc/apache2/dav.passwd [username]

確認

cat /etc/apache2/dav.passwd
ちなみにユーザの確認は
    cat /etc/passwd

apache の設定に Webdav へのアクセスを設定する

sudo vi /etc/apache2/sites-available/[target_site_settings_file]

以下を追加

Alias /webdav "作成したディレクトリ"
<Location /webdav>
        DAV On
        Options indexes FollowSymlinks
        Order allow,deny
        allow from all
        AuthType Basic
        AuthName "Authentification Required"
        AuthUserFile /etc/apache2/dav.passwd
        Require user [username] # ユーザを指定する場合
</Location>

※ Options indexes FollowSymlinks設定 Options -indexes FollowSymlinksとすると index.htmlが存在しない場合などに、ファイル一覧を表示する機能を 無効にできる。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/705noindexes.html

※ Order allow,deny設定 許可してから特定アドレスを拒否する(Order allow,deny)のか、 拒否してから、許可するアドレスを指定するのか(Order deny,allow)

文字化け対策

upt-get update
apt-get install libapache2-mod-encoding

encoding設定

cd /etc/apache2/mods-available

以下でファイル作成 vi encoding.conf

<IfModule mod_encoding.c>
    EncodingEngine    on
    NormalizeUsername on
    SetServerEncoding     UTF-8
    DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
    AddClientEncoding "cadaver/" EUC-JP
</IfModule>

webdavモジュールを有効にする

a2enmod dav_fs
    Considering dependency dav for dav_fs:
    Enabling module dav.
    Enabling module dav_fs.
    Run '/etc/init.d/apache2 restart' to activate new configuration!

a2enmod encoding
    Enabling module encoding.
    Run '/etc/init.d/apache2 restart' to activate new configuration!

再起動

/etc/init.d/apache2 restart
    Restarting web server: apache2 ... waiting ..