sudo mkdir /var/www/webdav
apache2でアクセスできるようにオーナーをwww-dataにする
sudo chown www-data:www-data
$sudo a2enmod dav
$sudo a2enmod dav_fs
/etc/apache2/sites-available/raijin.ddo.jpを編集し以下を追加して
Alias /dav/ /var/www/webdav/
<Location /dav>
Order deny,allow
Allow from 192.168.0.0/24
Deny from all
DAV On
</Location>
クライアントからアクセスできるか確認
パスワードファイルを作る
cd /etc/apache2
sudo htpasswd -c webdav.passwd hiroshi
サイト設定を書き換える DAV On の下に以下を追加
DAV On
AuthType Basic
AuthName "Please Input ID and Password."
AuthUserfile /etc/apache2/webdav.passwd
Require valid-user
</Location>
ここまでの設定でOSXからはきちんとWebdavフォルダとして使えたがなぜかWindowsからは有効なフォルダがないといわれWebフォルダが使えない。
原因究明に時間がかかってしまった。
問題は
Alias /dav/← /var/www/webdav/←
<Location /dav>
Aliasでディレクトリを明示的にしているのにLocationで明示的に表示していない
Alias /dav /var/www/webdav
<Location /dav>
としたらウェブフォルダとして登録できた。。。。思わぬ落とし穴
日本語対応にする(SJISでのアクセスをUTF8にエンコーディング)
OSXではシステムでUTF8を使用しているので文字化けしないがWindowsはSJIS。このままでは文字化けの嵐 でもって・・・・
sudo apt-get install libapache2-mod-encoding
してenncodingモジュールをインストール
設定は
sudo vi /etc/apache2/mods-available/encoding.conf
最初はこのファイルはなかったので新規作成。内容は以下のように
<IfModule mod_encoding.c>
EncodingEngine on
NormalizeUsername on
SetServerEncoding UTF-8
DefaultClientEncoding JA-AUTO-SJIS-MS SJIS
AddClientEncoding "cadaver/" EUC-JP
</IfModule>
設定ファイルをここに置いていいのかよくわからないが・・・・・とりあえず動いているようだ
sudo a2enmod encording
sudo /etc/init.d/apache2 restart
モジュールをアクティブにしてapache2を再起動する
設定ファイルを編集
sudo vi /etc/apache2/sites-available/ssl
末尾に以下を追加
クライアントからのマウントポイントはdav-sslとする
Alias /dav-ssl /var/www/webdav
<Location /dav-ssl>
Order deny,allow
Allow from all
Deny from all
DAV On
AuthType Basic
AuthName "Please Input ID and Password."
AuthUserfile /etc/apache2/webdav.passwd
Require valid-user
</Location>
ssl接続をつかった外部からの接続なので Allow from all とした