GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal dan Mengonfigurasi Mattermost di CentOS 8

Mattermost adalah sistem pesan kolaborasi tim perusahaan yang gratis, bersumber terbuka, dan dihosting sendiri. Itu ditulis dalam Golang dan React, dan menggunakan MySQL/MariaDB/PostgreSQL sebagai backend database. Ini menawarkan klien desktop untuk Windows, macOS, dan Linux dan aplikasi seluler untuk iOS dan Android Ini sangat mirip dengan Slack dan membawa semua komunikasi tim Anda ke satu tempat. Ini menawarkan fitur yang sangat berguna termasuk, perpesanan satu-ke-satu dan grup, berbagi file, panggilan video, emoji khusus, webhook &perintah, dan banyak lagi.

Dalam tutorial ini, kami akan menunjukkan cara menginstal Mattermost di CentOS 8.

Prasyarat

  • Server yang menjalankan CentOS 8.
  • Kata sandi root dikonfigurasi di server Anda.

Instal dan Konfigurasikan Database MariaDB

Mattermost menggunakan MariaDB/MySQL sebagai backend database. Jadi MariaDB harus diinstal di server Anda. Jika belum terinstal, Anda dapat menginstalnya dengan perintah berikut:

dnf install mariadb-server -y

Setelah terinstal, mulai layanan MariaDB dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl start mariadb
systemctl enable mariadb

Secara default, MariaDB tidak diamankan dan kata sandi root tidak diatur di CentOS 8. Jadi Anda dapat mengaturnya dengan perintah berikut:

mysql_secure_installation

Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini:

Enter current password for root (enter for none):
Set root password? [Y/n] Y
New password:
Re-enter new password:
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

Setelah selesai, masuk ke MariaDB dengan pengguna root:

mysql -u root -p

Berikan kata sandi root Anda lalu buat database dan pengguna untuk Mattermost dengan perintah berikut:

MariaDB [(none)]> CREATE DATABASE mattermostdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermostdb.* TO [email protected] IDENTIFIED BY 'password';

Selanjutnya, flush hak istimewa dan keluar dari shell MariaDB dengan perintah berikut:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal Mattermost

Pertama, Anda perlu membuat pengguna terpisah untuk menjalankan Mattermost. Anda dapat membuatnya dengan perintah berikut:

useradd -d /opt/mattermost -U -M mattermost

Selanjutnya, unduh Mattermost versi terbaru dengan perintah berikut:

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

Setelah unduhan selesai, ekstrak file yang diunduh dengan perintah berikut:

tar -xvzf mattermost-5.21.0-linux-amd64.tar.gz

Selanjutnya pindahkan direktori hasil ekstrak ke /opt dengan perintah berikut:

mv mattermost /opt/

Selanjutnya, buat direktori data di dalam mattermost dan berikan izin yang tepat untuk mattermost dengan perintah berikut:

mkdir /opt/mattermost/data
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi Mattermost

Selanjutnya, Anda perlu mendefinisikan database Anda di Mattermost. Anda dapat melakukannya dengan mengedit file config.json:

nano /opt/mattermost/config/config.json

