序章

ownCloudは、ドキュメントや写真などの個人的なコンテンツを一元化された場所に保存できるオープンソースのファイル共有サーバーおよびコラボレーションプラットフォームです。 これにより、Dropboxなどのサードパーティのコンテンツホスティングサービスに依存せずに、コンテンツとセキュリティを制御できます。

このチュートリアルでは、Debian9サーバーにownCloudインスタンスをインストールして構成します。

前提条件

このガイドの手順を完了するには、次のものが必要です。

  • サーバー上のsudoユーザーとファイアウォール Debian 9初期サーバーセットアップガイドに従って、sudo権限を持つユーザーを作成し、基本的なファイアウォールをセットアップできます。
  • LAMPスタック:ownCloudが正しく機能するには、Webサーバー、データベース、およびPHPが必要です。 LAMPスタック(Linux、Apache、MySQL、およびPHP)サーバーをセットアップすると、これらの要件がすべて満たされます。 このガイドに従って、このソフトウェアをインストールおよび構成します。
  • SSL証明書:これを設定する方法は、サーバーに解決されるドメイン名があるかどうかによって異なります。 ドメイン名をお持ちの場合…サイトを保護する最も簡単な方法は、無料の信頼できる証明書を提供するLet’sEncryptを使用することです。 これを設定するには、ApacheのLet’sEncryptガイドに従ってください。 ドメインがなく、テストまたは個人的な使用のためにこの構成を使用している場合は、代わりに自己署名証明書を使用できます。 これは同じタイプの暗号化を提供しますが、ドメイン検証はありません。 Apacheの自己署名SSLガイドに従ってセットアップしてください。

ステップ1-ownCloudをインストールする

ownCloudサーバーパッケージは、Debianのデフォルトリポジトリ内に存在しません。 ただし、ownCloudは、サーバーに追加できるディストリビューション専用のリポジトリを維持しています。

まず、ownCloudリポジトリを追加するのに役立ついくつかのコンポーネントをインストールしましょう。 apt-transport-httpsパッケージを使用すると、aptソースリストのdeb https://を使用して、HTTPS経由で提供される外部リポジトリを示すことができます。

  1. sudo apt update
  2. sudo apt install curl apt-transport-https

次に、curlコマンドを使用してownCloudリリースキーをダウンロードし、addコマンドを使用してapt-keyユーティリティでインポートします。

  1. curl https://download.owncloud.org/download/repositories/production/Debian_9.0/Release.key | sudo apt-key add -

‘Release.key’ファイルには、aptがownCloudパッケージが本物であることを確認するために使用するPGP(Pretty Good Privacy)公開鍵が含まれています。

キーのインポートに加えて、aptsources.list.dディレクトリにowncloud.listというファイルを作成します。 ファイルには、ownCloudリポジトリへのアドレスが含まれます。

  1. echo 'deb http://download.owncloud.org/download/repositories/production/Debian_9.0/ /' | sudo tee /etc/apt/sources.list.d/owncloud.list

これで、パッケージマネージャーを使用してownCloudを見つけてインストールできます。 メインパッケージに加えて、ownCloudが追加機能を追加するために使用するいくつかの追加のPHPライブラリもインストールします。 ローカルパッケージインデックスを更新し、次のように入力してすべてをインストールします。

  1. sudo apt update
  2. sudo apt install php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip owncloud-files

これで必要なものがすべてサーバーにインストールされたので、次に構成を完了してサービスの使用を開始できます。

ステップ2—ドキュメントルートを調整する

インストールしたownCloudパッケージは、Webファイルをサーバー上の/var/www/owncloudにコピーします。 現在、Apache仮想ホスト構成は、別のディレクトリからファイルを提供するように設定されています。 新しいディレクトリを指すように、構成のDocumentRoot設定を変更する必要があります。

DUMP_VHOSTSオプションを指定したapache2ctlユーティリティを使用して、ドメイン名またはIPアドレスを参照している仮想ホストファイルを見つけます。 サーバーのドメイン名またはIPアドレスで出力をフィルタリングして、次のいくつかのコマンドで編集する必要のあるファイルを見つけます。

  1. sudo apache2ctl -t -D DUMP_VHOSTS | grep server_domain_or_IP

出力はおそらく次のようになります。

Output
*:443 server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP-le-ssl.conf:2) port 80 namevhost server_domain_or_IP (/etc/apache2/sites-enabled/server_domain_or_IP.conf:1)

括弧内には、ownCloudへのアクセスに使用するドメイン名またはIPアドレスを参照する各ファイルが表示されます。 これらは、編集する必要のあるファイルです。

一致するたびに、sudo権限を持つテキストエディタでファイルを開きます。

  1. sudo nano /etc/apache2/sites-enabled/server_domain_or_IP.conf

内部で、DocumentRootディレクティブを検索します。 /var/www/owncloudディレクトリを指すように行を変更します。

