Discourse论坛完整安装指南,新机器和有宝塔面板安装教程
侧边栏壁纸
  • 累计撰写 16 篇文章
  • 累计收到 1 条评论

Discourse论坛完整安装指南,新机器和有宝塔面板安装教程

admin
2024-11-13 / 0 评论 / 43 阅读 / 正在检测是否收录...

首先,我们需要在VPS上安装Docker。本次演示中使用的VPS是在之前的视频中介绍的Google Cloud VPS。如果您不清楚如何开通,请参考上一期的视频:

https://youtu.be/rQbpo_8_vPA?si=nUKgxgb1-DD0BcJU

我个人偏好使用Ubuntu系统,因此本次演示也将使用Ubuntu。由于在Google Cloud上配置Ubuntu系统的VPS并进行远程SSH登录可能稍显复杂,我计划在未来的视频中详细介绍整个过程。在这之前,我们将先介绍如何在VPS上通过SSH登录并安装Docker,以便进行Discourse论坛的安装。

Snipaste_2024-05-14_14-29-17

安装docker(两种方法)

在 Ubuntu 上安装 Docker 可以通过几个简单的步骤来完成。以下是在 Ubuntu 系统上安装 Docker CE (Community Edition) 的详细指南:如果你觉得这个优点复杂,可以跳过这段直接看下面方法二。

方法一

1. 更新现有的包列表

首先,打开终端并运行以下命令以更新 Ubuntu 的包列表:

sudo -i
apt update

2. 安装必要的包

安装一些必需的包,这些包允许 apt 通过 HTTPS 使用仓库:

apt install apt-transport-https ca-certificates curl software-properties-common

3. 添加 Docker 的官方 GPG 密钥

这样可以确保从 Docker 的官方仓库下载软件包:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4. 添加 Docker 仓库到 APT 源

你需要添加 Docker 的官方仓库地址到系统的 APT 源中:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

5. 再次更新包列表

添加了新的仓库后,需要再次更新包列表:

apt update

6. 安装 Docker CE

现在,你可以安装 Docker Community Edition:

apt install docker-ce

7. 验证 Docker 是否安装成功

安装完成后,你可以检查 Docker 是否正确安装并正在运行:

systemctl status docker

此命令应该会显示 Docker 服务的状态,表明它已经在运行。

8. 将用户添加到 Docker 组(可选)

默认情况下,只有 root 用户和具有 sudo 权限的用户才能运行 Docker 命令。如果你想要不使用 sudo 直接运行 Docker 命令,可以将你的用户添加到 Docker 组:

sudo usermod -aG docker ${USER}

为了使这些更改生效,你可能需要注销并重新登录,或者重启系统。

9. 测试 Docker 安装

最后,运行 Hello World 镜像以测试 Docker 是否正确安装:

docker run hello-world

如果一切正常,你将看到一条消息,说明 Docker 已经成功安装并且工作正常。

方法二

自动化安装docker

使用 Docker 提供的便利脚本安装 Docker

  • 这个脚本会自动执行添加仓库、安装密钥和安装 Docker 的步骤。
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

将当前用户添加到 Docker 组

  • 这样你就不需要每次在调用 Docker 命令时加上 sudo

    sudo usermod -aG docker ${USER}
    # 你需要注销并重新登录,或者重启你的系统,以使这个变更生效。

安装 Docker Compose

Docker Compose 可以通过一个简单的命令安装,特别是如果你想安装它作为一个 Docker 插件:

  1. 安装 Docker Compose 插件

    • 这个命令将 Docker Compose 安装为 Docker 的插件,简化了使用过程。

      sudo mkdir -p /usr/local/lib/docker/cli-plugins
      sudo curl -SL https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-linux-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose
      sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

    验证 Docker Compose 安装

    docker compose version

验证安装

  • 确认 Docker 运行:

    sudo docker run hello-world
  • 确认 Docker Compose 版本:

    docker compose version

通过以上步骤,你可以更便捷地在 Ubuntu 22.04 上安装 Docker 和 Docker Compose,而不需要手动配置仓库和密钥。这种方法适合快速设置开发环境,但在生产环境中,建议按照官方文档详细配置以确保系统的安全性和稳定性。

这就是在 Ubuntu 上安装 Docker 的全过程。现在,你可以开始使用 Docker 来创建和管理容器了。

不过在运行容器之前,还需要:

解析域名

解析域名到vps

Snipaste_2024-05-14_14-51-46

获取邮件服务专用密码

