Deploy with CentOS
    • Dark
      Light
    • PDF

    Deploy with CentOS

    • Dark
      Light
    • PDF

    Article summary

    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.

    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 CentOS

    • Install the required dependency packages.

    sudo yum install -y GraphicsMagick
    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

    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.

    • Move the extracted files to the /opt directory.

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

    This guide uses the /opt directory. However, you can choose your preferred directory.

    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 the ROOT_URL environmental variable to reflect the URL you want to access the server with. Optionally, you can change the MONGO_URL, MONGO_OPLOG_URL and PORT 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

    Additional steps for installing 6.10 release

    If you’re installing version 6.10, run these additional commands:

    mkdir -p /home/rocketchat/.cache
    
    cd PATH_TO_ROCKETCHAT_INSTALLATION/programs/server/npm/node_modules/@rocket.chat/apps-engine
    
    export DENO_DIR=/home/rocketchat/.cache/deno
    
    npm install --production
    
    npm run postinstall
    
    chown -R rocketchat:rocketchat /home/rocketchat
    • 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

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

    • 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 .


    Was this article helpful?

    What's Next
    ESC

    Eddy AI, facilitating knowledge discovery through conversational intelligence