ステータス:非推奨

この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

理由: Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達し、セキュリティパッチまたはアップデートを受信しなくなりました。 このガイドはもう維持されていません。

代わりに参照してください:このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

序章


WebDAVは、HTTPに組み込まれた分散型Webオーサリングの実装であり、ファイルを簡単に共有したり、他のユーザーと共同で作業したりできます。

この拡張機能をWebサーバー内にインストールして、Webブラウザーを介したローカルファイルへのリモート読み取りおよび書き込みアクセスを許可できます。 このガイドでは、ApacheWebサーバーを使用してUbuntu12.04VPSでWebDAVを構成します。

VPSにApacheをインストールします


WebDAVの実装は、WebDAVモジュールを使用してApacheで確立されます。

まず、UbuntuのデフォルトリポジトリからApacheをインストールする必要があります。

sudo apt-get update
sudo apt-get install apache2

これで、完全に機能するWebサーバーがインストールされました。 WebブラウザでサーバーのIPアドレスに移動することで、すでにアクセスできるはずです。

WebDAVを有効にする


Apacheには、いくつかのモジュールを備えたWebDAVのサポートが組み込まれています。 単に彼らが彼らの機能にアクセスできるようにする必要があります。

次の2つのコマンドを使用して、WebDAVモジュールを有効にします。

sudo a2enmod dav
sudo a2enmod dav_fs

次に、サーバーを再起動して変更を実装する必要があります。

sudo service apache2 restart

機能としてのWebDAVが有効になりましたが、サーバー用にまだ正しく構成されていません。

ファイルシステムを作成する


WebDAVファイルのコンテンツを格納するディレクトリを作成します。

Ubuntu上のApacheサーバーのデフォルトのドキュメントルートは次の場所にあります。 /var/www. ただし、エイリアスを作成します。これにより、ディレクトリのコンテンツを他の場所に保持できます。

このガイドでは、WebDAVコンテンツを次の場所に配置します。 /webdav/

sudo mkdir /webdav

Webユーザーに与える www-data、コンテンツを正しく提供できるようにするための新しいディレクトリの所有権:

sudo chown www-data /webdav

パスワード保護を設定する


htpasswdファイルを作成することにより、ディレクトリコンテンツにアクセスするための認証手順を作成できます。

システムのユーザーがアクセスできないように、コンテンツディレクトリの外に配置します。 コマンド呼び出し内にユーザー名を作成すると、関連するパスワードの入力を求められます。

sudo htpasswd -c /etc/apache2/webdav.password username

現在、誰でもファイル内のユーザー名とハッシュ化されたパスワードを表示できます。 ファイルのグループ所有権をに割り当てます www-data 次に、他のすべての人の権限をロックダウンします。

sudo chown root:www-data /etc/apache2/webdav.password
sudo chmod 640 /etc/apache2/webdav.password

Apacheを構成する


次に、コンテンツディレクトリへのアクセスを構成し、ApacheにWebDAVモジュールを使用してその場所にサービスを提供するように指示する必要があります。 また、作成した認証スキームにも注意する必要があります。

ルート権限でメイン仮想ホスト構成を編集します。

sudo nano /etc/apache2/sites-available/default

ここでは、私たちのWebコンテンツは /var/www 通常のように。 Apacheが新しいディレクトリのコンテンツをWebDAVマテリアルとして処理できるようにするための情報をいくつか追加します。

ディレクトリリストの下に、「/webdav」のリクエストを外部から処理する必要があることをApacheに通知するエイリアスディレクティブを追加します。 /webdav 作成したディレクトリ。

次に、確立した方法を使用して認証を許可するオプションを追加します。

。 . . . . 。 オプションインデックスFollowSymLinksMultiViewsAllowOverrideなし注文許可、すべての許可を拒否

エイリアス/webdav/ webdav

オプションインデックスDAVOnAuthType Basic AuthName“ webdav” AuthUserFile /etc/apache2/webdav.password Require valid-user 。 . . . . 。

ファイルを保存して閉じます。

次のコマンドでApacheを再起動します。

sudo service apache2 restart

結果をテストする


構成の結果は、最初にWebブラウザーでテストし、次にWebDAVクライアントでテストできます。

Webブラウザテスト


認証が正しく機能していることをテストするには、Webブラウザを使用してサーバーのIPアドレスまたはドメイン名に移動します。

デフォルトのApacheindex.htmlファイルが表示されます。

https://assets.digitalocean.com/articles/webdav/default_apache.png ” alt =“ Apache Default index” />

