Ubuntu 18.04でCloudronを使用してWebアプリをインストールする方法

著者は、Write for DOnationsプログラムの一部として寄付を受け取るためにthe Wikimedia Foundationを選択しました。

前書き

Cloudronは、WordPress, Rocket.Chat, Nextcloud, GitLab, OpenVPN, and moreのように、サーバー上のアプリのインストールと管理を合理化するプラットフォームです。 Cloudronを使用する主な利点は、アプリのエンドツーエンドの展開を実行できることです。 データベースのプロビジョニング、DNSセットアップ、証明書管理、集中ユーザー管理、自動バックアップなどのタスクを自動化します。

Cloudronのアプリも自動更新を受け取ります。 Cloudronチームは、アップストリームアプリのリリースを追跡し、アプリの更新プログラムを公開します。 サーバーでアプリをインストールおよび更新するユーザーエクスペリエンスは、スマートフォンでアプリをインストールおよび更新する方法と非常に似ています。クリックするだけで、システム管理なしでインストールして使用を開始できます。

このチュートリアルでは、Cloudronをサーバーにインストールし、例としてWordPressサイトを展開して、Cloudronが完全な展開自動化を実行する方法を体験します。 最後に、Cloudronインスタンスを実稼働で使用できるようにするには、CloudronをセットアップしてDigitalOcean Spacesにバックアップします。

前提条件

このチュートリアルに従うには、次のものが必要です。

  • ルートアクセスとsudo、非ルートアカウントでUbuntu 18.04を実行しているサーバーでは、このinitial server setup guideに従ってこれを設定できます。

  • アプリのインストール用のドメイン名。 example.comのようなドメインを使用する場合、Cloudronはダッシュボードをmy.example.comにインストールし、アプリはgit.example.comchat.example.comなどの指定したサブドメインの下にインストールされます。オン。 myサブドメインが使用可能である限り、すでに使用されているドメインを使用しても安全です。

  • CloudronがDNS自動化を実行するために使用するDNS APIキー。 Cloudronは多くのDNS providersをサポートしています。 DNSプロバイダーがサポートされていない場合は、wildcardまたはmanualオプションを使用できます。 このチュートリアルでは、DigitalOcean DNSを使用します。 How To Create a Personal Access Tokenの後にDigitalOcean DNSAPIキーを生成できます。

  • APIキー(アクセスおよびシークレット)を持つDigitalOcean Space。 DigitalOcean SpaceおよびAPIキーを作成するには、How To Create a DigitalOcean Space and API Keyを参照してください。

[[step-1 -—- installing-cloudron]] ==ステップ1—Cloudronのインストール

まず、official installation scriptを使用してCloudronをサーバーにインストールします。 この設定手順をスキップする場合は、DigitalOcean MarketplaceでCloudronのワンクリック画像を使用できます。 それ以外の場合、Cloudronを手動でインストールする場合は、この手順を続けます。

まず、非rootユーザーとして、次のコマンドを実行してセットアップスクリプトをダウンロードします。

wget https://cloudron.io/cloudron-setup

次に、セットアップスクリプトを実行可能にするには、次のコマンドを実行します。

chmod +x ./cloudron-setup

最後に、Cloudronをインストールするには、次のコマンドを実行します。

sudo ./cloudron-setup --provider digitalocean

セットアップには約10分かかります。 セットアップが完了すると、スクリプトはサーバーを再起動する許可を求めます。続行するにはYを選択します。

Output
##############################################
         Cloudron Setup (latest)
##############################################

 Follow setup logs in a second terminal with:
 $ tail -f /var/log/cloudron-setup.log

 Join us at https://forum.cloudron.io for any questions.

=> Installing software-properties-common
=> Ensure required apt sources
=> Updating apt and installing script dependencies
=> Checking version
=> Downloading version 3.5.0 ...
=> Installing base dependencies and downloading docker images (this takes some time) ...
=> Installing version 3.5.0 (this takes some time) ...
=> Waiting for cloudron to be ready (this takes some time) ....

Visit https:// and accept the self-signed certificate to finish setup.

The server has to be rebooted to apply all the settings. Reboot now ? [Y/n] Y

サーバーにCloudronをインストールしたので、ドメインと管理者アカウントをセットアップできるようになりました。

[[step-2 -—- setting-up-cloudron]] ==ステップ2—Cloudronの設定

この手順では、セットアップウィザードを使用してCloudronのプライマリドメインを構成し、アクセス用にCloudronアカウントを設定します。 また、CloudronにDigitalOcean APIキーを提供して、Let’s Encryptでドメインを保護します。

サーバーが再起動したら、ブラウザでhttps://your-server-ipに移動し、自己署名証明書を受け入れます。

Chromeでは、AdvancedをクリックしてからProceed to your-server-ip (unsafe)をクリックすると、自己署名証明書を受け入れることができます。 Firefoxで、Advanced、次にAdd Exception、最後にConfirm Security Exceptionをクリックします。

Chrome - Accept Self signed Certificate

この時点で、Cloudronセットアップウィザードが表示されます。 ドメイン名を入力し、ドメインをホストする場所を選択します。 CloudronはCloudflare、Gandi、GoDaddyなどの多くのDNS providersをサポートしていますが、このチュートリアルでは、DigitalOcean as the DNS providerを使用したドメインで例を示します。

Setup DNS

DigitalOcean API tokenを入力し、Nextをクリックします。

Cloudronはこれらのキーを使用してDNSを構成し、ドメインのLet's Encrypt証明書を取得します。 Cloudronはhttps://my.example.comにリダイレクトします。 ブラウザのアドレスバーに緑色のロックが表示され、Cloudronインストールへの接続が安全になったことを示します。 ユーザー名とパスワードを入力して、セットアップを完了します。

