2016年12月11日日曜日

Apache2環境下でWebDAVを利用する

WebDAV(ウェブダブ)はWebサーバー上にあるファイルをローカルフォルダ上のファイルのように直接編集したり、直接ファイルのコピーや貼り付けなどすることができるファイルシステム。
HTTP1.1を拡張したプロトコル。 今回はApache2環境でWebDAVを利用できるようにしたときのメモ

Apacheの拡張モジュールでWebDAVがインストールされているため今回はhttpd.confの編集と権限の変更を実施した。

httpd.confの編集

httpd.confでWebDAVモジュールの有効化とディテクティブでWebDAVを有効にする必要がある。
今回はドキュメントルートにエイリアス(webdav)を設定し、エイリアスのWebDAVを有効にした。

httpd.confのあるディレクトリ

/usr/local/etc/apache22/httpd.conf

追加/変更する内容

LoadModule dav_module libexec/apache**/mod_dav.so
LoadModule dav_fs_module libexec/apache**/mod_dav_fs.so
Alias /webdav/ "/usr/local/www/apache**/data"
webdavディテクティブの設定
dav_moduleの設定

#vi /usr/local/etc/apache**/httpd.conf⏎ ←httpd.confをviで編集(以下**はバージョン)
#LoadModule dav_module libexec/apache**/mod_dav.so ←#を削除しコメントアウト
#LoadModule dav_fs_module libexec/apache**/mod_dav_fs.so ←#を削除しコメントアウト
Alias /webdav/ "/usr/local/www/apache**/data" ←WebDAVを利用するディレクトリにエイリアスを追加
#####以下ディテクティブの設定#####
    <Location /dav>
        DAV on ←WebDAVを有効にする
↓↓↓↓↓Basic認証の設定↓↓↓↓↓
        AuthName        "enter pass"
        Authtype        Basic
        AuthUserFile    "/usr/local/www/apache22/data/.htpasswd"
        Require valid-user
↑↑↑↑↑Basic認証の設定↑↑↑↑↑
    <LimitExcept GET POST PUT DELETE CONNECT PATCH OPTIONS PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
        Require valid-user
    </LimitExcept>
    <LimitExcept OPTIONS>
        Require valid-user
    </LimitExcept>
        Header add MS-Author-Via "DAV"
        Options Indexes ExecCGI FollowSymLinks
        AllowOverride ALL
        Order   deny,allow
        Allow from      all
    </Location>
↓↓↓↓↓Davlockの設定↓↓↓↓↓
(Davlockは同時に1人しかファイルを書き込めない様に監視するためのファイル)
<IfModule dav_module>
    # Location of the WebDAV lock database.
    DAVLockDB /usr/local/www/apache**/data/var/lock/mod_dav/davlock
</IfModule>
↑追加後に保存して閉じる
↑↑↑↑↑Davlockの設定↑↑↑↑↑

AilasにWebDAVを設定した場合、Windowsのネットワークの場所を追加するでは設定できないため、CarotDAVなどのクライアントアプリケーションを利用する。
.htpasswdを作成する場合は以下のコマンドを利用してユーザー名とパスワードを設定
htpasswd -c /usr/local/www/apache22/data/.htpasswd グループ名 ユーザー名⏎

権限の設定

WebDAVで設定したディレクトリが読み書きできるようにディレクトリの権限を設定する。

#chmod -R 700 /usr/local/www/apache**/data⏎ ←Aliasの元(今回はドキュメントルート)の権限を700に設定
#/usr/local/etc/rc.d/apache** restart⏎ ←Apacheの再起動

WebDAVに接続するときはBasic認証で設定したユーザー名とパスワードを利用して接続する。

0 件のコメント :

コメントを投稿

ご質問などあればこちらへどうぞ