在Ubuntu上安装、配置和部署Rocket.Chat

Rocket.Chat是使用Meteor框架做的开源消息应用。它支持视频会议、文件共享、语音等,使用Rocket.Chat可以完全控制交流通信。

Rocket.Chat是特性最丰富的 Slack 开源替代品之一。它的主要功能:群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等等。

下面记录了在Ubuntu上安装配置Rocket.Chat的步骤,这里使用Nginx做为反向代理,为了提要安全性。

系统要求

  • 内存至少1GB
  • 有sudo权限
  • 有域名,并指向Ubuntu服务器
  • 一个SSL证书,可以是购买的;自签名的证书也可以;也可以使用免费的Let’s Encrypt。

第一步:安装依赖

Rocket.Chat依赖MongoDB和NodeJS,下面来安装它们。

添加MongoDB的key:

添加源:

更新:

安装软件包:npmmongodb-org,  curl 和 graphicsmagick:

使用npm安装一个包,允许我们改变node版本:

把node版本改为4.5:

Screen Shot 2016-03-10 at 09.03.08

第二步:安装Rocket.Chat

下载最新版本的Rocket.Chat:

解压下载的压缩包:

解压出的目录是bundle,重命名:

安装Rocket.Chat:

导航到Rocket.Chat根目录:

设置几个环境变量:

ROOT_URL变量设置为你的域名:

MONGO_URL变量设为MongoDB的url:

设置PORT为3000:

运行Rocket.Chat:

如果没有报错,代表安装成功;使用CTRL-C停止Rocket.Chat的运行。

第三步:设置Nginx反向代理

Rocket.Chat已经成功安装,现在我们需要设置Nginx反向代理。使用反向代理可以方便的管理web服务,并把访问Rocket.Chat的流量使用SSL加密。

安装Nginx:

把你的证书密钥移动到/etc/nginx/certificate.key:

修改密钥文件权限:

把你的证书密钥移动到/etc/nginx/certificate.crt:

删除默认虚拟主机配置文件:

创建/etc/nginx/sites-enabled/default:

添加Upstreams:

添加server:

把上面的your_domain.com替换为你的域名。

重启nginx:

再次运行Rocket.Chat:

访问Rocket.Chat:

Screen Shot 2016-03-10 at 09.34.51

第四步:把Rocket.Chat注册为服务

如果想要Rocket.Chat随系统启动,可以安装一个node模块:forever-service。

forever-service依赖forever,安装forever:

安装forever-service:

把Rocket.Chat注册为服务:

注意:包把your_domain.com替换为你的域名。

启动:

第五步:配置使用Rocket.Chat

访问Rocket.Chat网址:

Screen Shot 2016-03-10 at 09.34.51

点击Register a new account,创建第一个管理员账户:

Screen Shot 2016-03-10 at 09.47.26

设置为中文:

Screen Shot 2016-03-10 at 09.49.57

Rocket.Chat设置完成,你和你的团队有了自己的聊天交流工具。

相关文章

《在Ubuntu上安装、配置和部署Rocket.Chat》有3个想法

  1. 报错 咋整
    assert.js:93
    throw new assert.AssertionError({
    ^
    AssertionError: “undefined” === “function”
    at wrapPathFunction (/home/jason/Rocket.Chat/programs/server/mini-files.js:77:10)
    at Object. (/home/jason/Rocket.Chat/programs/server/mini-files.js:108:24)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object. (/home/jason/Rocket.Chat/programs/server/boot.js:9:13)
    at Module._compile (module.js:456:26)

发表评论

电子邮件地址不会被公开。 必填项已用*标注