DocumentRoot編集の例
<VirtualHost *:80>
	. . .
	DocumentRoot /var/www/owncloud
	. . .
</VirtualHost>

終了したら、ファイルを保存して閉じます。 ドメイン名(またはサーバーのドメインを構成していない場合はIPアドレス)を参照するファイルごとに、このプロセスを完了します。

終了したら、Apacheファイルの構文をチェックして、構成に検出可能なタイプミスがないことを確認します。

  1. sudo apache2ctl configtest
Output
Syntax OK

構成によっては、ServerNameをグローバルに設定することに関する警告が表示される場合があります。 出力がSyntax OKで終わる限り、その警告は無視できます。 追加のエラーが表示された場合は、戻って編集したファイルに間違いがないか確認してください。

構文チェックに合格した場合は、Apacheサービスをリロードして、新しい変更をアクティブにします。

  1. sudo systemctl reload apache2

これで、ApacheはownCloudファイルをサーバー化する方法を知っているはずです。

ステップ3–MySQLデータベースの構成

Web構成に進む前に、データベースをセットアップする必要があります。 Webベースの構成プロセス中に、ownCloudがMySQL内でその情報に接続して管理できるように、データベース名、データベースユーザー名、およびデータベースパスワードを提供する必要があります。

MySQL管理アカウントを使用してデータベースにログインすることから始めます。

  1. sudo mysql

MySQL管理者アカウントのパスワード認証を設定する場合は、代わりに次の構文を使用する必要があります。

  1. mysql -u admin -p

ownCloudが使用する専用データベースを作成します。 わかりやすくするために、データベースにowncloudという名前を付けます。

  1. CREATE DATABASE owncloud;

注:すべてのMySQLステートメントはセミコロン(;)で終了する必要があります。 問題が発生している場合は、これが存在することを確認してください。

次に、新しく作成されたデータベースを管理するための別のMySQLユーザーアカウントを作成します。 管理とセキュリティの観点から、1つの機能を持つデータベースとアカウントを作成することをお勧めします。 データベースの命名と同様に、好みのユーザー名を選択してください。 このガイドでは、owncloudという名前を使用することにしました。

  1. GRANT ALL ON owncloud.* to 'owncloud'@'localhost' IDENTIFIED BY 'owncloud_database_password';

警告:コマンドに次のように記載されている場所に実際のパスワードを入力してください:owncloud_database_password

ユーザーにデータベースへのアクセス権を割り当てた状態で、特権のフラッシュ操作を実行して、実行中のMySQLのインスタンスが最近の特権の割り当てを認識していることを確認します。

  1. FLUSH PRIVILEGES;

これで、次のように入力してMySQLセッションを終了できます。

  1. exit

ownCloudサーバーがインストールされ、データベースがセットアップされたら、ownCloudアプリケーションの構成に注意を向ける準備が整いました。

ステップ4–ownCloudの設定

ownCloud Webインターフェイスにアクセスするには、Webブラウザーを開き、次のアドレスに移動します。

https://server_domain_or_IP

注:自己署名SSL証明書を使用している場合、証明書がブラウザーの信頼できる機関の1つによって署名されていないため、警告が表示される可能性があります。 これは予想された正常なことです。 適切なボタンまたはリンクをクリックして、ownCloud管理ページに進みます。

ブラウザにownCloudWeb設定ページが表示されます。

ユーザー名とパスワードを選択して、管理者アカウントを作成します。 セキュリティ上の理由から、ユーザー名に「admin」などを使用することはお勧めしません。

ownCloud Admin Account

次に、データフォルダの設定をそのままにして、データベース設定セクションまでスクロールダウンします。

前のセクションで作成したデータベース名、データベースユーザー名、およびデータベースパスワードの詳細を入力します。 このガイドの設定を使用した場合、データベース名とユーザー名の両方がowncloudになります。 データベースホストをlocalhostのままにします。

ownCloud database configuration

セットアップの完了ボタンをクリックして、提供した情報を使用したownCloudの構成を完了します。 新しいアカウントを使用してサインインできるログイン画面が表示されます。

ownCloud login screen

最初のログイン時に、さまざまなデバイスでファイルを同期するためのアプリケーションをダウンロードできる画面が表示されます。 これらを今すぐダウンロードして構成することも、後で行うこともできます。 終了したら、スプラッシュ画面の右上隅にある x をクリックして、メインインターフェイスにアクセスします。

ownCloud Main Interface

ここでは、ファイルを作成したり、パーソナルクラウドにアップロードしたりできます。

結論

ownCloudは、人気のあるサードパーティのクラウドストレージサービスの機能を複製できます。 コンテンツは、ユーザー間で共有することも、パブリックURLを使用して外部で共有することもできます。 ownCloudの利点は、情報が第三者なしで管理および管理する場所に保存されることです。

インターフェイスを調べ、追加機能については、ownCloudのアプリストアを使用してプラグインをインストールしてください。