如何在 Rocky Linux 9 上安装 Discourse。

Discourse是在线讨论和论坛的强大平台,对于希望促进引人入胜和富有成效的讨论的社区和组织来说,这是一个不错的选择。Discourse是用Ruby on Rails编写的,并使用现代Web架构,包括实时更新,移动友好的设计和复杂的API。它是高度可定制的,并提供一系列功能,旨在使在线讨论引人入胜、富有成效且易于访问。discourse-logo)” data-mce-src=”https://idroot.us/wp-content/uploads/2021/11/discourse-logo.png”>

Rocky Linux 9 上安装 Discourse(英语:Rocky Linux <>)

第 1 步。第一步是将系统更新到最新版本的软件包列表。为此,请运行以下命令:

sudo dnf check-update
sudo dnf install dnf-utils epel-release

第 2 步。安装 Git。

默认情况下,Git 在 Rocky Linux 9 AppStream 存储库中可用。现在运行以下命令将稳定版本的 Git 安装到您的系统中:

sudo dnf install git

您可以使用以下命令验证已安装的版本:

git --version

现在我们设置标准设置,例如名称和电子邮件,主要围绕 git 提交消息:

git config --global user.name "idroot"
git config --global user.email "godetz@idroot.us"

要验证您的姓名和电子邮件是否已配置,请执行以下操作:

git config --list

有关安装 Git 的其他资源,请阅读下面的帖子:

  • 如何在 Rocky Linux √ 上安装 Git

第 3 步。安装 Docker。

默认情况下,Docker 在 Rocky Linux 9 基础存储库中不可用。现在运行以下命令将 Docker CE 存储库添加到您的系统中:

sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

将存储库添加到系统后,现在运行以下命令来安装 Docker CE Rocky Linux:

sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin --allowerasing

安装完成后,在 Rocky Linux 上启动 Docker 服务,并使其在系统启动时自动运行:

sudo systemctl enable docker
sudo systemctl start docker

接下来,使用以下命令将用户添加到 Docker 组:

sudo usermod -aG docker $USER

然后,创建一个新组:

newgrp docker

验证是否已安装 Docker 版本:

docker version

有关安装 Docker 的其他资源,请阅读下面的帖子:

  • 如何在 Rocky Linux √ 上安装 Docker。

第 3 步。下载话语。

首先,我们将官方的 Discourse Docker GitHub 仓库克隆到目录:/var/discourse

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

接下来,切换到 Discourse 目录并从目录中删除写入和可执行权限:containers

cd /var/discourse
sudo chmod 700 containers

第 4 步。配置话语。

下载 Discourse Docker 镜像后,下一步是对其进行配置。您可以通过编辑文件来执行此操作。下面是如何配置文件的示例:containers/app.yml

cp samples/standalone.yml containers/app.yml
nano containers/app.yml

将变量设置为域名:DISCOURSE_HOSTNAME

DISCOURSE_HOSTNAME: 'your-domain.com'

将行更改为 。这会将 Discourse 的外部 HTTP 端口更改为 8080,因为我们将在端口 80 使用 Nginx。注释掉:"80:80"8080:80""443:443"

expose:
  - "8080:80"   # http
 #- "443:443"   # https

为管理员设置电子邮件:

DISCOURSE_DEVELOPER_EMAILS: 'idroot@your-domian.com,admin@your-domian.com'

设置 SMTP 设置:

ISCOURSE_SMTP_ADDRESS: smtp.your-domain.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: user@your-domain.com
DISCOURSE_SMTP_PASSWORD: your-strong-smtp-password
#DISCOURSE_SMTP_ENABLE_START_TLS: true           # (optional, default true)
DISCOURSE_SMTP_DOMAIN: your-domain.com    # (required by some providers)
DISCOURSE_NOTIFICATION_EMAIL: noreply@your-domain.com    # (address to send notifications from)

