はじめに
この記事では、UbuntuLinuxでのWebDAVサーバーのインストールと構成について説明します。 WebDAVはWebDistributedAuthoring and Versioningの略で、接続されたユーザーがHTTPプロトコルを介してオンラインでデータを編集および共有できるようにします。これにより、WebDAVは、たとえばSubversionやOpenLink Virtuosoと組み合わせると、開発者に人気のある選択肢になります。 WebDAVは、davfs2に至るまでの多くのクライアントによってサポートされています。これにより、WebDAVのデータストレージをマウントしてローカルファイルシステムに含めることができます。これは、Nautilus、konquerorなどのネイティブWebDAVサポートを備えたさまざまなGUIアプリケーションへのmountコマンドを使用して実行できます。さらに、このガイドでは、WebDAVをApache2サーバーと組み合わせます。
シナリオ
このセクションでは、このチュートリアルで使用されるシナリオについて説明します。 WebDAVは非常に柔軟なサービスであり、さまざまな構成設定とシナリオが可能です。このWebDAVチュートリアルでは、最も単純な基本的なスタートアップWedDAV構成から始め、そこから、より複雑な環境に適合するように構築します。 WebDAVは、既存のWebサイト構成のHTTP拡張機能と考えることができます。通常、apacheWebサイトはすでに稼働している可能性があります。したがって、その場合、WevbDAVサービスを含めるために必要なのは、次のことだけです。
- WebDAVで使用する追加のアップロードデータディレクトリを作成します
- 既存のapache2仮想ホストファイルを構成します
ただし、このガイドでは、apache2のインストール、仮想ホストの作成などから始めます。したがって、構成要件に最も適したセクションに進んでください。
このガイドでは、以下を構成します:
- webdav.local –これはIP10.1.1.61サーバーで実行される仮想ホストになります
- webdav.local / svn –これはWebDAV対応のディレクトリになります
- / var / www / webdav –webdav.localのインデックスファイルをホストするディレクトリ
- / var / www / webdav / svn – webdav.local /svnWebDAVのデータストレージをホストするディレクトリ
それに応じてDNS設定を編集するか、クライアントの/ etc/hostsファイルを変更して上記のホストwebdav.local解像度を含めます。
ApacheとWebDAVのインストール
このセクションでは、apache2をインストールし、WebDAVモジュールを有効にします。 WebDAVモジュールにはapache2がインストールされていますが、デフォルトでは有効になっていません。これはすべて、2つの簡単なコマンドで実行できます。
$ sudo apt-get install apache2
これで、http://webdav.localにあるデフォルトのWebサイトにアクセスできるようになります。すべてがうまくいけば、デフォルトのページは使用できなくなったため、無効にします。
$ sudo a2dissite default $ sudo service apache2 reload
仮想ホストの構成
この時点で、ServerName:webdav.localと接続されたディレクトリ/ var / www/webdavを使用して仮想ホストを構成する必要があります。これを行うには、/ etc / apache2 / sites-available /に移動します:
$ cd /etc/apache2/sites-available/
次のコンテンツを含むwebdav.localという新しいサイト構成ファイルを作成します。
<VirtualHost *:80> ServerAdmin webmaster@localhost Servername webdav.local DocumentRoot /var/www/webdav <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/webdav/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost>からの許可、拒否の許可を注文します
完了したら、適切な/ var / www /webdav/ディレクトリを作成する必要があります。
$ sudo mkdir /var/www/webdav
所有者をapacheに変更します:
$ sudo chown www-data.www-data /var/www/webdav
新しいサイトwebdav.localを有効にします
$ sudo a2ensite webdav.local
それをテストするために、いくつかの簡単なindex.htmlファイルを作成できます:
$ sudo sh -c 'echo "Welcome from WebDAV.local" > /var/www/webdav/index.html'
最後にapache2ウェブサーバーをリロードします:
$ sudo service apache2 reload
これで、ブラウザをhttp://webdav.localに移動して、画面に「WelcomefromWebDAV.local」というメッセージが表示されるはずです。これで、仮想ホストwebdav.localを使用したapache2Webサーバーのインストールは完了です
WebDAVセットアップ
WebDAVのモジュールを有効にするときが来ました:
$ sudo a2enmod dav_fs Considering dependency dav for dav_fs: Enabling module dav. Enabling module dav_fs.
Apacheサーバーを再起動します:
$ sudo service apache2 restart
すべての準備が整ったので、基本的なWebDAVサーバーをセットアップできます。これは、WebDAVデータを保持するための追加のディレクトリを作成することで簡単に実行できます。
基本構成
$ sudo mkdir /var/www/webdav/svn
また、apacheで書き込み可能にすることも重要です。そうしないと、403Forbiddenエラーが発生します。
$ sudo chown www-data.www-data /var/www/webdav/svn/
新しい仮想ホストwebdav.localに対してWebDAVを有効にします。これは、次の行を
Alias /svn /var/www/webdav/svn <Location /svn> DAV On </Location>
上記の意味は、http://webdav.local/svnからアクセスできるWebDAV対応ディレクトリ/ var / www / webdav/svnです。既存の/etc/apache2/sites-available/webdav.local構成ファイルに対して上記の変更を行い、apacheWebサーバーを再起動します。この段階での/etc/apache2/sites-available/webdav.localファイル全体は次のようになります。
<VirtualHost *:80> ServerAdmin webmaster@localhost Servername webdav.local DocumentRoot /var/www/webdav <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/webdav/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /svn /var/www/webdav/svn <Location /svn> DAV On </Location> </VirtualHost>から許可を注文し、許可を拒否します
構成をテストするときが来ました。これを行う1つの方法は、ブラウザーでhttp://webdav.local/svnを指定することです。または、さらに良い方法は、cadaverツールを使用することです。最初に次のコマンドでcadaverをインストールします:
$ sudo apt-get install cadaver
WebDAVディレクトリにアップロードするddを使用して同じデータファイルを作成し、アップロードします。
$ dd if=/dev/zero of=mydata.dat bs=1M count=10 10+0 records in 10+0 records out 10485760 bytes (10 MB) copied, 0.075726 s, 138 MB/s $ cadaver http://webdav.local/svn dav:/svn/> put mydata.dat Uploading mydata.dat to `/svn/mydata.dat': Progress: [=============================>] 100.0% of 10485760 bytes succeeded. dav:/svn/> quit Connection to `webdav.local' closed.
これで、基本的なWebDAVサーバーが構成され、使用できるようになります。次のセクションでは、基本的なユーザー認証を追加します。
ユーザー認証付きのWebDAV
WebDAVサーバーをリモートホストに展開する場合は、少なくともいくつかの基本認証を実装することをお勧めします。幸い、これは htpasswdを使用して簡単に実行できます。 コマンドを実行し、既存の/etc/apache2/sites-available/webdav.local構成ファイルを再構成します。
まず、webdavのパスワードファイルを保存するディレクトリを作成します。これはあなたが選んだ場所です。このチュートリアルでは、/ usr / local / apache2 /:
を使用します。$ sudo mkdir /usr/local/apache2/
次に、htpasswdを使用して、すべてのユーザーが認証される新しいパスワードファイルを作成します。
$ sudo htpasswd -c /usr/local/apache2/webdav.passwords lubos
さらにユーザーを追加する必要がある場合は、上記の構文を使用しますが、既存のファイルを上書きするため、-cオプションを省略します。
認証ファイルの準備ができたので、現在の/ etc / apache2/sitesに認証を追加する必要があります。 -available/webdav.local構成ファイル。新しい変更は太字で強調表示されます:
<VirtualHost *:80> ServerAdmin webmaster@localhost Servername webdav.local DocumentRoot /var/www/webdav <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/webdav/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias /svn /var/www/webdav/svn <Location /svn> DAV On AuthType Basic AuthName "webdav" AuthUserFile /usr/local/apache2/webdav.passwords Require valid-user </Location> </VirtualHost>
今後、WebDAVサーバーにアクセスしようとする場合は、最初に自分自身を認証する必要があります。 WebDAV認証の例を次に示します。
$ cadaver http://webdav.local/svn Authentication required for webdav on server `webdav.local': Username: lubos Password: dav:/svn/> ls Listing collection `/svn/': succeeded. mydata.dat 10485760 Feb 20 14:45 dav:/svn/>
WebDAVアクセスの制限
さらに、WebDAVアクセスを限られた数のユーザーに制限することをお勧めします。たとえば、sinlgeユーザー「Lubos」のみがWebDAVリポジトリにアクセスできるようにする場合は、次のような
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK> AuthType Basic AuthName "webdav" AuthUserFile /usr/local/apache2/webdav.passwords Require user lubos </Limit>
ユーザーはファイルにアクセスしてWebDAV対応のディレクトリにアップロードできるため、.httaccessファイルを禁止することもお勧めします。したがって、次を追加します:
AllowOverride None
WebDAV対応ディレクトリのマウント
すでに述べたように、WebDAVは多数のクライアントによってサポートされています。 WebDAVディレクトリをローカルシステムにマウントして、ファイルシステムの一部として機能させることもできます。これを行うには、最初にdavfs2をrootユーザーとしてインストールする必要があります:
# apt-get install davfs2
次に、マウントポイントを作成します:
# mkdir /mnt/webdav
最後に、マウントコマンドを使用してマウントします:
# mount.davfs http://webdav.local/svn /mnt/webdav/ Please enter the username to authenticate with server http://webdav.local/svn or hit enter for none. Username: lubos Please enter the password to authenticate user lubos with server http://webdav.local/svn or hit enter for none. Password: # cd /mnt/webdav/ # ls lost+found mydata.dat # touch linuxcareer.com.txt # sync
結論
この記事では、Apache2Webサーバーを使用したWebDAVサービスの基本構成について説明しました。考慮すべきセキュリティの問題はほとんどないため、宿題をして、Apache Moduleのmod_davのドキュメントを参照して、構成を改善するための構成設定とセキュリティの強化を確認する必要があります。