開発者ドキュメント

Debian9にNextcloudをインストールして設定する方法

序章

ownCloudのフォークであるNextcloudは、Dropboxのように一元化された場所に、ドキュメントや写真などの個人コンテンツを保存できるファイル共有サーバーです。 Nextcloudとの違いは、そのすべての機能がオープンソースであるということです。 また、機密データの制御とセキュリティを元に戻すため、サードパーティのクラウドホスティングサービスを使用する必要がなくなります。

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

前提条件

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

上記の手順を完了したら、サーバーにNextcloudをセットアップする方法を学び続けます。

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

snappyパッケージシステムを使用してNextcloudをインストールします。 このパッケージングシステムは、デフォルトのリポジトリを介してDebian 9にインストール可能であり、組織は、関連するすべての依存関係と構成とともに、自動更新機能を備えた自己完結型のユニットでソフトウェアを出荷できます。 これは、Webサーバーとデータベースサーバーをインストールして構成し、その上で実行するようにNextcloudアプリを構成する代わりに、 snap 基盤となるシステムを自動的に処理するパッケージ。

インストールして管理するには snap パッケージの場合、最初にインストールする必要があります snapd サーバー上のパッケージ。 のローカルパッケージインデックスを更新します apt 次に、次のように入力してソフトウェアをインストールします。

  1. sudo apt update
  2. sudo apt install snapd

次に、ログアウトして再度ログインするか、 /etc/profile.d/apps-bin-path.sh 追加するスクリプト /snap/bin あなたのセッションに PATH 変数:

  1. source /etc/profile.d/apps-bin-path.sh

一度 snapd がインストールされている場合は、Nextcloudをダウンロードできます snap パッケージ化して、次のように入力してシステムにインストールします。

  1. sudo snap install nextcloud

Nextcloudパッケージがダウンロードされ、サーバーにインストールされます。 に関連する変更を一覧表示することで、インストールプロセスが成功したことを確認できます。 snap:

  1. snap changes nextcloud
Output
ID Status Spawn Ready Summary 1 Done today at 20:18 UTC today at 20:18 UTC Install "nextcloud" snap

ステータスと概要は、インストールが問題なく完了したことを示しています。

NextcloudSnapに関する追加情報の取得

Nextcloudに関する詳細情報が必要な場合 snap、役立つコマンドがいくつかあります。

The snap info コマンドは、説明、利用可能なNextcloud管理コマンド、インストールされたバージョン、追跡されているスナップチャネルを表示できます。

  1. snap info nextcloud

スナップは、サポートするインターフェイスを定義できます。これは、一緒に接続すると、特定の機能またはアクセスレベルへのスナップアクセスを提供するスロットとプラグで構成されます。 たとえば、ネットワーククライアントとして機能する必要があるスナップには、 network インターフェース。 このスナップが定義するスナップ「インターフェース」を確認するには、次のように入力します。

  1. snap interfaces nextcloud
Output
Slot Plug :network nextcloud :network-bind nextcloud - nextcloud:removable-media

このスナップが提供するすべての特定のサービスとアプリについて学ぶには、次のように入力してスナップ定義ファイルを確認できます。

  1. less /snap/nextcloud/current/meta/snap.yaml

これにより、デバッグのヘルプが必要な場合に、スナップに含まれる個々のコンポーネントを確認できます。

管理者アカウントの構成

Nextcloudスナップを設定する方法はいくつかあります。 このガイドでは、サーバーのIPアドレスまたはドメイン名にアクセスするすべてのユーザーが管理者登録ページにアクセスできる小さなウィンドウを回避するために、Webインターフェイスを介して管理ユーザーを作成するのではなく、コマンドラインで管理ユーザーを作成します。

新しい管理者アカウントでNextcloudを構成するには、 nextcloud.manual-install 指図。 ユーザー名とパスワードを引数として渡す必要があります。

  1. sudo -i nextcloud.manual-install sammy password

次のメッセージは、Nextcloudが正しく構成されていることを示しています。

Output
Nextcloud is not installed - only a limited number of commands are available Nextcloud was successfully installed

Nextcloudがインストールされたので、Nextcloudがサーバーのドメイン名またはIPアドレスを使用してリクエストに応答するように、信頼できるドメインを調整する必要があります。

信頼できるドメインの調整

コマンドラインからインストールする場合、Nextcloudはインスタンスが応答するホスト名を制限します。 デフォルトでは、サービスは「localhost」ホスト名に対して行われた要求にのみ応答します。 サーバーのドメイン名またはIPアドレスを介してNextcloudにアクセスするため、これらのタイプのリクエストを受け入れるようにこの設定を調整する必要があります。

の値を照会することにより、現在の設定を表示できます。 trusted_domains 配列:

  1. sudo -i nextcloud.occ config:system:get trusted_domains
Output
localhost

現在、のみ localhost 配列の最初の値として存在します。 次のように入力して、サーバーのドメイン名またはIPアドレスのエントリを追加できます。

  1. sudo -i nextcloud.occ config:system:set trusted_domains 1 --value=example.com
Output
System config value trusted_domains => 1 set to string example.com

