How To 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 user
or access to theroot user
. We recommend acting as anon-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:
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.