WebDAVサーバを作ったときのメモ.
- WebDAVはhttp(またはhttps)を利用するのでプロキシを越えて学外・社外とファイル共有が可能.
- apacheなどは導入済みで,Webサーバは構築済みであることが前提.
- ファイル構成などはDebian(kashiwa)の構成になっているので,他のOSの場合は適宜読み替える.
- すべての操作はrootで.
*構築法
**誰でも読み書きできるファイル共有サーバ
- 日本語が使えるようにパッケージをインストール.
/var/www# aptitude install libapache2-mod-encoding
- 各種モジュールを有効化.
/var/www# a2enmod dav
/var/www# a2enmod dav_fs
/var/www# a2enmod encoding
/var/www# a2enmod auth_digest
- /var/www/ (ウェブページを置くスペース)以下に適当なフォルダ(ここではwebdav)を作成.
/var/www# mkdir /var/www/webdav
/var/www# chown www-data:www-data webdav
- /etc/apache2/sites-available/default に下記を追記.
/var/www# cd /etc/apache2/sites-available
/etc/apache2/sites-available# vi default
-- 追記内容.
Alias /webdav "/var/www/webdav"
<Directory "/var/www/webdav">
Options Indexes
Allow from All
DAV on
</Directory>
- apacheをリスタート
/etc/apache2/sites-available# /etc/init.d/apache2 restart
- WebDAVクライアントでアクセスするとファイルを読み書きできることを確認.
-- 具体的なアクセス方法はアクセス方法の項を参照.
-- ここに置いたファイルは世界中の誰でも読み書き可能なことに注意する.
-- 学外に公開しては行けないファイルは絶対に置かない.
** 認証付きのファイル共有サーバ
- 上記のファイル共有だと,誰でも読み書き可能なので,認証つきにして非公開にする.
- やることは以下の通り.
-- ダイジェスト認証を付ける.
-- sslでのみアクセス可にする.
- 上記で /etc/apache2/sites-available/default に追記した内容を下記のように書き換える.
-- 要するに,httpのアクセスを拒否させる.
-- 書き換え内容.
Alias /webdav "/var/www/webdav"
<Directory "/var/www/webdav">
Options Indexes
Deny from All
</Directory>
- /etc/apache2/sites-available/default-ssl に下記を追記.
-- "webdavzone" の部分はフォルダごとに変える.
-- 追記内容.
Alias /webdav "/var/www/webdav"
<Directory "/var/www/webdav">
AuthType Digest
Options Indexes
DAV on
AuthName "webdavzone"
AuthDigestDomain /webdav/
AuthUserFile "/etc/apache2/.htdigest"
Require valid-user
</Directory>
- /etc/apache2/ にパスワードを記録.
-- 'webdavzone'にはAuthNameと同じものを使う.
-- .htdigest を初めて作る場合は-cオプションを付ける
/etc/apache2# htdigest /etc/apache2/.htdigest 'webdavzone' <ユーザ名>
- apacheをリスタート
/etc/apache2/sites-available# /etc/init.d/apache2 restart
- WebDAVクライアントでhttpsでアクセスするとファイルを読み書きできることを確認.
-- httpでアクセスするとアクセス出来ないことも確認する.
-- 具体的なアクセス方法はアクセス方法の項を参照.
* アクセス方法
- 中身を見たりダウンロードするだけなら,ブラウザでアクセスすればOK.
- 書き込みもしたい場合はクライアントを使う.
** Windowsの場合
- よく知らない.
** Macの場合.
- Finder で command + k を押すとサーバへ接続というウィンドウが出るので
http://ift.tt/1ZqAods などとすればOK.
-- 認証なしの場合はゲストで.
-- 認証つきの場合はhttpsで.
#ns