Setup Administrator

管理者アカウントを設定すると、No apps installed yet!画面が表示されます。 Cloudronアカウントの設定が完了しました。 次に、インストールするアプリを決定できます。

[[step-3 -—- installing-your-apps]] ==ステップ3—アプリのインストール

これで、アプリのインストールを開始する準備が整いました。

インターフェイスでApp Storeをクリックすると、Cloudronはcloudron.ioアカウントを作成するように要求します。 このアカウントを使用して、サブスクリプションと請求を管理します。 Cloudronは2つのアプリに無料で使用できます。

Create cloudron.io account

サインアップすると、1回のクリックで50以上のアプリをインストールできます。 アプリをクリックすると、インストールダイアログが表示されます。 例として、WordPressアイコンをクリックして、blogサブドメインを使用できます。 Installをクリックすると、Cloudronは、DNS、データベース、証明書など、各アプリに必要なすべてのものを自動的に設定します。

Install WordPress

アプリをインストールするときに、アプリをCloudronの集中ユーザー管理と統合するかどうかを選択できます。 Cloudronユーザー管理を使用する場合、Cloudronユーザー名とパスワードでアプリにログインできます。 その後、Cloudronにさらにユーザーとグループを追加し、それらがアプリにアクセスできるかどうかを制御できます。 ユーザー管理をアプリに任せることを選択した場合、アプリは管理者アカウントで事前セットアップされ、インストール後に資格情報が表示されます。 アプリ自体の内部にさらにユーザーを追加できます。 Cloudronのアプリは常に外部からアクセスできることに注意してください。アクセス制御設定は、ログイン認証の方法を決定するだけです。

インストールすると、https://blog.example.comでアプリにアクセスできます。

WordPress

Cloudronインスタンスにアプリをインストールしました。このプロセスを使用して、利用可能なアプリをインストールできます。 データを保護するには、次の手順でバックアップを構成します。

[[step-4 -—- configuring-backups]] ==ステップ4—バックアップの構成

実稼働環境でCloudronを使用する前に、サーバーの外部の場所にバックアップを定期的に保存するようにCloudronを構成することが不可欠です。 サーバーのスナップショットとは異なり、Cloudronはアプリごとに個別にバックアップを作成します。 このアプローチの主な利点は、アプリを個別にロールバックしたり、複製したり、別の新しいCloudronインストールに移行したりできることです。

Cloudronは、S3 APIまたは任意のexternal volumeをサポートする任意のプロバイダーにバックアップできます。 このチュートリアルでは、DigitalOcean Spacesをバックアップストレージとして使用します。

DigitalOcean Spaceを設定すると、this guideの後に関連するAPIキーを使用できます。 次に、Backupsビューに移動し、Configureをクリックして、Cloudronバックアップを構成します。

Configure Backup on DO Spaces

Cloudronは定期的にバックアップを保存します。 サーバーがクラッシュした場合、またはサーバーを別のDigitalOceanリージョンに移動したい場合は、新しいドロップレットを作成し、Cloudronをインストールして、サーバーをバックアップから正確な状態にrestoreすることができます。

CloudronインストールをDigitalOcean Spaceに接続し、バックアップを構成しました。 次の記事では、Cloudronで利用可能な他の機能のいくつかをレビューします。

[[step-5 -—- exploring-other-features-optional]] ==ステップ5— Exploring other features(オプション)

Cloudronのユーザー管理は一元化されており、チームメンバーを招待して各ユーザーのアクセス制御を設定できます。

新しいメンバーを追加するには、Usersビューに移動し、New Userをクリックします。 Cloudronは、新規ユーザーにサインアップリンクを記載したメールを送信します。

Users View

新しいユーザーは、サインアップして、アクセス権を付与したアプリケーションを使用し始めることができます。 このチュートリアルのWordPressの例では、ユーザー管理オプションをAllow all users on this Cloudronに設定してアプリケーションをインストールしたため、新しいユーザーがすぐにアクセスできます。

Cloudronインスタンスを管理する際のもう1つの一般的なタスクは、プライマリドメイン以外のドメインにアプリをインストールすることです。 ドメインを追加するには、Domainsビューに移動し、Add Domainをクリックします。 完了したら、この新しく追加したドメインにアプリをインストールできます。

Domains View

セキュリティは常に最優先事項であり、CloudronはCloudronインストールの詳細の追跡を含むturnkey securityを提供します。 Activityビューを見ると、Cloudronについてログに記録されたすべてのイベントと、すべての構成変更を確認できます。

結論

このチュートリアルでは、Cloudronをサーバーにインストールしました。 次に、データベースを手動でプロビジョニングしたり、DNSを構成したり、証明書をセットアップしたりする必要なく、WordPressアプリをインストールしました。 このWordPressインストールは、WordPressの新しいリリースの自動更新を取得します。 バックアップを定期的にDigitalOcean Spacesに保存するようにCloudronを構成しました。 最後に、Cloudronに追加の保護と機能を提供できる他の機能を調査しました。

サーバーへのアプリの手動インストールは、エラーが発生する可能性が高く、時間がかかる複雑なプロセスです。 最新のWebアプリケーションは、インストールを複雑にする可能性のあるさまざまなデータベース、フレームワーク、およびパッケージマネージャーを使用します。 さらに、アプリケーションの保護とバックアップは別のプロセスです。 アプリを手動でインストールして最新の状態に保つには、アップストリームリリースを入念に追跡し、更新プログラムを適用する必要があります。 Cloudronは、サーバー上でアプリを簡単に展開および保守するのに役立つソリューションです。

Cloudronの機能の詳細については、documentation pagesを参照してください。

質問やディスカッションについては、forumにアクセスしてください。

Related