Oracle Cloud Free TierにDiscourseをインストールする

<div data-theme-toc="true"></div>

Oracle は、Discourse を実行できる低スペックの仮想マシン 2 台を含む無料プランを提供しています。
このトライアルには期間制限はありません。

:warning: これらの仮想マシンは非常に低速であり、コミュニティのホスティングには使用しないことをお勧めします。
とはいえ、低速でも気にならない非常に小規模なコミュニティのホスティングや、個人的なプロジェクト/テストには十分かもしれません。


要件

  • クレジットカード番号 - 請求されることはありませんが、無料アカウントの登録に必要です。
  • ドメイン名
  • メールプロバイダー
  • Discourse のインストールは公式ガイドと同一ですが、このチュートリアルでは Oracle のインターフェイスと設定について説明します。

このチュートリアルでは、Windows 10 を使用していることを前提とし、SSH でサーバーに接続するために PuTTY を使用します。

無料トライアルの作成

まず、Oracle Cloud Free Tier | Oracle でトライアルアカウントを作成します。
アカウント作成は即時ではなく、アカウントが承認されるまで数分、数時間(場合によっては数日)待つ必要がある場合があります。

アカウントが作成されたら、https://cloud.oracle.com にアクセスしてログインします。

サーバーの作成

「VM インスタンスの作成」(VM は「仮想マシン」の意味)をクリックします。

サーバーの設定

(オプション)インスタンスにわかりやすい名前を付け、仮想マシンリストでどのインスタンスを参照しているかわかるようにします。

ここでは、使用するドメイン名と同じ名前を付けます。「Canapin.win」です。
image

イメージとシェイプで、編集をクリックしてデフォルトのオペレーティングシステムをUbuntuに変更します。

Canonical Ubuntu を選択し、ページ下部の イメージの選択 をクリックします。

SSH キーの追加では、いくつかのオプションが利用可能です。

秘密キーの保存公開キーの保存をクリックします。
.pub の公開キーと .key の秘密キーがダウンロードされます。これらをフォルダに保存してください。

PuTTY 用の秘密キーの変換

:raised_hand: Oracle のインターフェイスの閲覧は一時中断し、後で戻ってきます。

このチュートリアルでは、PuTTY を使用してサーバーに接続します。生成された秘密キーは PuTTY と互換性がないため、PuTTYgen というツールを使用してキーを PuTTY と互換性のある形式に変換します。

PuTTY を公式サイトからインストールします: Download PuTTY: latest release (0.83)

PuTTY をインストールした後、Windows の検索で PuTTYgen を検索できるようになるはずです。


ここに表示されない場合は、C:\Program Files\PuTTY\puttygen.exe から見つけることができます。

PuTTYgen を起動します。
[変換] → [キーのインポート] を選択します。
Oracle のインターフェイスからダウンロードした .key ファイルを見つけて、開くをクリックしてファイル選択を確定します。

いくつかのフィールドが表示され、自動的に入力されます。よくわからない限り、変更しないでください。

(オプション)キーにパスフレーズを追加します。これは、サーバーにログインするたびに求められるセキュリティ強化のためのパスワードのようなものです。
次に、秘密キーの保存をクリックしてフォルダに保存します。

サーバー作成の完了

:point_right: Oracle のインターフェイスに戻る時間です。

ページの下部までスクロールし、作成ボタンをクリックします。

サーバーが作成されるまで約 1 分待ちます。ページとその情報はリアルタイムで更新されます。リフレッシュする必要はありません。

ドメインを新しく作成したサーバーの IP にポイントさせる

ドメインをサーバーの IP アドレスにポイントさせ、DNS の伝播を待ちます。
:information_source: これはチュートリアルでは説明しません。ドメイン名のプロバイダーの DNS 設定で行う必要があります。

作成されたサーバーのユーザー名をメモする

サーバーが自動的に作成したユーザー名をメモします。ここでは、ユーザー名は ubuntu です。

Oracle のファイアウォールの設定

ここで、Discourse を機能させるための非常に具体的な Oracle の設定セクションに進みます。ファイアウォールでいくつかのポートを開きます。
「プライマリ VNIC」セクションの「パブリックサブネット」をクリックします。

「セキュリティリスト」セクションのセキュリティリストリンクをクリックします。

「イングレスルール」セクションの「イングレスルールの追加」をクリックします。

ルールを次のように設定します。

  • ソース CIDR を 0.0.0.0/0 に設定します。
  • 宛先ポート範囲を 80, 443 に設定します。
    「イングレスルールの追加」をクリックします。

ルールが正しく追加されたことを確認します。

PuTTY で SSH を使用してサーバーに接続する

PuTTY を起動し、「ホスト名(または IP アドレス)」に新しく作成したサーバーの IP アドレスを入力します。

左側のツリーメニューで、「接続」->「SSH」->「認証」に移動します。
「認証パラメータ」で、PuTTYgen で生成した秘密キー(.ppk 拡張子のファイル)を 参照… をクリックして見つけます。

開くをクリックします。

承諾をクリックします。

ユーザー名(ubuntu)を入力して Enter キーを押してログインします。


PuTTYgen で選択した場合、パスフレーズを入力します。

PuTTY が秘密キーを検証し、ログインできるようになります。

Ubuntu のファイアウォール(iptables)の設定

この段階では、まだ Discourse をインストールできません。Ubuntu で直接ポートを開く必要があります。

sudo su と入力して Enter キーを押し、root としてログインします。

iptables に次のルールを追加します。

iptables -I INPUT 5 -i ens3 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -i ens3 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT

注: 「5」は、両方のルールが DENY ALL 入力ファイアウォールルールの直前の 5 行目から追加されることを意味します。Oracle が Ubuntu イメージのデフォルトの iptables 設定を変更した場合、将来的に行番号を変更する必要がある場合があります。
image

更新されたルールを次で保存します。

netfilter-persistent save

image

Discourse のインストール

これで、サーバーは Discourse をインストールする準備が整いました。
公式の手順に従ってください: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

(40 分間のビルド時間後… :snail:


:warning: 再度になりますが、Oracle の無料サーバーは低速です。インストールと再構築には時間がかかります。
インターフェイスからテーマやコンポーネントをインストールするだけでも、タイムアウトすることがあります。
ご注意ください… そして、忍耐強く。 :person_in_lotus_position:


関連ディスカッション(様々な情報とリソースを含む): Self hosting for free (with caveats!) with Oracle Cloud

「いいね!」 9