Discourseの記事

前書き

Discourseは、インターネットの次の10年のために構築されたオープンソースのディスカッションプラットフォームです。 DigitalOcean Dropletで談話を実行するために必要なすべての手順を説明します。

前提条件

始める前に、最初に設定する必要のあることがいくつかあります。

  • 2 GB以上のRAMを備えたUbuntu 14.04ドロップレット(64ビット)。 このパートに関するヘルプが必要な場合は、https://www.digitalocean.com/community/tutorials/how-to-create-your-first-digitalocean-droplet-virtual-server [このチュートリアル]で開始できます。
    +談話では、小規模なコミュニティには1 GBのRAM、大規模なコミュニティには2 GBのRAMを推奨しています。 1 GBのRAMを使用している場合、スワップファイルも必要です。 一般に、従来の回転式ハードドライブを使用するシステムではスワップが推奨されますが、SSDでスワップを使用すると、時間の経過とともにハードウェアの劣化の問題が発生する可能性があります。 この考慮事項のため、DigitalOceanまたはSSDストレージを利用する他のプロバイダーでスワップを有効にすることはお勧めしません。 そうすることは、あなたとあなたの隣人の基礎となるハードウェアの信頼性に影響を与える可能性があります。 したがって、DigitalOcean Dropletで談話を実行するには、最低2 GBのRAMをお勧めします。 スワップの使用の詳細については、https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04 [Ubuntu 14.04でスワップを追加する方法]を参照してください。 +サーバーのパフォーマンスを改善する必要がある場合は、Dropletをアップグレードすることをお勧めします。 これにより、一般的に結果が向上し、サービスに影響する可能性のあるハードウェアの問題に寄与する可能性が低くなります。

  • テスト用のドメインとしてIPアドレスを使用できますが、実稼働サーバーの場合は、ドロップレットに解決されるドメインが必要です。 https://www.digitalocean.com/community/articles/how-to-set-up-a-host-name-with-digitalocean [このチュートリアル]が役立ちます。

  • sudo特権を持つ非rootユーザー(https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04[Ubuntu 14.04での初期サーバー設定]は、この設定方法を説明しています。 )

  • Mandrillおよびhttp://help.mandrill.com/entries/23744737-Where-do-I-find-my-SMTP-credentials[get SMTP credentials]の無料アカウント。 これらの資格情報の有効性を事前にテストしても問題ありませんが、Discourseで初めて使用できます。

このチュートリアルのすべてのコマンドは、非rootユーザーとして実行する必要があります。 コマンドにルートアクセスが必要な場合は、先頭に「+ sudo +」が付きます。 Ubuntu 14.04での初期サーバー設定では、ユーザーを追加してsudoアクセスを許可する方法について説明しています。

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

このセクションでは、http://git-scm.com/ [Git]をインストールして談話ソースファイルをダウンロードします。 Gitは、オープンソースの分散バージョン管理およびソースコード管理システムです。

始める前に、システムが最新であることを確認することを強くお勧めします。 rootユーザーとしてドロップレットにSSHで接続します。

ssh sammy@

ドロップレットで次のコマンドを実行して、システムを更新します。

sudo apt-get update
sudo apt-get upgrade

それが完了したら、次のコマンドを実行してGitをインストールします。

sudo apt-get install git

ステップ2-Dockerのインストール

このセクションでは、https://www.docker.com/ [Docker]をインストールして、Discourseが実行される分離された環境を持つようにします。 Dockerは、任意のアプリケーションを軽量コンテナーでパック、出荷、および実行できるオープンソースプロジェクトです。 Dockerの詳細については、https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-getting-started [このチュートリアル]を参照してください。

Dockerは、Dockerをインストールするためのパブリックスクリプトを提供します。

wget -qO- https://get.docker.io/ | sh

このユーザーとしてDockerコンテナーを実行できるようにするには、非ルートユーザーを `+ docker +`グループに追加する必要があります。

sudo usermod -aG docker

変更を有効にするには、そのユーザーとしてログアウトしてから再度ログインする必要があります。

exit
su - sammy

ステップ3-談話のダウンロード

このセクションでは、談話をダウンロードします。

