OS环境
下面的版本均在ubuntu 20.4.06 LTS中安装。
版本介绍
下文使用的是Rocketchat 4.0.0版本。通过阅读源码,目前为止6.0.0相较于4.0.0,在聊天功能(长连接)层面,并没有进行性能的优化。所以这里计划安装4.0.0版本。
开发版本安装(安装开发版本可自行修改Rocketchat源码以适应公司需求)
注意:
下面的步骤均需能够顺利访问github、meteor website等第三方库的下载环境。
不要使用root运行下列命令,建议自建用户并赋予管理员身份
- 准备ubuntu中需要的环境
sudo apt-get update
sudo apt-get install -y build-essential
- 下载meteor2.2
curl https://install.meteor.com?release=2.2 | sh
- 使用git下载Rocketchat并切换到4.0.0版本
git clone https://github.com/RocketChat/Rocket.Chat.git
cd Rocket.Chat
git checkout 2ffdd13
- 使用meteor npm下载第三方依赖
注意:这里非常扯,meteor npm i下载过程中,如果网络环境配置不当,即使下载成功运行过程也会报错。报错信息为:
error: No version of "包名" satisfies all constraints: 版本号
meteor npm i
- 运行开发版本
在terminal中输入meteor,即可运行Rocketchat。
- 远程访问
防火墙放行ubuntu的3000端口,在浏览器中输入 http://your_ip:3000 即可访问Rocketchat界面。
生产版本安装
- 准备ubuntu中需要的环境
sudo apt-get update
sudo apt-get install -y build-essential
- 下载nodejs 12.22.1,本文使用n模块安装nodejs指定版本
sudo apt install nodejs
sudo apt install npm
sudo npm i -g n
sudo n 12.22.1
此时输入node -v,应打印出12.22.1,输入npm -v,应打印出6.14.2。
- 下载MongoDb 4.4.24
- 配置mongodb
sudo sed -i "s/^# engine:/ engine: wiredTiger/" /etc/mongod.conf
sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
sudo systemctl enable mongod && sudo systemctl start mongod
mongo --eval "printjson(rs.initiate())"
- 下载Rocketchat生产版本安装包
wget -O rocket.chat-4.0.0.tar https://releases.rocket.chat/4.0.0/download
- 解压rocket.chat-4.0.0.tar
tar -xvf rocket.chat-4.0.0.tar
- 下载第三方依赖
cd rocket.chat-4.0.0/bundle/programs/server && npm install
- 编辑service文件,配置启动过程
cat << EOF |sudo tee -a /lib/systemd/system/seconp.service
[Unit]
Description=The Seconp server
After=syslog.target
[Service]
ExecStart=/usr/local/bin/node your_custom_location/bundle/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=seconpChat
User=your_custom_user
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
Environment=MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01
Environment=ROOT_URL=http://localhost:3000/
Environment=PORT=3000
[Install]
WantedBy=multi-user.target
EOF
- 启动RocketChat
sudo systemctl start seconp
- 远程访问
防火墙放行ubuntu的3000端口,在浏览器中输入 http://your_ip:3000 即可访问Rocketchat界面。
docker 安装生产版本
- 准备ubuntu中需要的环境
sudo apt-get update
sudo apt-get install -y build-essential
- 下载docker
- 使用docker拉取镜像
docker pull seconp/test_im:v1
- 运行test_im:v1并进入容器
dcoker run -itd -p 3000:3000 image_id
docker exec -it container_id /bin/bash
- 在容器中使用一个终端打开mongoDB
mongod --config /etc/mongod.conf
- 在容器中使用另一个终端运行RocketChat
export MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
export MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01
export ROOT_URL=http://localhost:3000/
export PORT=3000
cd /root/bundle
node main.js
- 远程访问
防火墙放行ubuntu的3000端口,在浏览器中输入 http://your_ip:3000 即可访问Rocketchat界面。
ps:需要帮助的小伙伴可以进群交流。群主可以有偿帮助修改源码。群号:752904848。