第5步。在 Rocky Linux 9 上安装 Discourse。

配置文件设置好后,我们可以使用以下命令启动 Discourse:

sudo ./launcher bootstrap app

启动话语应用程序:

sudo ./launcher start app

第 6 步。安装和配置 Nginx for Discourse。

默认情况下,Nginx 在 Rocky Linux 9 基础存储库中不可用。现在运行以下命令将 Nginx 稳定存储库添加到您的系统中:

sudo tee /etc/yum.repos.d/nginx-stable.repo<<EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/9/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF

现在,运行以下命令将 Nginx 的最新稳定版本安装到您的服务器上:

sudo dnf update
sudo dnf install nginx

安装完成后,启动 Nginx 服务并使其能够在重新启动时自动启动,一次性完成:

sudo systemctl enable --now nginx

要验证是否已安装最新版本的 Nginx,请运行:

nginx -v

下面是一个如何配置 Nginx 以服务于话语的示例:

nano /etc/nginx/conf.d/discourse.conf

添加以下文件:

# enforce HTTPS
server {
    listen       80; 
    listen 		[::]:80;
    server_name  discourse.example.com;
    location / { return 301 https://$host$request_uri; }
}
server {
    listen       443 ssl http2;
    listen 		[::]:443 ssl http2;
    server_name  discourse.example.com;

    access_log  /var/log/nginx/discourse.access.log;
    error_log   /var/log/nginx/discourse.error.log;
    
    
    http2_push_preload on; # Enable HTTP/2 Server Push
    # Enable TLSv1.3's 0-RTT. Use $ssl_early_data when reverse proxying to
    # prevent replay attacks.
    #
    # @see: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
    ssl_early_data on;
    
    # Security / XSS Mitigation Headers
    # NOTE: X-Frame-Options may cause issues with the webOS app
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";
    add_header X-Early-Data $tls1_3_early_data;
    
    client_max_body_size 100m;
    
    location / {
        proxy_pass http://your-domain.com:8080/;
        proxy_set_header Host $http_host;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
    }    
}

# This block is useful for debugging TLS v1.3. Please feel free to remove this
# and use the `$ssl_early_data` variable exposed by NGINX directly should you
# wish to do so.
map $ssl_early_data $tls1_3_early_data {
    "~." $ssl_early_data;
    default "";
}

保存并关闭文件,然后重新启动 Nginx 服务以启用新配置:

sudo systemctl restart nginx

有关安装 Nginx 的其他资源,请阅读下面的帖子:

  • 如何在 Rocky Linux √ 上安装 Nginx

步骤 7.使用Let’s Encrypt SSL保护话语。

首先,使用以下命令安装 Certbot 客户端:

sudo dnf install certbot python3-certbot-nginx

接下来,按照以下步骤使用Let’s Encrypt获取SSL证书:

sudo certbot --nginx -d your-domain.com

让我们加密证书的有效期为 90 天,强烈建议在证书过期之前续订证书。您可以通过运行以下命令来测试证书的自动续订:

sudo certbot renew --dry-run

第8步。配置防火墙。

默认情况下,Nginx 侦听端口 80 和 443。如果您的服务器上安装并配置了任何防火墙,则需要通过 firewalld 允许这两个端口。您可以使用以下命令允许它们:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

您可以通过列出当前防火墙设置进行验证:

sudo firewall-cmd --permanent --list-all

第9步。访问话语网络界面。

成功安装后,打开您的 Web 浏览器并使用 URL 访问话语 Web UI。您应该看到以下页面:https://.your-domain.com

discourse-web-interface

感谢您使用本教程在您的 Rocky Linux 9 系统上安装 Discourse 讨论平台。如需其他帮助或有用信息,我们建议您查看官方话语网站

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun214436.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2023年3月10日
下一篇 2023年3月10日

相关推荐

  • 如何在Rocky Linux 9上安装Zabbix

    Zabbix是一个著名的开源监控解决方案,在维护网络基础设施的健康和性能方面发挥着关键作用。 在 Rocky Linux 9 上安装 Zabbix 第 1 步。第一步是将系统更新到…

    Linux命令 2023年9月15日
  • 如何在 Rocky Linux 9 上安装 Suricata

    您是否正在寻找功能强大且易于使用的网络入侵检测和防御系统?看看苏里卡塔!使用 Suricata,您可以保护您的网络免受各种攻击和可疑活动的影响,确保您的数据始终安全可靠 在 Roc…

    2023年4月1日
  • 如何在 Rocky Linux 9 上安装 FreeIPA

    FreeIPA 是用于身份、策略和审计管理的终极开源解决方案。它提供了一个安全且易于使用的平台,可让您轻松管理 Linux 系统和应用程序。最好的部分是什么?在 Rocky Lin…

    2023年3月31日
  • 如何在 Rocky Linux 9 上安装 Podman

    Podman 是一个开源容器管理工具,它允许您运行容器而无需单独的守护进程。使用 Podman 而不是 Docker 的主要好处是它不需要单独的守护进程来运行容器。这样可以更轻松地…

    2023年3月29日
  • 如何在 Rocky Linux 9 上安装 NumPy。

    NumPy是一个流行的科学计算Python库,它增加了对大型多维数组和矩阵的支持。它是数据分析、科学研究和机器学习应用的重要工具。NumPy可在各种操作系统上使用,包括Window…

    2023年3月28日
  • 如何在 Rocky Linux 9 上安装 Draw.io 桌面应用程序

    Draw.io 是一种流行的开源图表工具,广泛用于创建图表、流程图、思维导图和各种其他类型的可视化表示。它是一种多功能工具,允许用户轻松创建复杂的图表,并且具有广泛的功能,使其成为…

    Linux命令 2023年3月26日
  • 如何在 Rocky Linux 9 上安装 Audacity

    Audacity 是一个免费的开源数字音频编辑器和录音应用程序,可用于 Linux、Windows 和 macOS。它允许用户录制和编辑具有多个轨道和效果的音频文件。Audacit…

    Linux命令 2023年3月26日
  • 如何在 Rocky Linux 9 上安装 Zoom

    在当前远程工作和虚拟通信的时代,视频会议已成为我们生活中必不可少的一部分。在众多可用的视频会议工具中,Zoom 脱颖而出,是最可靠和用户友好的选项之一。但是,如果您是Linux的新…

    2023年3月24日
  • 如何在 Rocky Linux 9 上安装 Python Pip

    Python Pip 是一个命令行工具,允许您轻松地从 Python 包索引 (PyPI) 或其他第三方存储库安装、升级和管理 Python 包。对于想要轻松管理其 Python …

    2023年3月23日
  • 如何在 Rocky Linux 9 上安装 Bitwarden

    Bitwarden是一个免费的开源密码管理解决方案,使用户能够安全地存储和管理他们的密码。它是一种基于云的解决方案,允许用户通过互联网连接从任何地方访问他们的密码库。Bitward…

    2023年3月21日
  • 如何在 Rocky Linux 9 上安装 Perl

    Perl 是一种强大的脚本语言,用于各种目的,如 Web 开发、系统管理、网络编程等。Perl可以在多个操作系统上运行,包括Unix/Linux,Windows,macOS等。 在…

    2023年3月15日
  • 如何在 Rocky Linux 9 上安装 PlayOnLinux

    PlayOnLinux是一个免费的开源兼容层软件,使用户能够在Linux操作系统上运行Windows应用程序。PlayOnLinux基于Wine,Wine是一种开源软件,在Unix…

    Linux命令 2023年3月12日
  • 如何在 Rocky Linux 9 上安装 GCC

    GCC(GNU Compiler Collection)是一个流行且广泛使用的开源编译器,支持许多编程语言,包括C,C++和Objective-C。它可以在许多不同的平台上使用,包…

    2023年3月11日
  • 如何在Rocky Linux 9上安装Joomla

    Joomla是一种流行的内容管理系统(CMS),用于构建网站和Web应用程序。Joomla的管理界面直观且用户友好,其模块化架构允许开发人员轻松扩展和自定义平台。这使得Joomla…

    2023年3月11日
  • 如何在 Rocky Linux 9 上安装 Darkstat

    Darkstat是一个开源的,基于Web的网络流量分析器,可以捕获和分析网络流量。Darkstat 提供了有关网络使用情况、网络最高用量者和按协议划分的流量细分的有用见解。此外,D…

    2023年3月11日
  • 如何在 Rocky Linux 9 上安装 ExifTool

    ExifTool 是一个功能强大的命令行实用程序,用于读取、写入和操作图像、音频和视频文件中的元数据。无论您是想从文件中提取元数据信息、添加新元数据还是删除元数据,ExifTool…

    2023年3月11日
  • 如何在 Rocky Linux 9 上安装 OpenLiteSpeed

    OpenLiteSpeed 是一个开源的高性能 Web 服务器,旨在有效地处理大量流量。它由LiteSpeed Technologies开发,该公司还提供具有附加功能的商业版服务器…

    2023年3月11日
  • 如何在 Rocky Linux 9 上安装 Matomo

    Matomo(以前称为Piwik)是一款免费的开源网络分析软件。使用Matomo,您可以轻松跟踪,分析和报告您的网站流量。它是谷歌分析等其他商业分析平台的替代品,并且高度可定制、安…

    2023年3月11日
  • 如何在 Rocky Linux 9 上安装 OpenVAS。

    OpenVAS(开放漏洞评估系统)是一种开源漏洞扫描程序,可用于扫描网络或单个主机以查找潜在漏洞。该工具为漏洞评估和管理提供了全面的解决方案,组织和安全专业人员使用它来执行定期安全…

    2023年3月11日
  • 如何在 Rocky Linux 9 上安装 Brave 浏览器

    Brave是由Brave Software,Inc.开发的免费开源Web浏览器。它基于Chromium网络浏览器,提供快速安全的浏览体验。Brave 浏览器还包括内置的广告拦截和隐…

    2023年3月10日
  • 如何在 Rocky Linux 9 上安装 Nano 文本编辑器

    Nano是一个简单,易于使用的文本编辑器,通常默认安装在Linux和基于Unix的系统上。在nano的帮助下,用户可以轻松地在其Linux系统上轻松编辑和修改文本文件。它是一个功能…

    Linux命令 2023年3月10日
  • 如何在 Rocky Linux 9 上安装 Microsoft Edge

    Microsoft Edge 是一款现代 Web 浏览器,提供各种功能,旨在增强用户的 Web 浏览体验。Edge基于Chromium开源项目,与Google Chrome相同的技…

    2023年3月10日
  • 如何在 Rocky Linux 9 上安装 Memcached

    Memcached是一个高性能的分布式内存缓存系统。它旨在通过在内存中缓存数据来加速 Web 应用程序,从而减少应用程序必须从较慢的数据存储(如数据库)中检索数据的次数。您可以在基…

    Linux命令 2023年3月10日
  • 如何在 Rocky Linux 9 上安装 Go

    Go,也称为Golang,是由Google开发的一种开源编程语言。它以其简单性、效率和可扩展性而闻名。Go 特别适合网络编程和并发编程,它通常用于构建 Web 服务器、分布式系统和…

    2023年3月10日
  • 如何在 Rocky Linux 9 上安装 NetBox

    NetBox是一个用于管理和记录计算机网络的开源Web应用程序。它是用Python编写的,并使用Django Web框架。它提供了网络基础结构的集中视图,包括 IP 地址、设备、虚…

    Linux命令 2023年3月10日