天天看點

Discourse 雲平台安裝

本文檔是根據 discourse/INSTALL-cloud.md at main · discourse/discourse · GitHub 頁面中的内容進行翻譯的。

在基于雲平台的 Discourse 安裝通常不會超過 30 分鐘,哪怕你沒有任何有關 Rails 或 Linux shell 的知識都能夠順利完成安裝。 下面我們是通過 DigitalOcean 服務提供商來進行安裝測的,但是所有的安裝步驟都能夠在 所有相容 Docker 的雲計算平台上進行,同時也可以在本地的伺服器上完成安裝。

 如果你連 30 分鐘都沒有的話?你可以聯系 Discourse 社群來幫你完成安裝,Discourse 社群将會收取一次性 $150 (美元)的費用。 單擊此處連結來對服務進行購買 。

建立一個你的新雲伺服器,例如:DigitalOcean ,當然你也可以使用其他平台提供的伺服器。

預設配置 目前版本的 LTS Ubuntu 作業系統 能夠很好的工作。最少,需要一個 64 位的 Linux 作業系統,并且這個作業系統的核心需要更新到最新的版本。

預設配置 1 GB 的記憶體針對小型的 Discourse 社群通常都能很好的運作。但我們推薦針對大型社群使用 2 GB 的記憶體。

預設配置 New York 資料中心針對北美和歐洲來說都是不錯的地理分區,如果你的 Discourse 使用者使用的對象多是其他地理位置的使用者,那麼你可以選擇離你稍近的資料中心。

輸入域名 discourse.example.com 來在 DigitalOcean 中建立一個 Droplet(Droplet 是 DigitalOcean 定義的伺服器名稱)。當然你也可以購買使用你自己的域名,通常 Discourse 的安裝需要一個真實的域名,沒有辦法通過 IP 位址安裝,是以我們建議你首先購買域名或者使用你已有域名的二級域名。

建立你的新 Droplet,這個過程就等于你在 DigitalOcean 上建立了一個伺服器,也等同你在其他平台上面建立了一個 VPS 或者伺服器。 當完成建立後,你将會收到一個電子郵件,這個電子郵件中有你的 Root 使用者的密碼。 但是我們建議你 設定使用 SSH keys , 來增強你伺服器通路的安全性。

通過使用 IP 位址,并使用 SSH 來連接配接和通路你建立的伺服器,或者針對 Windows 平台你可以安裝 Putty 後運作下面的指令來進行連接配接:

如果你沒有配置 SSH Key 的話,你可以使用 DigitalOcean 發給你的電子郵件中包含的密碼來進行登入, 或者使用你本地的 SSH Key 來進行連接配接。

如果你希望使用你自己的 Docker 版本,你可以現在在你新設定的伺服器上進行安裝。 如果你的伺服器上沒有預設安裝 Docker,那麼 discourse-setup 将會自動為你從 get.docker.com 下載下傳後進行安裝。

從 官方 Discourse Docker 鏡像 倉庫中克隆代碼到本地計算機的 /var/discourse 目錄。

你隻需要執行上面的指令即可,在 Discourse 安裝的過程中需要 root 權限。

 電子郵件系統在 Discourse 的使用者建立過程中非常重要。 如果你沒有在安裝 Discourse 之前建立電子郵件 SMTP 伺服器,那麼你安裝的 Discourse 無法通路也無法登入(HAVE A BROKEN SITE)!

如果你已經有你自己的 SMTP 郵件伺服器了,那麼你就可以直接使用你已有的郵件伺服器配置資訊。

還有沒有郵件伺服器?請通路 Discourse 推薦使用的郵件伺服器.

為了確定你的郵件能夠被正常投遞,你必須在你的 DNS 中添加有效的 SPF 和 DKIM 記錄 。請通路你郵件服務提供商的文檔如何設定這些資訊。

