Cara Menginstall Mattermost di Ubuntu – Mattermost adalah aplikasi pesan atau chat yang bersifat open source. Aplikasi Mattermost ini mirip seperti WhatsApp atau Slack. Yang membedakan adalah Mattermost dapat diinstal di server sendiri atau self-hosted.
Mattermost bisa digunakan untuk call dengan sesama pengguna, mengirim pesan teks, gambar, dan bisa juga untuk mengirim file. Selain itu, mattermost juga dapat diintegrasikan dengan platform lain seperti gitlab, dll.
Mattermost mengutamakan keamanan dan privasi, sehingga cocok untuk organisasi yang sangat peduli tentang melindungi informasi mereka. Anda dapat mengaksesnya melalui komputer atau ponsel, dan Anda juga bisa menyesuaikan fiturnya sesuai dengan kebutuhan tim Anda.
VPS Requirements :
Tapi pada tutorial kali ini saya hanya menggunakan VPS dengan spesifikasi 1 core dan 1 GB RAM saja. Untuk proses penginstalan mattermost ini, kita akan menggunakan database postgresql dan untuk akses keluarnya kita menggunakan nginx proxy. Agar mattermost dapat diakses menggunakan domain.
Baca Juga : Cara Menginstall Nextcloud di Ubuntu
Mulai dengan mengupdate, mengupgrade, dan menginstall beberapa paket aplikasi yang diperlukan.
sudo apt update
sudo apt -y upgrade
sudo apt -y install wget curl nano
Kemudian dianjurkan untuk mereboot servernya.
sudo reboot
Kemudian ubah server hostname
sudo hostnamectl set-hostname mattermost.awanservers.com --static
Mengatur Zona Waktu (Time Zone)
Masukkan perintah di bawah ini dan pilih zona waktu sesuai tempat tinggal Anda. Karena saya tinggal di zona waktu Indonesia Barat, maka saya pilih Asia/Jakarta
sudo dpkg-rexonfigure tzdata
Pertama install postgresql database dengan perintah berikut.
sudo apt -y install postgresql postgresql-contrib
Kemudian login ke database postgresql.
sudo --login --user postgres
Buat user database untuk mattermost
psql
CREATE DATABASE mattermost_db;
CREATE USER mattermostuser WITH PASSWORD 'your-password';
GRANT ALL PRIVILEGES ON DATABASE mattermost_db to mattermostuser;
\q
Keluar dari postgresql
exit
Seperti ini langkah-langkah pembuatan database mattermost di postgresql.
User dan groups mattermost digunakan untuk menjalankan service nantinya.
sudo useradd --system --user-group mattermost
Kemudian Cek dan pastikan ID berada di angka kurang dari 1000
id mattermost
uid=998(mattermost) gid=998(mattermost) groups=998(mattermost)
Anda dapat mengunjungi laman berikut untuk mendownload mattermost versi terbaru. Versi yang akan kita gunakan kali ini adalah v9.0.0
wget https://releases.mattermost.com/9.5.2/mattermost-9.5.2-linux-amd64.tar.gz
Kemudian ekstrak.
tar xvf mattermost-9.5.2-linux-amd64.tar.gz
Pindahkan folder hasil ekstrakan ke direktori /opt
sudo mv mattermost /opt
Buat direktori penyimpanan yang akan digunakan untuk menyimpan semua file dan gambar yang diposting oleh pengguna Mattermost.
sudo mkdir /opt/mattermost/data
Lalu setup kepemilikna folder dan permission
sudo chown -R mattermost:mattermost /opt/mattermost
Beri akses write ke mattermost groups user
sudo chmod -R g+w /opt/mattermost
Kemudian kita hubungkan ke database. scroll ke bawah dan cari bagian Sql Settings
sudo nano /opt/mattermost/config/config.json
Konfigurasikan pengaturan database PostgreSQL agar terlihat seperti di bawah ini dalam bagian “SqlSettings”. Dan sesuaikan dengan nama database dan user yang telah Anda buat.
"DriverName": "postgres", "DataSource": "postgres://mattermostmuser:your-password@localhost:5432/mattermost_db?sslmode=disable&connect_timeout=10",
Keterangan :
Test Jalankan mattermost
cd /opt/mattermost/bin
sudo /opt/mattermost/bin/mattermost
Akan tampil seperti ini. Lihat baik-baik lognya dan pastikan tidak ada eror.
Untuk berhenti tekan CTRL + C dan lanjut ke langkah selanjutnya.
Buat mattermost service unit
sudo nano /etc/systemd/system/mattermost.service
Kemudian masukkan baris perintah berikut
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
Requires=postgresql.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
Reload systemd agar mengenali unit baru
sudo systemctl daemon-reload
start dan buar mattermost service berjalan autostart
sudo systemctl start mattermost.service
sudo systemctl enable mattermost.service
sudo systemctl enable mattermost.service
Pastikan service mattermost active seperti ini.
Nginx proxy ini digunakan untuk memproxy mattermost agar aksesnya menggunakan domain dan port 443.
Pertama install dulu service nginx
sudo apt install nginx -y
Kemudian buat serverrblock nginxnya
sudo nano /etc/nginx/sites-available/mattermost.conf
masukkan baris block berikut
upstream backend {
server <IP-PUBLIK-VPS>:8065;
keepalive 32;
}
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;
server {
listen 80;
server_name mattermost.awanservers.com;
location ~ /api/v[0-9]+/(users/)?websocket$ {
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
client_max_body_size 50M;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
client_body_timeout 60;
send_timeout 300;
lingering_timeout 5;
proxy_connect_timeout 90;
proxy_send_timeout 300;
proxy_read_timeout 90s;
proxy_pass http://backend;
}
location / {
client_max_body_size 50M;
proxy_set_header Connection "";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_buffers 256 16k;
proxy_buffer_size 16k;
proxy_read_timeout 600s;
proxy_cache mattermost_cache;
proxy_cache_revalidate on;
proxy_cache_min_uses 2;
proxy_cache_use_stale timeout;
proxy_cache_lock on;
proxy_http_version 1.1;
proxy_pass http://backend;
}
}
Kemudian buat symlinks ke sites-enable
sudo ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/
terkahir cek konfigurasi nginx dan restart service nginx
sudo nginx -t
sudo systemctl restart nginx
Jangan lupa untuk mempoitning domain mattermost ke ip adress server. Setelah itu Anda bisa membuka mattermost dengan domain.
SSL yang kita pakai adalah Lets Encrypt. Langsung saja ke proses penginstalanya.
sudo apt install certbot python3-certbot-nginx
Kemudian jalankan perintah ini untuk mendapatkan dan menginstal sertifikat SSL
sudo certbot --nginx --agree-tos --redirect --email [email protected] -d mattermost.awanservers.com
Silahkan akses url website mattermos menggunakan domain dan sekarang sudah menggunakan HTTPs.
Silahkan membuat user dan setelah itu login ke mattermost.
Pada konfigurasi di atas, mattermost masih bisa diakses menggunakan IP server. Untuk itu kita akan memblokir akses mattermost menggunakan IP dan memblokir port mattermost yaitu, 8065. Tujuanya adalah agar mattermost hanya bisa diakses melalui proxy nginx dan domain. Selain akses it kita disable.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
Kemudian enable service UFW Firewallnya
sudo ufw enable
Dengan begitu kita hanya mengijinkan akses http, ssh, dan https saja ke server kita.
Jadi begitulah langkah-langkah cara menginstall mattermost di ubuntu 22.04. Untuk pertanyaan lebih lanjut seputar instalasi bisa berkomentar di kolom bawah ini. dan Terimakasih sudah berkunjung.