最近在 自己的小 Ubuntu 上安装了 Rocket.Chat

本贴最后更新于 2166 天前,其中的信息可能已经事过景迁

Rocket.Chat 是一种类似 Slack 的开源聊天软件,当然你可能没用过 Slack,毕竟它在国内不流行,这名字听起来像是 “火箭聊天”,非常霸气啊!不过光开源这一项就很吸引我了,同道中人同道中人。

Rocket.Chat 特性

  • 群组聊天
  • 直接通信
  • 私聊群
  • 桌面通知
  • 媒体嵌入
  • 链接预览
  • 文件上传
  • 语音/视频聊天
  • 截图
  • 支持你目前使用的任何平台

最近在 Ubuntu 18.04 LTS 上安装 Rocket.Chat,使用 Nginx 作为反向代理,同时还会配置 SSL 证书。
简单的记录过程和结果,以免后面忘记了某些命令

准备环境

你需要有以下环境:

  • 一台 Ubuntu 的服务器
  • 一个域名(非必须,最好提供)
  • 你的双手

如果有域名在你的网站域名商处添加一条 DNS 的 A 记录指向服务器。

比如我的是 namesilo 上几块钱的域名

安装 Rocket.Chat

开始前我们先更新下操作系统

sudo apt update && sudo apt upgrade

安装 Rocket.Chat 最快的方法是使用它的 SnapSnapLinux 系统上一种软件包管理的方式。它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用 snap 包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。在 Ubuntu 16.04 LTS 以上版本的系统都内置了。

  1. 安装 Rocket.Chat
sudo snap install rocketchat-server
  1. 安装后,Rocket.Chat 服务会自动启动,检查一下是否在运行:
sudo service snap.rocketchat-server.rocketchat-server status

你可以访问 Rocket.Chat snap 查看一些其他命令。

使用 Nginx 反向代理

安装 Nginx

sudo apt install -y nginx

启动 nginx

sudo systemctl start nginx
# 开机自动启动
sudo systemctl enable nginx

设置反向代理

禁用默认欢迎页

默认的欢迎页配置文件位置在 /etc/nginx/sites-enabled/default。实际上真正的位置是 /etc/nginx/sites-available/,只不过用了软连接。

sudo ls  -l /etc/nginx/sites-enabled total 0 lrwxrwxrwx 1 root root 34 Aug 16  18:20  default -> /etc/nginx/sites-available/default

删除欢迎页

sudo rm /etc/nginx/sites-enabled/default

创建反向代理配置

默认可能没安装 vim,可以安装 sudo apt-get install -y vim,然后创建自己的配置文件:

sudo vim /etc/nginx/sites-available/rocketchat.conf

内容如下:

server {
    listen 80;

    server_name example.com;

    location / {
        proxy_pass http://localhost:3000/;
    }
}

将这里的 [example.com](http://example.com/) 修改为你自己的域名。

通过以下方式创建指向它的链接来启用新配置 /etc/nginx/sites-available/

sudo ln -s /etc/nginx/sites-available/rocketchat.conf /etc/nginx/sites-enabled/

测试配置是否有误

sudo nginx -t

重新加载 nginx 配置

sudo nginx -s reload

配置 SSL 证书

申请证书的方式很多,这里我们使用的是免费的 Let’s Encrypt 的 SSL 证书。有人写了一个名为 Certbot 的工具让我们可以轻松的获得证书。

安装 Certbot

sudo apt-get install -y software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install -y python-certbot-nginx
sudo certbot --nginx

Certbot 会询问有关该网站的信息。在执行 sudo apt-get install -y python-certbot-nginx 的时候会询问位置信息,我们选择 亚洲(也就是 6\. Asia),时区选择 69\. Shanghai 即可。

在执行 sudo certbot --nginx 的时候会询问你的邮箱,填写和你注册域名时相同的邮箱,其他询问同意即可。

开启证书自动续约

我们的证书有效期是 3 个月,不过 certbot 很聪明,有一个自动续约的功能,执行以下命令即可:

sudo certbot renew --dry-run

开始使用 Rocket.Chat

第一次打开会看到这个界面

这里需要设置一下管理员信息,成功后就可以登录啦!

这个案例暂时发布在这个域名上:https://www.orcl.cc
好了,到这里已经安装完毕了,Rocket.Chat 的更多有趣的玩法需要你自己体验,起飞吧少年!

参考

  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    407 引用 • 3578 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    感谢反馈,我会再看看的。现在你账号要同步的话需要在社区改用户名,我帮你改?

    1 回复
  • 其他回帖
  • 233333

    感觉这个 bug 也许是我制造出来的,前面我的 github 账号一键注册的,然后我误操作点了删除账户,又想重来连接不让注册了,emmm

    1 回复
  • 233333

    为毛我在 solo 上发的文章同步到黑客派账户是这个人。。。😂 ,这是啥 bug api 调用重复了么

  • 88250

    的确有 bug,稍后会修复。

    另外,同步的话要保持两边用户名、邮箱、B3 Key 一致。

    1 回复
  • 查看全部回帖