はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> Webサーバ >> Webフォルダの構築(WebDAV)
動作確認 [ FC1 / FC2 / FC3 / FC4 / FC5 / FC6 / Fedora7 / Fedora8 / Fedora9 / Fedora10 / Fedora11 / Fedora12 / Fedora13 / Fedora14 / Fedora15 / Fedora16 / Fedora17 / CentOS4 / CentOS5 / CentOS6 ]
  1. WebDAVとは・・・
  2. WebDAVのインストール
  3. WebDAVに使用する共有パスの作成
  4. WebDAVの設定
  5. WebDAVの動作確認
  6. セキュアなアクセス方法に変更する
  7. 認証方式と暗号化通信されたWebフォルダにアクセスする

■ WebDAVとは・・・

通常、HTTPプロトコルはホームページなどを表示させる時に使用しページの閲覧やファイルのダウンロードなど、サーバからクライアントへのデータ送信が主流です。
しかし、WebDAV(Web-base Distributed Authoring and Versioning)を導入する事によりHTTPプロトコルを使用して内部または外部よりサーバのパス(フォルダ)を共有しデータ(ファイル)のダウンロード(読込)とアップロード(書込み)を可能にすることができます。

■ WebDAVのインストール

念のため、本当に組み込まれているか確認してみましょう!

WebDAVモジュールの組込み確認
# vi /etc/httpd/conf/httpd.conf
#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule auth_anon_module modules/mod_auth_anon.so
LoadModule auth_dbm_module modules/mod_auth_dbm.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule auth_ldap_module modules/mod_auth_ldap.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
LoadModule info_module modules/mod_info.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule imap_module modules/mod_imap.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule cache_module modules/mod_cache.so
LoadModule suexec_module modules/mod_suexec.so
LoadModule disk_cache_module modules/mod_disk_cache.so
LoadModule file_cache_module modules/mod_file_cache.so
LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule cgi_module modules/mod_cgi.so

この「mod_dav*.so」がWebDAVモジュールとなります。
各モジュールは「/usr/lib/httpd/modules/」パスに存在しています。

■ WebDAVに使用する共有パスの作成

共有フォルダの作成
# mkdir /var/www/html/webdav
所有者・所有グループを「apache」にする
# chown apache:apache /var/www/html/webdav

■ WebDAVの設定

設定ファイルの作成
#  vi /etc/httpd/conf.d/webdav.conf
以下を作成する
#
# This is to permit URL access to WebDav.
#
Alias /webdav/ "/var/www/html/webdav/"
<IfModule mod_dav.c>
    DAVMinTimeout 600
    <Location /webdav>
        DAV On
        Order deny,allow
        Deny from all
        Allow from all
    </Location>
</IfModule>

設定を有効にする為、apacheの再起動
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 】
# /etc/rc.d/init.d/httpd restart

【Fedora16以降 の場合】
# systemctl restart httpd.service

■ WebDAVの動作確認

  1. クライアント(WindowsXPを例とします)の『マイネットワーク』より『ネットワークプレースを追加する』をクリックすると、以下の画面が表示されます
    • 「次へ(N)」をクリック
  2. サービスプロバイダ
    • 「別のネットワークの場所を選択」を青色反転させ、「次へ(N)」をクリック
  3. 「インターネットまたはネットワークのアドレス(A)」
    • 入力欄にWebDAVに使用する共有パスの作成で行ったサーバのパスを入力し、「次へ(N)」をクリック
  4. 「このネットワークプレースの名前を入力してください(T)」
    • 「ネットワークプレース」で表示される表示名なので何でもかまいません。入力したら「次へ(N)」をクリック
    • 私は、デフォルト(勝手に設定されている)にしました。
  5. 完了メッセージなので「完了」をクリックし、ウィンドウを閉じます。
    • 「完了」をクリックし、ウィンドウを閉る。
  6. 「ネットワークプレース」に、Webフォルダが追加されます。
  7. 追加された、Webフォルダにファイルをコピーできるか確認してみましょう!!

■ セキュアなアクセス方法に変更する

上記までの設定では、2点問題があります

完璧ではありませんが以下の設定を行う事により、網羅できると思います。

Webページアクセス制限

以下はWebページアクセス制限(.htpasswd & .htaccess)参照
Webページアクセス制限で作成したパスの配下に「webdav」のパスを新たに作成
(WebDAVアクセス用パスワード)
# mkdir /var/www/secure/webdav/

パスワードファイルを作成し、ユーザ「linux」のパスワードを設定
# htpasswd -c /var/www/secure/webdav/.htpasswd linux
アクセス可能なユーザ名"linux"のパスワードを入力する
New password:
確認の為、上記と同じパスワードを入力する
Re-type new password:
Adding password for user linux


設定ファイルの編集
# vi /etc/httpd/conf.d/webdav.conf
#
# This is to permit URL access to WebDav.
#
Alias /webdav/ "/var/www/html/webdav/"
<IfModule mod_dav.c>
    DAVMinTimeout 600
    <Location /webdav>
        DAV On
        以下を追加する
        SSLRequireSSL
        AuthType        Basic
        AuthName        "Login WebDAV"
        AuthUserFile    "/var/www/secure/webdav/.htpasswd"
        Require valid-user
        Order deny,allow
        Deny from all
        Allow from all
    </Location>
</IfModule>
最終行に以下を追加する
ポート80できたアクセスをポート443(https)に流す
<VirtualHost *:80>
    Redirect /webdav https://kajuhome.com/webdav
</VirtualHost>

設定を有効にする為、apacheの再起動
【FC1 から Fedora15 / CentOS4 / CentOS5 / CentOS6 】
# /etc/rc.d/init.d/httpd restart

【Fedora16以降 の場合】
# systemctl restart httpd.service

インターネットまたはネットワークのアドレス(A)」の入力欄を「https://・・・・」に変更して「次へ(N)」をクリックすると以下の画面が表示されます。

後は同様の手順でネットワークプレースを作成します。(ネットワークプレースが作成されると以下の様になります。)

■ 認証方式と暗号化通信されたWebフォルダにアクセスする

ネットワークプレースに追加された「https://・・・・」をダブルクリックすると、認証ウィンドウが表示されるので、WebDAVアクセス用ユーザとパスワードを入力し「OK」ボタンをクリックします。

認証が確立すると、セキュアなWebフォルダにアクセスできます。

■ コンテンツ関連

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.