GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuLinuxでのWebDAVサーバーのセットアップ

はじめに

この記事では、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サービスを含めるために必要なのは、次のことだけです。

  1. WebDAVで使用する追加のアップロードデータディレクトリを作成します
  2. 既存の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のドキュメントを参照して、構成を改善するための構成設定とセキュリティの強化を確認する必要があります。


Ubuntu
  1. Ubuntu20.04でUrbackupサーバーをセットアップする

  2. Ubuntu 20.04でRsyslogサーバーをセットアップする-その方法は?

  3. Ubuntu – Linux上のVcenterサーバー?

  1. Ubuntu /DebianLinuxでのiTunesDAAPサーバーのセットアップ

  2. APTミラーを使用してUbuntuでローカルリポジトリをセットアップする4つの手順

  3. Ubuntu Webサーバーをセットアップしますか?

  1. Ubuntu 20.04 FocalFossaLinuxでFTPサーバーをセットアップする方法

  2. Ubuntu 20.04 FocalFossaLinuxでSFTPサーバーをセットアップする方法

  3. Ubuntu 20.04 FocalFossaLinux上のVNCサーバー