Techolac - Computer Technology News
  • Home
  • Internet
  • Business
  • Computers
  • Gadgets
  • Lifestyle
  • Phones
  • Travel
  • Tech
  • More
    • Automotive
    • Education
    • Entertainment
    • Health
    • SEO
    • Linux
    • WordPress
    • Home Improvement
    • How to
    • Games
No Result
View All Result
  • Home
  • Internet
  • Business
  • Computers
  • Gadgets
  • Lifestyle
  • Phones
  • Travel
  • Tech
  • More
    • Automotive
    • Education
    • Entertainment
    • Health
    • SEO
    • Linux
    • WordPress
    • Home Improvement
    • How to
    • Games
No Result
View All Result
Techolac - Computer Technology News
No Result
View All Result
Home Linux

Rocket.Chat: How To Install The Messaging System on Debian 9

by Editorial Staff
July 1, 2019
in Linux
Reading Time: 4 mins read

 

Rocket.Chat on Debian 9

What’s Rocket.Chat

Rocket.Chat is a professional, Slack-like messaging system, developed for companies wanting to privately host their own chat service. It is developed in JavaScript using the Meteor full stack framework.

It has many features, like:

    • Help desk chat
    • Video conferences
    • File sharing
    • Link previews
    • Voice messages

We will install Rocket.Chat on a Debian 9 server.

Getting Started

The first thing to do is to satisfy Rocket.Chat dependencies. Execute the following apt command:

# apt install build-essential graphicsmagick

Install MongoDB

Rocket.Chat works with MongoDB as database system. There aren’t already Debian 9 packages for MongoDB, so we will install it from the tarball.

Download the tarball

First, download with curl the MongoDB tarball

$ curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian81-3.4.9.tgz
Extract the archive

Extract the previously downloaded archive by executing the following command:

$ tar -zxvf mongodb-linux*.tgz

Rename and move the directory, for example, in /opt:

# mv mongodb-linux-x86_64-debian81-3.4.9/ /opt/mongodb

Update the PATH variable by adding the /opt/mongodb/bin directory. In ~/.bashrc add the following line:

$ export PATH=${PATH}:/opt/mongodb/bin
Create a unit file

Create a systemctl unit file for MongoDB, executing the following command:

# $EDITOR /lib/systemd/system/mongodb.service

In this file, paste the following content:

[Unit]
Description=A document-oriented database

[Service]
User=mongodb
Group=mongodb
RuntimeDirectory=mongodb
RuntimeDirectoryMode=0755
EnvironmentFile=-/etc/default/mongodb
Environment=CONF=/etc/mongodb.conf
Environment=SOCKETPATH=/run/mongodb
ExecStart=/opt/mongodb/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS

[Install]
WantedBy=multi-user.target

Save and exit.

Reload systemd daemon service:

# systemctl daemon-reload
Start MongoDB

At this point, we can start MongoDB and enable it for starting at boot time:

# systemctl start mongodb
# systemctl enable mongodb

Install Node.js and npm

Rocket.Chat requires Node.js (in particular, any version newer than 4.5) and npm. First of all, add the NodeSource repository:

# curl -sL https://deb.nodesource.com/setup_8.x | bash -

Next, execute the following command for installing both Node.js and npm:

# apt-get install nodejs

Check the Node.js version:

# node --version
v8.7.0

Next, install n through npm:

# npm install -g n

With n, it’s possible to change Node.js version.

Install Rocket.Chat

If not exists, create the /var/www directory, which will store Rocket.Chat:

# mkdir -p /var/www
# cd /var/www

In that directory, execute the following command for downloading Rocket.Chat:

# wget https://s3.amazonaws.com/download.rocket.chat/build/rocket.chat-0.58.4.tgz -O rocket.chat.tgz

Extract the archive and rename the extracted folder:

# tar xzf rocket.chat.tgz
# mv bundle Rocket.Chat

Next, set environment variables and run the Rocket.Chat server:

# cd Rocket.Chat/programs/server
# npm install
# cd ../..

# export ROOT_URL=http://example.com:3000/
# export MONGO_URL=mongodb://localhost:27017/rocketchat
# export PORT=3000

