How To Install Mattermost on Rocky Linux 8

Install Mattermost on Rocky Linux 8

In this tutorial, we will show you how to install Mattermost on Rocky Linux 8. For those of you who didn’t know, Mattermost is an open-source, self-hostable online chat service with file sharing, search, and integrations. It comes in both free and paid versions. It can be operated either in the cloud or on-premise as a web application. Mattermost is a competitor for messaging platforms such as Slack and MS Teams.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you the step-by-step installation of Mattermost’s open-source online chat platform on Rocky Linux. 8.

Prerequisites

  • A server running one of the following operating systems: Rocky Linux 8.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • SSH access to the server (or just open Terminal if you’re on a desktop).
  • A non-root sudo useror access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Install Mattermost on Rocky Linux 8

Step 1. The first step is to update your system to the latest version of the package list. To do so, run the following commands:

sudo dnf check-update
sudo dnf update

Step 2. Installing MySQL 8 on Rocky Linux 8.

By default, MySQL is not available on Rocky Linux 8 base repository. Now run the following command below to verify if any other versions are available with the following command:

sudo dnf module list mysql

If the Module does not actively enable it with the command below:

sudo dnf module enable mysql:8.0

Next, install MySQL 8.0 in Rocky Linux as follows:

sudo dnf install mysql

Once the installation is complete, now enable MariaDB (to start automatically upon system boot), start, and verify the status using the commands below:

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl status mysqld

By default, MySQL is not hardened. You can secure MySQL using the mysql_secure_installation script. you should read and below each step carefully which will set a root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MariaDB:

mysql_secure_installation

Configure it like this:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Now, let’s log in to our MySQL server and create a Database to use later with Mattermost installation:

CREATE DATABASE mattermost_db;
CREATE USER 'mattermost_user'@'localhost' IDENTIFIED BY 'your-strong-password';
GRANT ALL ON mattermost_db. * TO mattermost_user@localhost;
FLUSH PRIVILEGES;
Exit;

Step 3. Installing Mattermost on Rocky Linux 8.

By default, Mattermost is not available on Rocky Linux 8 base repository. Now run the following command below to download the latest version of Mattermost from the official page:

wget https://releases.mattermost.com/6.6.0/mattermost-6.6.0-linux-amd64.tar.gz

Next, extract the tar file:

sudo tar -xf mattermost-6.6.0-linux-amd64.tar.gz
sudo mv mattermost /opt

Step 4. Configuring the config.json File.

Now we edit a configuration file for the Mattermost server:

sudo nano /opt/mattermost/config/config.json

In the file, find the lines and make the below changes:

"DriverName": "mysql",
"DataSource": "mattermost_user:your-strong-password@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

Step 5. Create Mattermost Systemd Service File.

Now create a systemd unit file for Mattermost:

cd /etc/systemd/system
sudo nano mattermost.service

Add the following file:

[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service

[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Save and close the file, then make the file executable and reload the unit file by running the following command:

sudo chmod 664 /etc/systemd/system/mattermost.service
sudo systemctl daemon-reload

Next, we can manage the Mattermost service. Start and enable the Mattermost service using the command:

sudo systemctl start mattermost.service
sudo systemctl stop mattermost.service
sudo systemctl enable mattermost.service

Step 6. Configure Firewall.

By default, Mattermost listens on port 8065. If any firewall is installed and configured on your server, then you will need to allow ports via firewalld. You can allow them with the following command:

sudo firewall-cmd --zone=public --add-port=8065/tcp
sudo firewall-cmd --reload

Step 7. Accessing Mattermost Web Interface.

Once successfully installed, open your favorite browser and navigate to http://your-server-ip-address:8065 and continue to configure Mattermost by entering an email address and creating an account:

Install Mattermost on Rocky Linux 8

Congratulations! You have successfully installed Mattermost. Thanks for using this tutorial for installing Mattermost open-source instant messaging service on your Rocky Linux 8 system. For additional help or useful information, we recommend you check the official Mattermost website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!