Ubah baris berikut sesuai pengaturan database Anda:

  "SqlSettings": {
    "DriverName": "mysql",
    "DataSource": "mattermost:[email protected](localhost:3306)/mattermostdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

Simpan dan tutup file setelah Anda selesai. Kemudian, ubah direktori ke /opt/mattermost dan mulai server Mattermost dengan perintah berikut:

cd /opt/mattermost
sudo -u mattermost bin/mattermost

Setelah server berhasil dimulai, Anda akan mendapatkan output berikut:

{"level":"info","ts":1585379681.8383002,"caller":"utils/i18n.go:83","msg":"Loaded system translations","for locale":"en","from locale":"/opt/mattermost/i18n/en.json"}
{"level":"info","ts":1585379681.83874,"caller":"app/server_app_adapters.go:58","msg":"Server is initializing..."}
{"level":"info","ts":1585379681.8470004,"caller":"sqlstore/supplier.go:221","msg":"Pinging SQL","database":"master"}
{"level":"info","ts":1585379684.7858346,"caller":"sqlstore/upgrade.go:112","msg":"The database schema version has been set","version":"5.21.0"}
{"level":"error","ts":1585379690.8182986,"caller":"app/server_app_adapters.go:129","msg":"SiteURL must be set. Some features will operate incorrectly if the SiteURL is not set. See documentation for details: http://about.mattermost.com/default-site-url"}
{"level":"info","ts":1585379690.821083,"caller":"app/license.go:39","msg":"License key from https://mattermost.com required to unlock enterprise features."}

Selanjutnya, tekan CTRL + C untuk menghentikan server Mattermost.

Buat File Layanan Systemd untuk Mattermost

Selanjutnya, Anda perlu membuat file layanan systemd untuk mengelola layanan Mattermost. Anda dapat membuatnya dengan perintah berikut:

nano /etc/systemd/system/mattermost.service

Tambahkan baris berikut:

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

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

[Install]
WantedBy=multi-user.target

Simpan dan tutup file setelah Anda selesai. Kemudian, muat ulang daemon systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, mulai layanan Mattermost dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl start mattermost
systemctl enable mattermost

Anda juga dapat memverifikasi status layanan Mattermost dengan perintah berikut:

systemctl status mattermost

Anda akan mendapatkan output berikut:

? mattermost.service - Mattermost
   Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-03-28 03:17:07 EDT; 14s ago
 Main PID: 15204 (mattermost)
    Tasks: 21 (limit: 25028)
   Memory: 120.8M
   CGroup: /system.slice/mattermost.service
           ??15204 /opt/mattermost/bin/mattermost
           ??15214 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64

Mar 28 03:17:07 centos8 mattermost[15204]: {"level":"info","ts":1585379827.1131086,"caller":"app/server.go:247","msg":"Printing current workin>
Mar 28 03:17:07 centos8 mattermost[15204]: {"level":"info","ts":1585379827.1131282,"caller":"app/server.go:248","msg":"Loaded config","source">

Pada titik ini, server Mattermost sedang berjalan dan mendengarkan pada port 8065. Anda dapat memeriksanya dengan perintah berikut:

netstat -antup | grep 8065

Anda akan mendapatkan output berikut:

tcp6       0      0 :::8065                 :::*                    LISTEN      15204/mattermost 

Konfigurasikan Nginx sebagai Proxy Terbalik untuk Mattermost

Sebaiknya instal dan konfigurasikan Nginx sebagai proxy terbalik untuk kinerja dan keamanan yang lebih baik.

Pertama, instal server web Nginx dengan perintah berikut:

dnf install nginx -y

Setelah menginstal server web Nginx, mulai layanan Nginx dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:

systemctl start nginx
systemctl enable nginx

Selanjutnya, buat file virtual host Nginx baru untuk Mattermost dengan perintah berikut:

nano /etc/nginx/conf.d/mattermost.conf

Tambahkan baris berikut:

upstream mattermost {
   server 127.0.0.1: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.example.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://mattermost;
   }
   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://mattermost;
   }
}

Simpan dan tutup file setelah selesai. Kemudian, periksa Nginx apakah ada kesalahan sintaks dengan perintah berikut:

nginx -t

Anda akan mendapatkan output berikut:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Terakhir, restart layanan Nginx untuk menerapkan perubahan:

systemctl restart nginx

Pada titik ini, server web Nginx dikonfigurasi untuk melayani Mattermost. Sekarang Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasi SELinux dan Firewalld

Secara default, SELinux diaktifkan di CentOS 8. Disarankan untuk menonaktifkannya untuk Mattermost. Anda dapat menonaktifkannya dengan mengedit file /etc/selinux/config:

nano /etc/selinux/config

Temukan baris berikut:

SELINUX=enforcing

Dan, ganti dengan baris berikut:

SELINUX=permissive

Simpan dan tutup file setelah Anda selesai. Kemudian, mulai ulang sistem Anda untuk menerapkan perubahan.

Selanjutnya, Anda harus mengizinkan port 80 melalui firewalld. Anda dapat mengizinkannya dengan perintah berikut:

firewall-cmd --add-service=http --permanent

Selanjutnya, muat ulang firewalld untuk menerapkan perubahan:

firewall-cmd --reload

Akses Antarmuka Web Penting

Sekarang, buka browser web Anda dan ketik URL http://mattermost.example.com. Anda akan melihat halaman pembuatan pengguna yang paling penting:

Berikan alamat email, nama pengguna, sandi, dan klik Buat Akun tombol. Anda akan melihat halaman berikut:

Selanjutnya, klik tombol Buat tim baru untuk membuat tim Anda. Anda akan melihat halaman berikut:

Berikan nama tim Anda dan klik Berikutnya tombol. Anda akan melihat halaman berikut:

Berikan URL tim Anda dan klik Selesai untuk menyelesaikan instalasi. Anda akan melihat dasbor Mattermost di halaman berikut:

Kesimpulan

Selamat! Anda telah berhasil menginstal dan mengonfigurasi Mattermost di server CentOS 8. Sekarang Anda dapat membuat tim untuk organisasi Anda dan mulai berkolaborasi dengan tim Anda.


Cent OS
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Cara menginstal dan mengkonfigurasi samba di RHEL 8 / CentOS 8

  3. Cara Menginstal dan Mengkonfigurasi CyberPanel di CentOS 8

  1. Cara Menginstal dan Mengonfigurasi Redis di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi GitLab di CentOS 7

  3. Cara Instal dan Konfigurasi Redmine di CentOS 7

  1. Cara Menginstal dan Mengonfigurasi Redis di CentOS 8

  2. Cara Menginstal dan Mengonfigurasi Samba di CentOS 8

  3. Cara Menginstal dan Mengonfigurasi GitLab CE di CentOS 7