2014年9月18日木曜日

Ubuntu14.04にDiscourseをインストールしてみた

概要

discourseというオープンソースのディスカッションツールがUbuntu14.04上で動作するか検証してみました

環境準備

  • Ubuntu 14.04 LTS
    サーバスペックは 2vCPU, 4GB Memory

セットアップ

Discourseを動作させるまでの手順を紹介します

dockerインストール

Ubuntu上にdockerをインストールします
ワンライナーのコマンドがあるので、それでdockerをインストールした後、Githubからdiscourseのソースコードを持ってきます

wget -qO- https://get.docker.io/ | sh
mkdir /var/discourse
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
cp samples/standalone.yml containers/app.yml

また、DNSがlocalhostの場合うまくindex.docker.ioが名前解決できないことがあるので以下を追記します

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

curl https://index.docker.io/v1/search?q=ubuntu: を実行してJsonが取得できればOKです

設定ファイル編集

vim containers/app.yml

管理者のメールアドレスを記載します

DISCOURSE_DEVELOPER_EMAILS: 'admin@your.domain.com'

discourseを動作させるサーバのドメイン情報を記載します
ドメインがない場合はIPアドレスを記載します

DISCOURSE_HOSTNAME: 'xxx.xxx.xxx.xxx'

動作に必要なワーカーの数を指定します
今回4GBのメモリだったの3と設定していますが1か2GBの場合は2を指定すればいいと思います

UNICORN_WORKERS: 3

SMTPサーバの設定をします
今回はGmailのSMTPサーバを使いました
独自のメールサーバまたはは他のメールASPを利用の場合はその情報を入力すればOKです

DISCOURSE_SMTP_ADDRESS: smtp.gmail.com                 # (mandatory)
DISCOURSE_SMTP_PORT: 587                               # (optional)
DISCOURSE_SMTP_USER_NAME: your.account.name@gmail.com  # (optional)
DISCOURSE_SMTP_PASSWORD: your.password                 # (optional)

sslを使わないのでポートは587(TLS)を指定します

起動

以下のコマンドで起動します

cd /var/discourse
./launcher bootstrap app

途中、SSHの鍵を作成する際にY/Nの入力を求められるのでYとします
その後はいろいろなインストール作業やらダウンロード作業が自動で行われます
だいたい10分くらいで完了します
dial tcp: lookup index.docker.io: no DNS serversが出る場合は何度か起動コマンドを試してみてください
うまく名前解決できないことがあるようです

上記が完了したら

./launcher start app

でdiscorseが起動します
起動したら、ブラウザで http://xxx.xxx.xxx.xxx/ にアクセスします
xxx.xxx.xxx.xxx は DISCOURSE_HOSTNAME に設定したIPを入力してください
アクセスするとDiscourseのトップページが表示されるはずです
停止したい場合は./launcher stop appで停止できます

はじめにやること

起動したらまずDISCOURSE_DEVELOPER_EMAILSに登録したメールアドレスでサインアップしてください
メールが届いたらアクティベーションします
すると/adminにアクセスできるようになりDiscourseのいろいろな設定をすることができるようになります
admin_discourse.png

あとは他に作成したいユーザで Sign Up -> メール認証 -> Log In とすればTopicを作れたり問題なく使えると思います
その他、Discourseの詳しい使い方はここでは割愛致します

参考サイト

0 件のコメント:

コメントを投稿