03
2024
06
14:57:30

Deploy Rocket.Chat Deploy on Debian

Deploy on Debian

Preparation Steps

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.

  • Install MongoDB

    Please refer to the official MongoDB documentation on how to install MongoDB on Debian. For the list of supported versions, see our documentation here.

  • Install NodeJS

    Follow the official guide to install NodeJS on a Debian system. Check out our page on supported node versions for your specific version. You can also use third-party tools like nvm or n.

When deploying MongoDB, it is crucial to secure MongoDB instances and close all MongoDB ports from public access. Unsecured instances can lead to significant security vulnerabilities. Your vigilance in these practices is essential for maintaining the integrity and safety of your systems.

Install Rocket.Chat on Debian

  • Update your system by running this command:

sudo apt -y updatesudo apt -y upgrade
  • Install required packages/dependencies:

sudo apt install -y curl build-essential graphicsmagick
  • To download the latest Rocket.Chat version run the following command:

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

You can also use wgetto download Rocket.Chat with this command:

wget https://releases.rocket.chat/latest/download -O /tmp/rocket.chat.tgz

To download a specific version, replace latest the version number.

wget https://releases.rocket.chat/4.1.2/download -O /tmp/rocket.chat.tgz
  • Extract the archive with tar:

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

You should now see a new directory under /tmp named bundle.

  • Next, install all the node dependencies:

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.

(cd /tmp/bundle/programs/server; npm i)

/tmp has been a temporary non-root user-writable location to prepare the bundle. For this guide, we're going to use /opt to be the final location but you can choose any other. Whatever may it be, if not /opt, make sure you change the location in all the other places it is specified.

sudo mv /tmp/bundle /opt/Rocket.Chat

Configure the Rocket.Chat service

  • Add the rocketchat user, and set the right permissions on the Rocket.Chat folder.

sudo useradd -M rocketchat && sudo usermod -L rocketchat
  • Create the Rocket.Chat service file:

sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat
  • Depending on how you install NodeJS, the binary path may be different. Save the path to a variable.

NODE_PATH=$(which node)
  • Now, save the systemd service file.

cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service[Unit]Description=The Rocket.Chat serverAfter=network.target remote-fs.target nss-lookup.target nginx.service mongod.service[Service]ExecStart=$NODE_PATH /opt/Rocket.Chat/main.jsStandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=rocketchat[Install]WantedBy=multi-user.targetEOF

The command above will create a barebone service file, this service file is what systemd will use to start your Rocket.Chat daemon/process.

Passing environment variables

  • Pass some environment variables to the running process. See Rocket.Chat environmental variables for more details. To update the Rocket.Chat file, run the following command :

sudo systemctl edit rocketchat
  • Update the text editor with the information below and save.

[Service]Environment=ROOT_URL=http://localhost:3000Environment=PORT=3000Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01Environment=MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01

MongoDB Configuration

  • Open the MongoDB config file (/etc/mongod.conf) in your preferred text editor.

nano /etc/mongod.conf
  • Set the storage engine to wiredTiger.

storage:  engine: wiredTiger
  • Enable replication, and name the replicaset rs01.

replication:  replSetName: rs01

The MongoDB replica set is mandatory for Rocket.Chat > 1.0.0.

Your MongoDB config file should look something like the following:

storage:  dbPath: /var/lib/mongodb  journal:    enabled: true  engine: wiredTigersystemLog:  destination: file  logAppend: true  path: /var/log/mongodb/mongod.lognet:  port: 27017  bindIp: 127.0.0.1processManagement:  fork: true  timeZoneInfo: /usr/share/zoneinforeplication:  replSetName: rs01

Read the official documentation for a complete list of available MongoDB config options.

  • Start MongoDB with the following command:

sudo systemctl enable --now mongod
  • Then, initiate replica set with this command:

mongo --eval "printjson(rs.initiate())"
  • You can start your Rocket.Chat workspace now using this command:

sudo systemctl enable --now 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.




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/6424.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: