- WebDAV (ファイルサーバー)の設定 (RedHat9) -
内部と外部から共有できるWindowsファイルサーバーを構築します。
Webサーバー(Apache2)のWebDAV機能を利用することで、内部からはSamba、外部からはWebフォルダでファイル共有できる環境を作成します。
また、外部からアクセスする際、機密性を高めるためSSL(HTTPS)経由でのみアクセスを許可し、BASIC認証でユーザー名とパスワードによるアクセス制限をかけます。なお、Webサーバー + SSL + Samba の3つのサーバーが構築済みとします。 構築できていない方は、各ページを参照ください。
ここでは、WebサーバーのWebDAV機能を利用して、一般ユーザーuser1のホームディレクトリ内のdavディレクトリ(/home/user1/dav)を外部からWebフォルダという形でファイル共有できるようにします。
※なお、ここでの記述は、RedHat9を使用していたときを思い出しながら書いてるので、間違いがあるかもしれません。
共有ディレクトリ、ユーザーの作成 一般ユーザーuser1を作成しパスワードを設定します。 # useradd user1 ← 一般ユーザーuser1作成 # passwd user1 ← 一般ユーザーuser1のパスワード設定 # mkdir /home/user1/dav # chmod 711 /home/user1/ # chown apache:user1 /home/user1/dav/ ← 共有ディレクトリの権限をapacheとする WebDAVの設定 web_dav.confの作成 Webサーバーの設定ファイルhttpd.confにより、/etc/httpd/conf.d/ディレクトリ以下にある.confファイル を読み込む設定となっているため、web_dav.confという名前のファイルを作成します。 # cd /etc/httpd/conf.d/ # vi web_dav.conf ### WebDAV ### DAVLockDB /var/lock/DAV/DAVLock Alias /dav/user1 "/home/user1/dav" ← https://サーバーのIPアドレス/dav/user1 <Location "/dav/user1"> DAV On ← WebDAV機能を有効 SSLRequireSSL ← SSL経由でのみアクセスを許可 AllowOverride None ← .htaccessを無効化 Options Indexes ← オプションをIndexesのみ有効 AuthType Basic ← Basic認証を有効 AuthName user1 ← 認証ウィンドウに表示する名前 AuthUserFile /etc/httpd/conf/.htpasswd ← .htpasswdへの絶対パス Require user user1 ← Basic認証でアクセスを許可するユーザー Order allow,deny Allow from all </Location> Basic認証用ユーザーの新規登録 # htpasswd -c /etc/httpd/conf/.htpasswd user1 New password:xxxxxx ← パスワード入力 Re-type new password:xxxxxx ← パスワード再入力 Adding password for user user1 .htpasswdの所有者をapacheに変更 # chown apache /etc/httpd/conf/.htpasswd Webサーバーの再読込 設定ファイル編集後は設定反映のため必ず行なってください。 # service httpd reload httpdを再読み込み中: [ OK ] mod_encodingのインストール Windowsで使用するWebフォルダ機能では、日本語ファイル名が文字化けするので、 mod_encodingをインストールし解決します。 なお、私の環境下(RedHat9)でまともに動作するrpmファイルがなかったため、 src.rpmファイルを使用して、rpmファイルを作成しインストールします。 # cd /usr/src/redhat/SRPMS # wget http://webdav.todo.gr.jp/download/experimental/mod_encoding-20021209-1.src.rpm src.rpmファイルを展開します。 # rpm -ihv mod_encoding-20021209-1.src.rpm 1:mod_encoding ########################################### [100%] # ls /usr/src/redhat/SOURCES 以下のファイルが展開されます。 mod_encoding-20021209.tar.gz mod_encoding.c.apache2.hotfix mod_encoding.c.diff mod_encoding.conf # cd /usr/src/redhat/SPECS rpmbuildコマンドによりrpmファイルを作成します。 # rpmbuild -ba mod_encoding.spec エラー: Failed build dependencies: httpd-devel is needed by mod_encoding-20021209-2.rh9 httpd-develがないと駄目らしぃので、yumコマンドを使用してインストールします。 # yum install httpd-devel 無事、mod_encodingのrpmファイルが作成できました。 # rpmbuild -ba mod_encoding.spec 書き込み中: /usr/src/redhat/SRPMS/mod_encoding-20021209-2.rh9.src.rpm 書き込み中: /usr/src/redhat/RPMS/i386/mod_encoding-20021209-2.rh9.i386.rpm 書き込み中: /usr/src/redhat/RPMS/i386/mod_encoding-debuginfo-20021209-2.rh9.i386.rpm mod_encodingのインストール # cd /usr/src/redhat/RPMS/i386 # rpm -ihv mod_encoding-20021209-2.rh9.i386.rpm Preparing... ########################################### [100%] 1:mod_encoding ########################################### [100%] インストール後、httpdをリロードしてください。 # service httpd reload httpdを再読み込み中: [ OK ]
- Webフォルダの作成 (Windows XP) -
ここでは、Windows XPの場合を例に、WebDAV設定で作成したディレクトリにアクセスするためのWebフォルダを作成する手順を説明します。
(1) マイネットワークを開く。
左に赤丸の“ネットワークプレースを追加する”をクリックしてください。
(2) ネットワークプレースの追加ウィザードの開始
“次へ”をクリックしてください。
(3) ネットワークプレース作成場所の指定
図中のサービスプロバイダを選択し、“次へ”をクリックしてください。
(4) アドレスの指定
WebDAVで設定したディレクトリを示すアドレスを入力して、“次へ”をクリックしてください。
(5) セキュリティ警告
SSLで暗号化されたページ(https)へのアクセスなのでセキュリティ警告がでます。“はい”をクリックしてください。
(6) ユーザー名、パスワードの入力
WebDAVの設定で指定したユーザー名、およびパスワードを入力して、“OK”をクリックしてください。
(7) ネットワークプレースの名前の指定
ここで設定する名前は、作成するWebフォルダの名前となりますので、自分で分かりやすい名前をつけるといいです。
(8) ネットワークプレースの追加ウィザードの完了
お疲れ様でした。ここで、Webフォルダの作成は完了です。“完了”をクリックして終了してください。