序章

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

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

前提条件

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

  • サーバーに設定されたroot以外のsudo対応ユーザーとファイアウォール:次のユーザーを作成できます sudo Ubuntu 20.04 を使用したサーバーの初期設定に従って、特権を設定し、基本的なファイアウォールを設定します。
  • (オプション)サーバーを指すドメイン名:TLS/SSLを使用してNextcloudインストールへの接続を保護します。 Nextcloudは、サーバーにドメイン名がある場合、 Let’sEncryptから無料の信頼できるSSL証明書を設定および管理できます。 そうでない場合、Nextcloudは接続を暗号化できる自己署名SSL証明書を設定できますが、Webブラウザーではデフォルトで信頼されません。 DigitalOceanを使用している場合、Let’s Encryptを使用する場合は、 DNSドキュメントを読んで、アカウントにドメインを追加し、DNSレコードを管理する方法を学ぶことができます。

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

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

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

Nextcloud snapパッケージをダウンロードしてシステムにインストールするには、次のように入力します。

  1. sudo snap install nextcloud

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

  1. snap changes nextcloud
Output
ID Status Spawn Ready Summary 4 Done today at 16:12 UTC today at 16:12 UTC Install "nextcloud" snap

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

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

Nextcloudスナップについてさらに情報が必要な場合は、役立つコマンドがいくつかあります。

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

  1. snap info nextcloud

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

  1. snap connections nextcloud
Output
Interface Plug Slot Notes network nextcloud:network :network - network-bind nextcloud:network-bind :network-bind - removable-media nextcloud:removable-media - -

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

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

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

ステップ2–管理者アカウントの構成

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

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

  1. sudo nextcloud.manual-install sammy password

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

Output
Nextcloud was successfully installed

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

ステップ3–信頼できるドメインを調整する

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

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

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

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

  1. sudo 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 nextcloud.occ config:system:get trusted_domains
Output
localhost example.com

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

ステップ4–SSLを使用したNextcloudWebインターフェイスの保護

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

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

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

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

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

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

  1. sudo ufw allow 80,443/tcp

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

  1. sudo 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):

メールアドレスを入力してを押します Enter 続ける。

最後に、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 80,443/tcp

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

ステップ5–NextcloudWebインターフェースにログインする

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

https://example.com

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

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

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

初めて入ると、ウィンドウが表示され、紹介テキストと、Nextcloudインスタンスへのアクセスに使用できるさまざまなNextcloudクライアントへのリンクが表示されます。

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

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

結論

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

追加機能については、 Nextcloudのアプリストアをご覧ください。ここでは、プラグインをインストールしてサービスの機能を拡張できます。