Those who are using the replica set should set the MONGO_URL variable with this content: mongodb://localhost:27017/rocketchat?replicaSet=001-rs

Rocket.Chat is installed and configured, but it requires configuration behind a web server. In this tutorial we’ll be using NGINX.

See also  How To Use grep Command In Linux / UNIX

Install NGINX

NGINX can be install with apt:

# apt install nginx

Create a new directory that will contain the SSL certificates:

# mkdir -p /etc/nginx/ssl/

In this directory, generate a new key:

# openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/rocketchat.crt -keyout /etc/nginx/ssl/rocketchat.key

Change permissions to the key file:

# chmod 400 rocketchat.key

Create a Virtual Host file:

# $EDITOR /etc/nginx/sites-available/rocketchat

In this file, paste the following content:

# Upstreams
upstream backend {
    server 127.0.0.1:3000;
}
 
# Redirect Options
server {
  listen 80;
  server_name chat.mydomain.com;
  # enforce https
  return 301 https://$server_name$request_uri;
}
 
# HTTPS Server
server {
    listen 443;
    server_name chat.mydomain.com;
 
    error_log /var/log/nginx/rocketchat.access.log;
 
    ssl on;
    ssl_certificate /etc/nginx/ssl/rocketchat.crt;
    ssl_certificate_key /etc/nginx/ssl/rocketchat.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # dont use SSLv3 ref: POODLE
 
    location / {
        proxy_pass http://192.168.1.110:3000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
 
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
 
        proxy_redirect off;
    }
}

Save and close the file. Activate the configuration with:

# ln -s /etc/nginx/sites-available/rocketchat /etc/nginx/sites-enabled/rocketchat

Test NGINX:

# nginx -t

If no errors occur, restart the web server:

# systemctl restart nginx

Next, update the environment variables:

# cd /var/www/Rocket.Chat/ 
# export ROOT_URL=https://chat.example.com 
# export MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=001-rs 
# export PORT=3000

Run Rocket.Chat:

# node main.js

The final step is to insert the following URL into a web browser: https://chat.example.com to register a new admin account and finish the graphical configuration.

Conclusion

There you have it! We’ve just explained how to install and configure your Rocket.Chat Server on a Debian 9 server using NGINX. This useful online communication program can help your team work more efficiently and with more collaboration!

[ad_2]

Related Posts

Top Commands to Check the Running Processes in Linux
Linux

Top Commands to Check the Running Processes in Linux

May 27, 2022
4 Tips to Prevent and Troubleshoot the ImagePullBackOff Kubernetes Error
Linux

4 Tips to Prevent and Troubleshoot the ImagePullBackOff Kubernetes Error

March 30, 2022
How Common Signals are Used in Kubernetes Pod Management
Linux

How Common Signals are Used in Kubernetes Pod Management

November 20, 2021

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

The Ultimate Guide on Delta 8 Gummies

The Ultimate Guide on Delta 8 Gummies

July 7, 2022
The Basics of CBDA: What is Cannabidiolic Acid?

The Basics of CBDA: What is Cannabidiolic Acid?

July 7, 2022
30 MyFlixer Alternatives To Watch Movies And TV Shows Online

30 MyFlixer Alternatives To Watch Movies And TV Shows Online

July 6, 2022
GIS software

Top 10 Geographic Information System Software In 2022

July 6, 2022
ehs management software

The 10 Best EHS Management Software in 2022

July 6, 2022
  • DashTech
  • TechDaddy
  • Terms and Conditions
  • Disclaimer
  • Write for us

© Techolac © Copyright 2019 - 2022, All Rights Reserved.

No Result
View All Result
  • Home
  • Internet
  • Business
  • Computers
  • Gadgets
  • Lifestyle
  • Phones
  • Travel
  • Tech
  • More
    • Automotive
    • Education
    • Entertainment
    • Health
    • SEO
    • Linux
    • WordPress
    • Home Improvement
    • How to
    • Games

© Techolac © Copyright 2019 - 2022, All Rights Reserved.

Go to mobile version