これは、通常のWeb機能が機能していることを示しています。

次に、IPアドレスまたはドメイン名に続いて「/webdav」に移動します。

your_IP_address_or_domain / webdav

以前に設定したユーザー名とパスワードの組み合わせの入力を求められます。 その後、空のディレクトリリストが表示されます。

https://assets.digitalocean.com/articles/webdav/empty_webdav.png ” alt =“ Empty WebDAV” />

現在、ここにはコンテンツがありませんが、WebDAVクライアントで同じ領域にアクセスすることでコンテンツを変更できます。

WebDEVクライアントテスト


多くのWebDAVクライアントがあり、WebDAVアクセスのサポートは多くの一般的なファイルマネージャーに組み込まれています。

わかりやすくするために、このガイドでは「cadaver」と呼ばれる簡単なコマンドラインWebDAVクライアントを使用します。

できれば別のドロップレットまたはLinuxマシンから、デフォルトのリポジトリからcadaverをインストールします。

sudo apt-get install cadaver

次に、WebDAVディレクトリにアップロードするファイルを作成しましょう。

cd ~
touch testfile

次に、ブラウザからのアクセスに使用したのと同じ場所を使用して接続します。

死体http:// your_IP_address_or_domain / webdav
 サーバー`162.243.2.14'のwebdavに必要な認証:ユーザー名:

サーバーを正しく見つけるには、cadaverの「http://」の部分を入力する必要があります。 再度認証する必要があります。そうすると、コマンドラインインターフェイスに移動します。

dav:/webdav/>

ここから、通常のLinuxコマンドと同様のコマンドを使用して、クライアントとホストを同時に操作できます。

サーバーディレクトリの内容を一覧表示するには、次のように入力します。

ls

Listing collection `/webdav/': collection is empty.

ディレクトリは空です。 テストファイルのアップロードを変更しましょう。

put testfile

listコマンドを再試行して、ファイルがサーバー上にあることを確認できます。

ls

Listing collection `/webdav/': succeeded.
        testfile                               0  Sep 20 19:36

次のように入力することで、ディレクトリを作成して変更できます。

mkdir hello
cd hello

次に、次のように入力してファイルを作成できます。

edit file.html

必要なコンテンツを挿入できます。

<h1>Hi!!!</h1>

終了したら、exitと入力して接続を閉じます。

exit

ここで、Webブラウザーに戻ると、行った変更が表示されます。

your_IP_address_or_domain / webdav

https://assets.digitalocean.com/articles/webdav/webdav_content.png ” alt =“ WebDAVコンテンツ” />

ディレクトリリストをオフにする


ディレクトリリストは、WebDAVが利用できるファイルを確認するのに役立ちますが、特に実際のWebコンテンツにこれを使用している場合は、そのリストをオフにすると便利なことがよくあります。

Webアクセス可能な部分をWebサイトのように機能させ、ディレクトリリストのように機能させたくない場合は、構成ファイルから「 OptionsIndexes 」行を削除します。

sudo nano /etc/apache2/sites-available/default

エイリアス/webdav/ webdav

オプションインデックス##この行を削除しますDAVOnAuthType Basic AuthName“ webdav” AuthUserFile /etc/apache2/webdav.password Require valid-user 。 . . . . 。

Apacheを再起動して、変更を使用します。

sudo service apache2 restart

これを正しく機能させるには、「index.html」ファイルのように、通常のWebページを作成する必要があることを忘れないでください。

sudo nano /webdav/index.html

<h1>Default WebDAV Page</h1>
<p>This is the default page with directory listings turned off</p>

ファイルを保存して閉じます。

このページは、メインのWebDAVディレクトリに移動するときに表示されますが、編集機能は引き続きクライアントで有効になります。

https://assets.digitalocean.com/articles/webdav/webdav_landing.png ” alt =“ WebDAVランディングページ” />

結論


これで、基本認証を備えたWebDAVディレクトリが完成しました。 ディレクトリに絶対に安全に保つ必要のあるコンテンツが含まれている場合は、パスワード認証に加えてSSLソリューションを実装することをお勧めします。 ただし、これはこの記事の範囲外です。

追加のローカルストレージであるかのようにWebDAVコンテンツにシームレスにアクセスして変更できる、多くのファイルマネージャーとクライアントが存在します。 WebDAVは、従来よりもはるかに動的なHTTPエクスペリエンスを可能にします。

ジャスティン・エリングウッド