Panduan untuk install Mattermost server di Almalinux 8. Kali ini menggunakan self-hosted server. Mattermost adalah tools opensource untuk alternative dari Slack.
Sebelum memulai instalasi, pastikan Almalinux 8 anda sudah di upgrade terlebih dahulu ke versi paling akhir.
Penggunaan Mattermost server self-hosted mempunyai pilihan 2 opsi database. Yaitu apakah MySQL atau PostgreSQL. Namun pada tutorial ini akan menggunakan MySQL MariaDB.
Install MariaDB 10.5
Pertama install MariaDB 10.5. Install dari repository MariaDB ya.
# vi /etc/yum.repos.d/mariadb.repo
Lalu copy paste berikut
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.5/rhel8-amd64 module_hotfixes=1 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Jika sudah, update.
# dnf update
Lalu dilanjut install MariaDB untuk versi 10.5
Kemudian pastikan agar auto start up dan running ketika server di restart. Lalu start MariaDB.
# dnf install mariadb-server # systemctl enable --now mariadb
Kemudian saatnya konfigurasi mysql untuk pertama kalinya.
# mysql_secure_installation # Switch to unix_socket authentication [Y/n] # Change the root password? [Y/n] # Remove anonymous users? [Y/n] # Disallow root login remotely? [Y/n] # Remove test database and access to it? [Y/n] # Reload privilege tables now? [Y/n]
Karena nanti akan menggunakan database type MySQL, maka kita harus buat dulu database agar nanti digunakan oleh Mattermost.
#mysql -u root -p CREATE DATABASE matterdb; GRANT ALL PRIVILEGES ON matterdb.* TO 'matteruser'@'localhost' IDENTIFIED BY 'passwordmatters'; FLUSH PRIVILEGES; exit;
Dengan demikian database yang akan digunakan adalah matterdb dengan password passwordmatters. Dalam hal ini sangat penting bagi anda menggunakan password yang minimal panjangnya 12 karakter ditambah kombinasi huruf, angka, dan simbol.
Install Mattermost
Pastikan wget sudah terpasang di server anda.
# yum install wget -y
Download Mattermost versi paling baru.
# wget https://releases.mattermost.com/7.2.0/mattermost-7.2.0-linux-amd64.tar.gz # tar -xvzf mattermost*.gz # mv mattermost /opt # mkdir /opt/mattermost/data
Kemudian buat system group yang akan menjalankan service ini. Pastikan group user sama, yaitu mattermost, dan terakhir, berikan permission write pada folder tsb.
# useradd --system --user-group mattermost # chown -R mattermost:mattermost /opt/mattermost # chmod -R g+w /opt/mattermost
Lakukan modifikasi pada setup database yang ada di /opt/mattermost/config/config.json
Ubah baris berikut ini sesuai dengan
"DriverName": "mysql", "DataSource": "matteruser:passwordmatters@tcp(localhost:3306)/matterdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
Kemudian buat service entry baru.
vi /etc/systemd/system/mattermost.service
Isikan isi confignya seperti di bawah ini :
[Unit] Description=Mattermost After=network.target After=mariadb.service Requires=mariadb.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Kemudian kita reload semua.
# systemctl daemon-reload # systemctl enable mattermost # systemctl start mattermost
Pastikan service MySQL sudah start dan kini anda bisa mengakses Mattermost di port 8065. Sebagai contoh :
Ketika diakses maka anda perlu melakukan setup pertama kali. Pastikan menggunkan password kuat, yaitu kombinasi huruf, angka, dan simbol dengan minimal 8 karakter.
Kemudian anda bisa merujuk ke basic setup Mattermost untuk panduan detail lebih lanjut.