Depending on the version of Rocket.Chat you want to install, check the release notes to see the supported engine versions for MongoDB and NodeJs, and install as recommended.
-
MongoDB
Please refer to the official MongoDB documentation on installing MongoDB on CentOS.
-
NodeJS
Follow the official guide to install NodeJS on CentOS. You can also use third-party tools like nvm or n.
- Install the required dependency packages.
sudo yum install -y GraphicsMagick
- Download and extract the latest release of Rocket.Chat.
curl -L https://releases.rocket.chat/latest/download -o /tmp/rocket.chat.tgz
- Extract the Rocket.Chat server files.
tar -xzf /tmp/rocket.chat.tgz -C /tmp
cd /tmp/bundle/programs/server && npm install
{% hint style="warning" %}
When executing npm install
, it is recommended to operate using a non-root account. Alternatively, you can utilize the npm install --unsafe-perm
command. This approach eliminates the necessity for building libc or upgrading the host system.
{% endhint %}
- Move the extracted files to the /opt directory.
sudo mv /tmp/bundle /opt/Rocket.Chat
{% hint style="info" %} This guide uses the /opt directory. However, you can choose your preferred directory. {% endhint %}
Configure the Rocket.Chat service
- Add the Rocket.Chat user and set the proper permissions on the Rocket.Chat folder.
sudo useradd -M rocketchat && sudo usermod -L rocketchat
sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
- Create the Rocket.Chat service file.
cat << EOF |sudo 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
EOFash
- Using
sudo
and your preferred text editor, open the Rocket.Chat service file just created (/usr/lib/systemd/system/rocketchat.service
). Change theROOT_URL
environmental variable to reflect the URL you want to access the server with. Optionally, you can change theMONGO_URL
,MONGO_OPLOG_URL
andPORT
variables.
MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01
ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000
PORT=3000
- Set up the storage engine and replication for MongoDB.
sudo sed -i "s/^# engine:/ engine: mmapv1/" /etc/mongod.conf
sudo sed -i "s/^#replication:/replication:\n replSetName: rs01/" /etc/mongod.conf
{% hint style="warning" %} The MongoDB replica set is mandatory for Rocket.Chat > 1.0.0. {% endhint %}
- Enable and start MongoDB with this command:
sudo systemctl enable mongod && sudo systemctl start mongod
mongo --eval "printjson(rs.initiate())"
- Enable and start Rocket.Chat using this command:
sudo systemctl enable rocketchat && sudo systemctl start rocketchat
Configure your Rocket.Chat server
To access your Rocket.Chat workspace, open a web browser and navigate to the specified ROOT URL (http://your-host-name.com-as-accessed-from-internet:3000). Follow the configuration prompts to configure your workspace.