信頼できるドメインを再度クエリすると、次の2つのエントリがあることがわかります。

  1. sudo -i nextcloud.occ config:system:get trusted_domains
Output
localhost example.com

Nextcloudインスタンスにアクセスする別の方法を追加する必要がある場合は、再実行してドメインまたはアドレスを追加できます config:system:set インデックス番号を増やしたコマンド(最初のコマンドの「1」)と調整 --value.

SSLを使用したNextcloudWebインターフェイスの保護

Nextcloudの使用を開始する前に、Webインターフェイスを保護する必要があります。

Nextcloudサーバーに関連付けられたドメイン名がある場合、Nextcloudスナップは、 Let’sEncryptから信頼できるSSL証明書を取得して構成するのに役立ちます。 Nextcloudサーバーにドメイン名がない場合、Nextcloudは自己署名証明書を構成できます。これにより、Webトラフィックは暗号化されますが、サーバーのIDを確認することはできません。

そのことを念頭に置いて、シナリオに一致する以下のセクションに従ってください。

オプション1:Let’sEncryptを使用してSSLを設定する

Nextcloudサーバーに関連付けられたドメイン名がある場合、Webインターフェイスを保護するための最良のオプションは、Let’sEncryptSSL証明書を取得することです。

Let’sEncryptがドメインの所有権を検証するために使用するファイアウォールのポートを開くことから始めます。 これにより、Nextcloudログインページに一般公開されますが、すでに管理者アカウントが構成されているため、誰もインストールを乗っ取ることができなくなります。

  1. sudo ufw allow "WWW Full"

次に、次のように入力してLet’sEncrypt証明書を要求します。

  1. sudo -i nextcloud.enable-https lets-encrypt

最初に、サーバーがLet’sEncryptサービスに証明書を要求するために必要な条件を満たしているかどうかを尋ねられます。

Output
In order for Let's Encrypt to verify that you actually own the domain(s) for which you're requesting a certificate, there are a number of requirements of which you need to be aware: 1. In order to register with the Let's Encrypt ACME server, you must agree to the currently-in-effect Subscriber Agreement located here: https://letsencrypt.org/repository/ By continuing to use this tool you agree to these terms. Please cancel now if otherwise. 2. You must have the domain name(s) for which you want certificates pointing at the external IP address of this machine. 3. Both ports 80 and 443 on the external IP address of this machine must point to this machine (e.g. port forwarding might need to be setup on your router). Have you met these requirements? (y/n)

yと入力して続行します。

次に、リカバリ操作に使用する電子メールアドレスを提供するように求められます。

Output
Please enter an email address (for urgent notices or key recovery): your_email@domain.com

最後に、Nextcloudサーバーに関連付けられているドメイン名を入力します。

Output
Please enter your domain name(s) (space-separated): example.com

Let’s Encrypt証明書が要求され、すべてがうまくいけば、内部Apacheインスタンスが再起動され、SSLがすぐに実装されます。

Output
Attempting to obtain certificates... done Restarting apache... done

これで、Nextcloudに初めてサインインするにスキップできます。

オプション2:自己署名証明書を使用してSSLを設定する

Nextcloudサーバーにドメイン名がない場合でも、自己署名SSL証明書を生成することでWebインターフェイスを保護できます。 この証明書は、暗号化された接続を介したWebインターフェイスへのアクセスを許可しますが、サーバーのIDを確認できないため、ブラウザーに警告が表示される可能性があります。

自己署名証明書を生成し、それを使用するようにNextcloudを構成するには、次のように入力します。

  1. sudo nextcloud.enable-https self-signed
Output
Generating key and self-signed certificate... done Restarting apache... done

上記の出力は、Nextcloudが自己署名証明書を生成して有効にしたことを示しています。

インターフェイスが安全になったら、ファイアウォールのWebポートを開いて、Webインターフェイスへのアクセスを許可します。

  1. sudo ufw allow "WWW Full"

これで、Nextcloudに初めてログインする準備が整いました。

NextcloudWebインターフェースにログインする

Nextcloudが構成されたので、Webブラウザーでサーバーのドメイン名またはIPアドレスにアクセスします。

https://example.com

注:自己署名SSL証明書を設定すると、サーバーの証明書が承認された認証局によって署名されていないため、接続が安全でないという警告がブラウザに表示される場合があります。 これは自己署名証明書で予想されるため、警告をクリックしてサイトに進んでください。

コマンドラインから管理者アカウントをすでに設定しているので、Nextcloudログインページに移動します。 管理ユーザー用に作成した資格情報を入力します。

ログインボタンをクリックして、Nextcloudウェブインターフェースにログインします。

初めて入ると、Nextcloudインスタンスと対話して管理するために使用できるさまざまなNextcloudクライアントへのリンクを含むウィンドウが表示されます。

クリックして興味のあるクライアントをダウンロードするか、右上隅のXをクリックしてウィンドウを終了します。 メインのNextcloudインターフェースに移動し、ファイルのアップロードと管理を開始できます。

これでインストールが完了し、保護されました。 新しいシステムの特徴をよりよく理解するために、インターフェースを自由に探索してください。

結論

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

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

モバイルバージョンを終了