Rocket.Chat 部署指南
Rocket.Chat 是一种类似 Slack 的开源聊天软件,可以私有部署是他最棒的特性了,同时这几年随着 rocket.chat 客户端的持续维护更新,可用性已经非常不错,值得一试~
目标
- 于
Ubuntu 18.04 LTS
上安装 Rocket.Chat - 使用 Nginx 作为反向代理
- 配置 SSL 证书。
准备环境
你需要有以下环境:
- 一台 Ubuntu 的服务器
- 一个域名(二级域名即可~)
如果有域名在你的网站域名商处添加一条 DNS 的 A 记录指向服务器。
安装 Rocket.Chat
开始前我们先更新下操作系统
//更新包管理工具
sudo apt update
//upgrade命令谨慎使用~
sudo apt upgrade
安装 Rocket.Chat
最快的方法是使用它的 Snap
。Snap
是 Linux
系统上一种软件包管理的方式。它类似一个容器拥有一个应用程序所有的文件和库,各个应用程序之间完全独立。所以使用snap包的好处就是它解决了应用程序之间的依赖问题,使应用程序之间更容易管理。在 Ubuntu 16.04 LTS
以上版本的系统都内置了。
- 安装 Rocket.Chat
sudo snap install rocketchat-server
- 安装后,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
修改为你自己的域名。
通过以下方式创建指向它的链接来启用新配置 /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
第一次打开会看到这个界面
这里需要设置一下管理员信息,成功后就可以登录啦!
- 结束