根據我們實際使用的情況,Discourse 的安裝必須配置可用的域名和郵件伺服器,針對中國境内的情況,你可以使用阿裡雲或者騰訊雲提供的企業郵箱。 通常我們建議你使用境外的郵件伺服器,比如說 AWS 的 SES,或者 MailGun 都是不錯的服務,你可能需要一張國際信用卡完成校驗。 但這一步是必須的,否則你的的 Discourse 無法完成安裝。

 Discourse 不能通過 IP 位址來工作,你必須擁有一個域名或者二級域名來進行安裝,例如 example.com 。

如果你已經擁有一個域名了,那麼可以選擇任何一個二級域名來進行安裝,例如 discourse.example.com 或 talk.example.com 或 forum.example.com 來安裝你的 Discourse 執行個體。

還沒有域名的話,你可以通路 NameCheap 網站來搜尋你喜歡的域名,或者直接 Google 搜尋 great domain name registrars 來選擇你喜歡的域名注冊商。

你的 DNS 控制台應該是能夠通路的,在你購買域名後,你還需要通路你的 DNS 配置來配置 DNS。針對你安裝的 Discourse 網站,你需要通過你的 DNS 建立一個 A 記錄 ,這個 A 記錄需要将你要安裝的域名指向到一個特定的 IP 位址。這個 IP 位址通常為你在第一步購買的伺服器 IP 位址。

通過下面的指令運作配置工具

你需要根據下面的提示配置所有參數:

上面的輸入資料将會為你的 Discourse 執行個體建立一個 app.yml 檔案,這個檔案将會在安裝進行後對你的 Discourse 執行個體進行配置。 整個安裝啟動過程可能需要耗費 2-8 分鐘 來為你的配置 Discourse。 如果在安裝完成後你還需要對你的配置進行修改,你可以再次運作 ./discourse-setup 指令(這個指令将會把已經存在的 app.yml 檔案重新載入)。 或者你也可以手動直接編輯 /containers/app.yml 檔案中的内容,然後再次運作 ./launcher rebuild app,否則你的修改是不會生效的。

一旦初始化安裝配置完成後,你的 Discourse 示例應該可以通過你配置的域名 discourse.example.com 在浏覽器上進行通路。

Discourse 雲平台安裝

使用你再啟動配置過程中輸入的電子郵件位址來注冊一個管理者賬号。

Discourse 雲平台安裝
Discourse 雲平台安裝

(如果你不能注冊你的管理賬号(Admin),請通過路徑/var/discourse/shared/standalone/log/rails/production.log 檢查日志,或者通路 電子郵件問題檢查清單 。)

當你完成管理者賬号的注冊後,設定向導将會啟動并指引你配置你的 Discourse 執行個體。

Discourse 雲平台安裝

當完成所有的設定向導,你将會看到職員主題(Staff topics)和 READ ME FIRST: Admin Quick Start Guide 。 這個配置向導将會包含有針對後續配置的的一些建議和如何對你的 Discourse 安裝執行個體進行自定義配置。

Discourse 雲平台安裝

我們強烈建議打開你針對你作業系統的安全自動更新。在 Ubuntu 使用 dpkg-reconfigure -plow unattended-upgrades 指令。在 CentOS/RHEL,使用 yum-cron 包。

如果你使用的是密碼登入你的作業系統,而不是使用 SSH Key 的話,請確定你使用強密碼。在 Ubuntu 使用 apt-get install libpam-cracklib 包。我們推薦使用 fail2ban ,這個将會對 3 次登入失敗的 IP 位址禁止登入 10 分鐘。

Ubuntu: apt-get install fail2ban

CentOS/RHEL: sudo yum install fail2ban (需要 EPEL)

如果你希望預設安裝防火牆, 針對 Ubuntu 打開 ufw 或者針對 CentOS/RHEL 7 及其後續版本使用 firewalld 。

當 Discourse 有新版本更新的時候,你的郵件位址将會收到更新提示。 請随時更新你的 Discourse 執行個體到最新版本以確定所有的安全問題被修複。 You will get email reminders as new versions of Discourse are released. Please stay current to get the latest features and security fixes. 要 更新 Discourse 到最新的版本,請通過你的浏覽器通路 /admin/upgrade 然後單擊更新按鈕。

/var/discourse 目錄中的 launcher 指令被用來使用一些系統級别的維護: