目录

This installation guide was tested in the following environment:
Rocket.Chat 3.9.0
OS: CentOS 7.6
Mongodb 4.0.9
NodeJS 12.18.4

Install necessary dependency packages

Update package list and configure yum to install the official MongoDB packages with the following yum repository file:

yum -y check-update

cat << EOF | tee -a /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF

Configure Node.js to be installed via package manager:

yum install -y curl && curl -sL https://rpm.nodesource.com/setup_12.x | bash -

Install build tools, MongoDB, nodejs and graphicsmagick:

yum install -y gcc-c++ make mongodb-org nodejs

yum install -y epel-release && yum install -y GraphicsMagick

Using npm install inherits and n, and the node version required by Rocket.Chat:
npm install -g inherits n && n 12.18.4

Install Rocket.Chat

Download the latest Rocket.Chat version:

curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz

tar -xzf /tmp/rocket.chat.tgz -C /tmp

Install (this guide uses /opt but feel free to choose a different directory):

cd /tmp/bundle/programs/server && npm install

mv /tmp/bundle /opt/Rocket.Chat

Configure the Rocket.Chat service

Add the rocketchat user, set the right permissions on the Rocket.Chat folder and create the Rocket.Chat service file:

useradd -M rocketchat && usermod -L rocketchat

chown -R rocketchat:rocketchat /opt/Rocket.Chat

cat << EOF | tee -a /lib/systemd/system/rocketchat.service
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 
MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ 
PORT=3000
[Install]
WantedBy=multi-user.target
EOF

Open the Rocket.Chat service file just created (/usr/lib/systemd/system/rocketchat.service) using sudo and your favourite text editor, and change the ROOT_URL environmental variable to reflect the URL you want to use for accessing the server (optionally change MONGO_URL, MONGO_OPLOG_URL and PORT):

MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01

MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01

ROOT_URL=http://chat.ijguo.com:3000

PORT=3000

Setup storage engine and replication for MongoDB (mandatory for versions > 1), and enable and start MongoDB and Rocket.Chat:

sed -i "s/^#  engine:/  engine: mmapv1/"  /etc/mongod.conf

sed -i "s/^#replication:/replication:\n  replSetName: rs01/" /etc/mongod.conf

systemctl enable mongod && systemctl start mongod

mongo --eval "printjson(rs.initiate())"

systemctl enable rocketchat && systemctl start rocketchat
最后编辑:2021年08月03日

发表评论