Discourseは、インターネットの次の10年のために構築された無料のオープンソースプラットフォームです。 これは、メーリングリスト、ディスカッションフォーラム、長い形式のチャットルームなどとして使用できる最新のフォーラムソフトウェアです。 バックエンドにRubyon Rails、フロントエンドにEmber.js、データストアとしてPostgreSQL、キャッシングサーバーとしてRedisを使用します。 シンプルで効率的、モバイルフレンドリー、カスタマイズ可能で、オンラインディスカッションを簡単で楽しいものにします。
このチュートリアルでは、CentOS8サーバーにDockerを使用してDiscourseフォーラムをインストールする方法を示します。
前提条件
- CentOS8を実行しているサーバー。
- サーバーIPを指す有効なドメイン名。
- ルートパスワードがサーバーに設定されます。
Dockerをインストールする
まず、サーバーにDockerをインストールする必要があります。 デフォルトでは、DockerはCentOS8標準リポジトリでは使用できません。 そのため、Dockerの公式リポジトリをシステムに追加する必要があります。 次のコマンドで追加できます。
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
リポジトリが作成されたら、次のコマンドを実行してDockerをインストールします。
dnf install docker-ce --nobest
Dockerをインストールした後、Dockerサービスを開始し、次のコマンドを使用してシステムの再起動時に開始できるようにします。
systemctl start docker
systemctl enable docker
これで、次のコマンドを使用してDockerのバージョンを確認できます。
docker --version
次の出力が表示されます。
Docker version 20.10.1, build 831ebea
Discourseをインストールする
まず、次のコマンドを使用してDiscourseのディレクトリを作成します。
mkdir /opt/discourse
次に、次のコマンドを使用して、Gitリポジトリから最新バージョンのDiscourseをダウンロードします。
git clone https://github.com/discourse/discourse_docker.git /opt/discourse
次に、ディレクトリをDiscourseに変更し、次のコマンドを使用してDiscourseをインストールします。
cd /opt/discourse
./discourse-setup
以下に示すように、FQDNを入力するように求められます。
which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) which: no docker.io in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) Ports 80 and 443 are free for use 'samples/standalone.yml' -> 'containers/app.yml' Found 4GB of memory and 2 physical CPU cores setting db_shared_buffers = 1024MB setting UNICORN_WORKERS = 4 containers/app.yml memory parameters updated. Hostname for your Discourse? [discourse.example.com]: discourse.linuxbuz.com
有効なドメイン名を入力して、Enterキーを押します。 有効なメールアドレスとパスワードを入力するように求められます。
Checking your domain name . . . Connection to discourse.linuxbuz.com succeeded. Email address for admin account(s)? [[email protected],[email protected]]: [email protected] SMTP server address? [smtp.example.com]: smtp.gmail.com SMTP port? [587]: SMTP user name? [[email protected]]: [email protected] SMTP password? [pa$$word]: yourpassword Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: [email protected] Does this look right?
すべての詳細を入力して、Enterキーを押します。 以下に示すように、すべての設定を確認する必要があります。
Hostname : discourse.linuxbuz.com Email : [email protected] SMTP address : smtp.gmail.com SMTP port : 587 SMTP username : [email protected] SMTP password : yourpassword Let's Encrypt : [email protected] ENTER to continue, 'n' to try again, Ctrl+C to exit:
すべて問題がなければ、Enterキーを押してインストールを開始します。 インストールが完了すると、次の出力が表示されます。
+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_HOSTNAME=discourse.linuxbuz.com -e [email protected] -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e [email protected] -e DISCOURSE_SMTP_PASSWORD=yourpassword -e [email protected] -h centos8-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:e0:37:60:d3:09 local_discourse/app /sbin/boot ab3bdf3c169d47d9ff06052f48ff078d46393f1152b651b9fd3354594cc38714
これで、次のコマンドを使用して、Discourse実行コンテナを確認できます。
docker ps
次の出力が表示されます。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES ab3bdf3c169d local_discourse/app "/sbin/boot" 22 seconds ago Up 21 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
Discourse WebUIにアクセスする
次に、Webブラウザーを開き、URLを入力します https://discourse.linuxbuz.com。 談話設定画面にリダイレクトされます。
クリックしてください 登録 ボタン。 登録ページが表示されます。
結論
おめでとう! これで、CentOS 8にDiscourseフォーラムソフトウェアが正常にインストールされました。これで、Discourseのその他の機能を調べて、実稼働環境に展開できます。 ご不明な点がございましたら、お気軽にお問い合わせください。
Hope this helps!