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
假设,我们现在需要安装的域名为 myustao.com,那么你需要修改你的 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 已经安装成功了。