Discourse CentOS 8 全新安裝手冊
Discourse 在 CentOS 8 上的全新安裝指南和過程,請參考本文件。
安裝 Docker
Discourse 是基於 Docker 執行的,所以你需要先安裝 Docker。
針對 CentOS 8 ,你需要執行下面 2 個命令,將 Docker 的倉庫註冊上去。
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
在完成上面的配置後執行下面的命令進行安裝:
sudo yum install docker-ce docker-ce-cli containerd.io
在中途可能要求你同意金鑰,輸入 Y 後同意即可。
執行下面的命令啟動 Docker
sudo systemctl start docker
執行下面的命令,確定你的 Docker 已經被正確安裝和啟動了。
sudo docker run hello-world
如果你能看到上面的輸出,就能確定 Docker 已經安裝成功了。
安裝 Discourse
在安裝 Discourse 之前,你一定需要一個已經註冊成功的域名,並且已經註冊成功的域名已經指向到了你需要安裝的伺服器地址。
如果你不配置好上面的配置,你是沒有辦法完成 Discourse 安裝的。
設定 DNS
假設,我們現在需要安裝的域名為
最好的,你需要設定 主域名和 www 域名都指向同一個伺服器地址。
設定郵件伺服器
Discourse 和 mailgun 是好基友,也算是對 mailgun 的宣傳吧。因此,你需要註冊一個 mailguan 的賬號。或者你有其他的 SMTP 郵件賬號也是可以的。
如果你不配置你的郵件伺服器,Discourse 在安裝以後沒有辦法傳送郵件到你的管理員賬號,因此你就沒有辦法登入和重新啟用。
可以按照 MailGun 上面的提示配置 DNS,在配置完成後可以再次檢查 DNS,確保配置是成功的。
然後選擇 SMTP 的配置部分,獲得你的配置引數。
如果你不知道你的使用者名稱密碼是多少,你可以選擇重置密碼。
將上面的配置內容拷貝到文字檔案中,備用。
你需要準備的引數是
- smtp 地址
- username
- password
從 GitHub 中克隆程式碼
執行下面的命令,從 GitHub 中將 Discourse 的程式碼克隆到你的伺服器上。
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
然後進入你已經克隆成功程式碼的資料夾。
當然,如果你的作業系統沒有安裝 git 的話,你需要先進行安裝。
安裝 git 的命令是:
dnf install git
如果你能夠看到下面的輸出,則表示程式碼克隆成功了:
[root@www ~]# git clone https://github.com/discourse/discourse_docker.git /var/discourse
Cloning into '/var/discourse'...
remote: Enumerating objects: 28, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 4893 (delta 10), reused 12 (delta 5), pack-reused 4865
Receiving objects: 100% (4893/4893), 1.07 MiB | 9.57 MiB/s, done.
Resolving deltas: 100% (3155/3155), done.
[root@www ~]#
隨後你需要進入你克隆的程式碼的資料夾。
執行安裝配置
在進入克隆的 Discourse 資料夾下,執行下面的命令:
./discourse-setup
你可能還需要安裝 netcat,這個用來在 ContOS 檢查埠是否被佔用。
如果你還沒有安裝的話,你可以使用下面的命令進行安裝:
dnf install nmap
系統將會返回下面的程式碼:
[root@vps263579 discourse]# dnf install nmap
Last metadata expiration check: 0:12:58 ago on Mon 19 Oct 2020 02:09:31 PM EDT.
Dependencies resolved.
======================================================================================================================================================================================================================================
Package Architecture Version Repository Size
======================================================================================================================================================================================================================================
Installing:
nmap x86_64 2:7.70-5.el8 AppStream 5.8 M
Installing dependencies:
nmap-ncat x86_64 2:7.70-5.el8 AppStream 237 k
Transaction Summary
======================================================================================================================================================================================================================================
Install 2 Packages
Total download size: 6.1 M
Installed size: 25 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): nmap-ncat-7.70-5.el8.x86_64.rpm 2.7 MB/s | 237 kB 00:00
(2/2): nmap-7.70-5.el8.x86_64.rpm 9.9 MB/s | 5.8 MB 00:00
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 7.2 MB/s | 6.1 MB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : nmap-ncat-2:7.70-5.el8.x86_64 1/2
Running scriptlet: nmap-ncat-2:7.70-5.el8.x86_64 1/2
Installing : nmap-2:7.70-5.el8.x86_64 2/2
Running scriptlet: nmap-2:7.70-5.el8.x86_64 2/2
Verifying : nmap-2:7.70-5.el8.x86_64 1/2
Verifying : nmap-ncat-2:7.70-5.el8.x86_64 2/2
Installed:
nmap-2:7.70-5.el8.x86_64 nmap-ncat-2:7.70-5.el8.x86_64
Complete!
根據不同的 DNS 設定,你可能會遇到 443 埠沒有辦法訪問的情況。
在這個情況下,你可以編輯你本地的 hosts 檔案,在 ContOS 下,這個檔案在 /etc/hosts 路徑下面。
你將你本地的 IP 地址和你需要安裝的域名地址新增一條記錄上去。
然後再重新進行安裝,如果一切順利,你應該可以看到下面的介面:
上面的介面顯示的是你正在下載 Docker 的映象。
如果一切順利,你的伺服器將會重構安裝程式。
上圖顯示的是伺服器正在對原始碼進行重構。
針對你伺服器的情況,你需要等待一段時間等待重構的完成。一旦重構完成的話,你應該是沒有問題通過你的域名訪問你的伺服器的。
如果通過域名訪問你的伺服器,你將會看到下面的介面:
如果你能夠看到上面的介面,就表示你的 Discourse 已經安裝成功了。
並且啟用郵件已經發送過去了。
至此,你的 Discourse 已經安裝成功了。