談話関連のすべてのファイルが格納されるフォルダーを作成します。

sudo mkdir /var/discourse

official Discourse Docker Imageをこのフォルダーに複製します。

sudo git clone https://github.com/discourse/discourse_docker.git /var/discourse

ステップ4-談話の構成

このセクションでは、最初の談話設定を構成します。

ディレクトリに切り替えます。

cd /var/discourse

ファイルを `+ app.yml `として ` containers +`フォルダーにコピーします。

sudo cp samples/standalone.yml containers/app.yml

`+ app.yml +`ファイルの談話設定を編集します。

sudo nano containers/app.yml

構成ファイルはhttp://www.nano-editor.org/[nano text editor]で開きます。

以下に示すように、セクションを見つけて、カスタム電子メール、ドメイン、およびSMTPサーバー情報で更新します。 個々の行については、サンプルブロックの後に説明します。

app.yml

...
env:
 LANG: en_US.UTF-8
 ## TODO: How many concurrent web requests are supported?
 ## With 2GB we recommend 3-4 workers, with 1GB only 2
 #UNICORN_WORKERS: 3
 ##
 ## TODO: List of comma delimited emails that will be made admin and developer
 ## on initial signup example '[email protected],[email protected]'
 DISCOURSE_DEVELOPER_EMAILS: ''
 ##
 ## TODO: The domain name this Discourse instance will respond to
 DISCOURSE_HOSTNAME: ''
 ##
 ## TODO: The mailserver this Discourse instance will use
 DISCOURSE_SMTP_ADDRESS:          # (mandatory)
 DISCOURSE_SMTP_PORT:                         # (optional)
 DISCOURSE_SMTP_USER_NAME:       # (optional)
 DISCOURSE_SMTP_PASSWORD:                # (optional)
 ##
 ## The CDN address for this Discourse instance (configured to pull)
 #DISCOURSE_CDN_URL: //discourse-cdn.example.com
 ...

変更する必要がある個々の行は次のとおりです。

{空} 1)管理者のメールアドレスを設定

談話管理者アカウントに使用するメールアドレスを選択します。 それは、あなたの談話ドメインとはまったく無関係である可能性があり、便利な任意の電子メールアドレスである可能性があります。 このメールアドレスを行に設定します。 ユーザーがそのメールに登録すると、このメールアドレスはデフォルトで談話管理者になります。 このメールアドレスは、後でウェブコントロールパネルから談話を設定するときに必要になります。

DISCOURSE_DEVELOPER_EMAILS: ''

メールに置き換えます。

最初の管理者アカウントを作成して有効にするには、開発者のメール設定が必要です。

2)ドメインの設定

に設定 。 これは、Discourseフォーラムをで利用できるようにすることを意味します。 サーバーを指すドメインがまだない場合は、代わりにここでIPアドレスを使用できます。 ここには、1つのドメイン(またはIP)のみをリストできます。

DISCOURSE_HOSTNAME: ''

ドメインに置き換えます。 WebからDiscourseインスタンスにアクセスするには、ホスト名が必要です。

3)メール認証情報の設定

SMTPメールサーバーにはMandrillをお勧めします。 SMTP認証情報をMandrillから取得

、、、およびの行にSMTP認証情報を入力します。 (必要に応じて、これらの行の先頭からコメント*#*文字を削除してください。)

DISCOURSE_SMTP_ADDRESS:          # (mandatory)
DISCOURSE_SMTP_PORT:                         # (optional)
DISCOURSE_SMTP_USER_NAME:       # (optional)
DISCOURSE_SMTP_PASSWORD:                # (optional)

Discourseインスタンスからメールを送信するには、SMTP設定が必要です。たとえば、登録メール、パスワードリセットメール、返信通知などを送信します。

メール認証情報の設定に問題がありますか? Discourse Email Troubleshooting guideを参照してください。

メール資格情報を設定する必要があります。設定しないと、Discourseインスタンスをブートストラップできません。 資格情報が正しい必要があります。そうでないと、フォーラムのユーザー(管理ユーザーを含む)を登録できません。

4)オプション:メモリ設定の調整(1 GBドロップレットに推奨)

また、構成ファイルのセクションで、* 128MB および 2 *に設定して、メモリ容量を増やします。

db_shared_buffers: "128MB"

and

UNICORN_WORKERS: 2

これらのメモリ設定を調整すると、1 GBのドロップレットで談話のパフォーマンスが最適化されます。

*注:*上記の変更は必須であり、スキップしないでください。そうしないと、ディスコースフォーラムが壊れます。

`+ app.yml +`ファイルを保存し、テキストエディターを終了します。

ステップ5-ブートストラップ談話

このセクションでは、談話をブートストラップします。

まず、Dockerが必要なすべての外部リソースにアクセスできることを確認する必要があります。 Docker設定ファイル `+ / etc / default / docker`を開きます。

sudo nano /etc/default/docker

行のコメントを解除して、DockerがGoogleのDNSを使用するようにします。

/ etc / default / docker

...

# Use DOCKER_OPTS to modify the daemon startup options.
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4"

...

Dockerを再起動して、新しい設定を適用します。

sudo service docker restart

*注意:*ブートストラップコマンドを実行する前にDockerのDNS設定を変更しないと、「致命的: ‘https://github.com/SamSaffron/pups.git/’にアクセスできません:」[https ://github.com/SamSaffron/pups.git/ ‘:]ホストを解決できませんでした:github.com」。

ここで、ブートストラッププロセスを使用して談話を構築し、前のセクションで構成したすべての設定で談話を初期化します。 これにより、Dockerコンテナーも開始されます。 次のディレクトリにいる必要があります。

cd /var/discourse

ブートストラップ談話:

sudo ./launcher bootstrap app

このコマンドの実行には、談話環境の構成に約8分かかります。 (このプロセスの初期段階では、SSHキーを生成するように求められます。* Y *を押して受け入れます。)

ブートストラッププロセスが完了したら、Discourseを開始します。

sudo ./launcher start app

おめでとうございます。 これで、独自の談話インスタンスができました!

ステップ6-談話へのアクセス

デフォルトの談話Webページを表示するには、WebブラウザーでドメインまたはIPアドレス(前に談話のホスト名に設定した)にアクセスします。

image:https://assets.digitalocean.com/articles/Install_Discourse/1.png [談話]

502 Bad Gatewayエラーを受け取った場合は、1〜2分待ってから更新して、Discourseの開始を完了してください。

ステップ7-サインアップして管理者アカウントを作成する

ページの右上にある[サインアップ]ボタンを使用して、新しい談話アカウントを登録します。 以前に設定で指定したメールアドレスを使用する必要があります。 アカウントを確認すると、そのアカウントには自動的に管理者権限が付与されます。

画像:https://assets.digitalocean.com/articles/Install_Discourse/2.png [sign_up]

サインアップしてログインすると、スタッフのトピックとhttps://github.com/discourse/discourse/blob/master/docs/ADMIN-QUICK-START-GUIDE.md[Admin Quick Start Guide]が表示されます。 Discourseインストールをさらに構成およびカスタマイズするための次の手順が含まれています。

にアクセスして、管理ダッシュボードにアクセスできます。

画像:https://assets.digitalocean.com/articles/Install_Discourse/3.png [dash]

サインアップしてもメールが届かない場合、新しい管理者アカウントを登録できない場合は、https://meta.discourse.org/t/troubleshooting-email-on-a-new-discourse-をご覧ください。 install / 16326 [メールトラブルシューティングチェックリスト]。

それでもメールで新しい管理者アカウントを登録できない場合は、https://meta.discourse.org/t/create-admin-account-from-console/17274 [コンソールから管理者アカウントを作成]チュートリアルをご覧ください。通常のSMTP電子メールが機能するまで、_サイトが壊れる_ことに注意してください。

それでおしまい! ユーザーがサインアップして、Discourseフォーラムの管理を開始できるようになりました。

インストール後のアップグレード

*談話を最新バージョンに*アップグレードするには、 `+ / admin / upgrade +`にアクセスして指示に従ってください。

image:https://assets.digitalocean.com/articles/Install_Discourse/4.png [アップグレード]