建议使用专用密码,邮箱密码也可以。

例如google邮箱的专用密码在google账户安全页面。设置两步验证,然后进入两步验证页面,下方有个专用密码。设置专用密码就可以了。这里如果不会获取专用密码,直接用邮箱密码也可以。如果有需要的话,到时候我们也可以单独讲一下如何获取专用密码。这里暂不赘述,原因后面和大家讲。先演示Discourse 论坛的安装。

安装论坛程序

创建一个目录 用于存放 Discourse 文件:

mkdir /var/discourse

克隆 Discourse Docker 仓库 到该目录:

git clone https://github.com/discourse/discourse_docker.git /var/discourse

进入该目录:

cd /var/discourse
chmod 700 containers

Snipaste_2024-05-14_15-01-26

执行安装

./discourse-setup

按照引导提示填写配置即可,涉及到的命令如下:

./discourse-setup

###网站域名,不带http(s)
Hostname for your Discourse? [discourse.example.com]: 1keji.net

Checking your domain name . . .
Connection to 1keji.net succeeded.

#管理员邮箱
Email address for admin account(s)? [[email protected],[email protected]]: [email protected]
#smtp地址
SMTP server address? [smtp.example.com]: smtp.gmail.com
#smtp端口,回车默认587,其他端口自行输入
SMTP port? [587]: 
#smtp账号,填邮箱账号即可
SMTP user name? [[email protected]]: [email protected]
#smtp密码,如果是qq邮箱等需要填授权码
SMTP password? [pa$$word]: mqtxupkksnahbabc
#发件地址和邮箱账号保持一致
notification email address? [[email protected]]: [email protected]
#输入回车跳过
Optional email address for Let's Encrypt warnings? (ENTER to skip) [[email protected]]: 
Optional Maxmind License key (ENTER to continue without MAXMIND GeoLite2 geolocation database) [1234567890123456]: 

#核对信息,没问题回车,有问题输入n重填
Does this look right?

Snipaste_2024-05-14_15-09-22

搜设置好之后,回车自动安装就可以了。其中有些步骤耗时有点长,会有卡顿的感觉。等一会就好了。晚安装完毕之后打开解析好的域名地址,点击页面的register即可开始配置。详情见视频教程。

以上是基于vps单独安装discourse论坛,总体上安装比较顺利,也比较简单。

但是如果vps有其他应用,比如宝塔面板占用了80端口,或者80或者443端口不通,这样安装到了最后就会报错,网页也会显示服务器内部错误而无法打开。

那么这种情况,比如说先安装了宝塔,还能不能成功安装discourse论坛呢?

经过我对网上教程的的多次尝试并且失败之后,慢慢的还是摸索到了真正的解决方案,可以确保成功安装。

下面是针对这种情况的安装解决方案:

首先以下两种情况域名验证这一步会出现问题:

  1. 80或者443端口不通
  2. 80或者443端口被占用,比如宝塔面板占用

这种情况安装会中断,这时候我们可以先跳过域名检查来安装程序:

./discourse-setup --skip-connection-test

按照引导提示填写配置之后,可以在containers/app.yml里面修改相关配置。

首先要进入containers目录

cd /var/discourse

设置文件夹和文件权限

chmod 777 containers
chmod 777 containers/app.yml

在ftp端直接修改app.yml参数。如果VPS有宝塔等面板的话,要将配置中http和https前方的#号删除,并将‘:’前方的80和443改为其它端口

恢复文件夹和文件权限

chmod 700 containers
chmod 700 containers/app.yml

然后重新运行容器,

./discourse-setup

设置面板的反代即可。

如果需要修改配置:

只需进入并修改该文件: var/discourse/containers/app.yml

修改后进行重启容器即可:

cd /var/discourse
./launcher destroy app
./launcher start app

注意事项:

邮箱服务的密码不可以有#字符,否则会认证失败。

  1. 网上有一种先配置app.yml文件的方法如下:

    复制示例配置文件 并命名为 app.yml

    cp samples/standalone.yml containers/app.yml

    编辑配置文件

    nano containers/app.yml

    启动和构建 Discourse

    使用以下命令构建和启动 Discourse 容器:

    ./launcher bootstrap app
    ./launcher start app

    这种方法小白不建议使用,容易配置出错,并且在配置与安装完成后,可能会出现宝塔面板反代失败的情况。建议先按照上方的安装步骤,正常安装之后再修改配置,之后再重启服务

0

评论 (0)

取消