如何在 Ubuntu 16.04 LTS 上安装 Rocket.Chat

在本教程中,我们将向您展示如何在 Ubuntu 16.04 LTS 上安装 Rocket.Chat。 对于那些不知道的人,Rocket.Chat 是最受欢迎的开源聊天软件之一。 Slack 和有偿实时聊天软件的绝佳替代品。 它是免费的、无限制的,并且有很多很酷的功能,例如视频聊天、屏幕共享、移动应用程序等等。

本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo‘ 到命令以获取 root 权限。 我将向您展示如何在 Ubuntu 16.04 Xenial Xerus 服务器上逐步安装 Rocket.Chat。

在 Ubuntu 16.04 LTS 上安装 Rocket.Chat

步骤 1. 首先,通过在终端中运行以下 apt-get 命令,确保所有系统包都是最新的。

sudo apt-get update sudo apt-get upgrade

步骤 2. 安装 MongoDB。

Rocket.Chat 需要 MongoDB 进行安装。 在这一步中,我们将从 MongoDB 存储库安装 MongoDB:

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

然后使用以下命令添加 MongoDB 存储库:

echo "deb https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

使用 apt 命令更新存储库并安装 MongoDB:

apt-get update apt-get install mongodb-org

打开 MongoDB 并将其设置为在启动时自动运行:

systemctl enable mongod systemctl start mongod

步骤 3. 配置 MongoDB ReplicaSet。

这是一个可选步骤,但那些想要提高性能的人应该遵循它。 Rocket.Chat Server 使用 MongoDB 副本集:

nano /etc/mongod.conf

在那里,添加此部分:

replication:  replSetName: "001-rs"

Save,退出并重新启动 MongoDB:

systemctl restart mongod

接下来,运行它的 shell 并启动副本集:

# mongo > rs.initiate()

跑完之后rs.initiate(),你应该得到以下结果:

{  "info2" : "no configuration specified. Using a default configuration for the set",  "me" : "idroot.us:27017",  "ok" : 1 }

如果“ok”的值不是 1,则说明有问题。 请返回并完全按照本教程中所示的步骤进行操作。

第 4 步。安装 Node.js 和 npm。

Rocket.Chat 需要 Node.js 和 npm,它们都可以在 Ubuntu 存储库中找到:

apt-get install nodejs npm

首先,在整个系统上全局安装“n”包:

npm install -g n

消息系统需要 Node.js 4.5+,因此请确保选择 4.5:

n 4.5

检查您是否拥有正确的 node.js 版本:

node --version

步骤 5. 安装 Rocket.Chat。

首先,下载最新版 Rocket.Chat:

cd /var/www curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz

并提取它:

tar xzf rocket.chat.tgz

重命名提取的文件夹:

mv bundle Rocket.Chat

运行以下命令以添加一些环境变量:

cd Rocket.Chat/programs/server npm install cd ../..  ROOT_URL=https://your-host-name.com-as-accessed-from-internet:3000/  MONGO_URL=mongodb://localhost:27017/rocketchat  PORT=3000 node main.js

步骤 6. 安装 LEMP(Linux、Nginx、MariaDB 和 PHP)服务器。

需要 Ubuntu 16.04 LEMP 服务器。 如果您没有安装 LAMP,您可以在此处按照我们的指南进行操作。

创建一个新的 SSL 目录,其中将存储证书:

mkdir -p /etc/nginx/ssl/

在此目录中,生成一个新的 SSL 证书文件:

cd /etc/nginx/ssl openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocketchat.crt -keyout /etc/nginx/ssl/rocketchat.key chmod 400 rocketchat.key

接下来,创建一个虚拟主机配置:

nano /etc/nginx/sites-available/rocketchat

在那里,粘贴以下配置:

# Upstreams upstream backend {  server 127.0.0.1:3000; }   # Redirect Options server {  listen 80;  server_name chat.mydomain.com;  # enforce https  return 301 https://$server_name$request_uri; }   # HTTPS Server server {  listen 443;  server_name chat.mydomain.com;    error_log /var/log/nginx/rocketchat.access.log;    ssl on;  ssl_certificate /etc/nginx/ssl/rocketchat.crt;  ssl_certificate_key /etc/nginx/ssl/rocketchat.key;  ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # dont use SSLv3 ref: POODLE    location / {  proxy_pass https://192.168.1.110:3000/;  proxy_http_version 1.1;  proxy_set_header Upgrade $http_upgrade;  proxy_set_header Connection "upgrade";  proxy_set_header Host $http_host;    proxy_set_header X-Real-IP $remote_addr;  proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;  proxy_set_header X-Forward-Proto http;  proxy_set_header X-Nginx-Proxy true;    proxy_redirect off;  } }

Save,退出并激活此配置:

ln -s /etc/nginx/sites-available/rocketchat /etc/nginx/sites-enabled/rocketchat

跑步:

nginx -t

并确保没有错误。 如果一切正常,重启 Nginx:

systemctl restart nginx

更新环境变量并运行 Rocket.Chat:

cd /var/www/Rocket.Chat/  ROOT_URL=https://chat.mydomain.com  MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=001-rs  PORT=3000 node main.js

步骤 7. 访问 Rocket.Chat。

Rocket.Chat 默认在 HTTP 端口 80 上可用。 打开您喜欢的浏览器并导航到 https://chat.mydomain.com 并完成所需的步骤以完成安装。 如果您使用防火墙,请打开端口 80 以启用对控制面板的访问。

恭喜! 你已经成功地用 Docker 安装了 Rocket.Chat。 感谢您使用本教程在您的 Ubuntu 16.04 上安装 Rocket.Chat 开源聊天软件。 如需其他帮助或有用信息,我们建议您查看 Rocket.Chat 官方网站.

Save

Save