GNU/Linux >> Belajar Linux >  >> Linux

Cara install Mattermost di Alma Linux 8

Mattermost adalah platform gratis, sumber terbuka, dan aman untuk komunikasi, kolaborasi, dan orkestrasi alur kerja di seluruh alat dan tim. Ini adalah layanan obrolan yang dihosting sendiri yang dirancang untuk organisasi dan perusahaan untuk menerapkan layanan obrolan internal. Ini menawarkan beberapa fitur berguna termasuk pesan satu-ke-satu, riwayat pencarian tidak terbatas, berbagi file, otentikasi dua faktor, pemberitahuan, dan banyak lagi. Jika Anda mencari solusi alternatif untuk Slack, maka Mattermost adalah pilihan terbaik untuk Anda.

Dalam tutorial ini, kami akan menunjukkan cara menginstal Mattermost dengan Nginx di Alma Linux 8.

Prasyarat

  • Server yang menjalankan Alma Linux 8.
  • Nama domain valid yang ditunjukkan dengan IP server Anda.
  • Kata sandi root dikonfigurasi di server.

Instal Server MySQL

Mattermost menggunakan MySQL sebagai backend database. Jadi MySQL harus diinstal di server Anda. Anda dapat menginstalnya dengan menjalankan perintah berikut:

dnf install mysql-server -y

Setelah server MySQL terinstal, mulai dan aktifkan layanan MySQL dengan perintah berikut:

systemctl start mysqld
systemctl enable mysqld

Sekarang, Anda dapat mengamankan instalasi MySQL dengan menjalankan skrip berikut:

mysql_secure_installation

Jawab semua pertanyaan seperti yang ditunjukkan di bawah ini untuk mengatur kata sandi root MySQL dan mengamankan instalasi:

Press y|Y for Yes, any other key for No: N
Please set the password for root here.
New password: 
Re-enter new password: 
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Buat Database untuk Mattermost

Selanjutnya, Anda perlu membuat database dan pengguna untuk Mattermost. Pertama, login ke MySQL dengan perintah berikut:

mysql -u root -p

Setelah Anda masuk, buat database dan pengguna dengan perintah berikut:

mysql> CREATE DATABASE matterdb;
mysql> CREATE USER 'matteruser'@'localhost' IDENTIFIED BY 'password';

Selanjutnya, berikan semua hak istimewa ke database Mattermost:

mysql> GRANT ALL PRIVILEGES ON matterdb.* TO [email protected];

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

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Instal Mattermost di Alma Linux 8

Pertama, buat pengguna khusus untuk menjalankan Mattermost menggunakan perintah berikut:

useradd --system --user-group mattermost

Selanjutnya, unduh Mattermost versi terbaru menggunakan perintah berikut:

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

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

tar -xf mattermost-6.0.2-linux-amd64.tar.gz

Selanjutnya, pindahkan direktori yang diekstrak ke /opt:

mv mattermost /opt

Selanjutnya, buat direktori data untuk Mattermost dan ubah kepemilikan dan izin dari Mattermost:

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

Selanjutnya, edit file konfigurasi Mattermost:

nano /opt/mattermost/config/config.json

Tentukan URL situs web Mattermost Anda seperti yang ditunjukkan di bawah ini:

    "SiteURL": "http://mattermost.example.com",

Selanjutnya, cari baris berikut:

    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:[email protected]/mattermost_test?sslmode=disable\u0026connect_timeout=10",

Dan, ganti dengan baris berikut:

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

Simpan dan tutup file setelah Anda selesai.

Buat File Layanan Systemd untuk Mattermost

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

nano /etc/systemd/system/mattermost.service

Tambahkan baris berikut:

[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

Simpan dan tutup file kemudian muat ulang daemon systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, mulai layanan Mattermost dan aktifkan untuk memulai saat reboot sistem:

systemctl start mattermost
systemctl enable mattermost

Anda sekarang dapat memeriksa 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 2022-01-15 14:12:29 UTC; 7s ago
 Main PID: 15201 (mattermost)
    Tasks: 32 (limit: 11411)
   Memory: 265.2M
   CGroup: /system.slice/mattermost.service
           ??15201 /opt/mattermost/bin/mattermost
           ??15298 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64
           ??15299 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64
           ??15308 plugins/playbooks/server/dist/plugin-linux-amd64
           ??15313 plugins/focalboard/server/dist/plugin-linux-amd64

Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.344 Z","level":"info","msg":"Sent notification of next survey>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.402 Z","level":"info","msg":"Post.Message has size restrictio>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.499 Z","level":"info","msg":"info [2022-01-15 14:12:26.497 Z]>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.537 Z","level":"info","msg":"\n    -- collation of mattermost>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.297 Z","level":"info","msg":"debug [2022-01-15 14:12:28.295 Z>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.804 Z","level":"info","msg":"info [2022-01-15 14:12:28.803 Z]>
Jan 15 14:12:29 almalinux8 systemd[1]: Started Mattermost.
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.149 Z","level":"info","msg":"Starting Server...","caller":"ap>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Server is listening on [::]:8065>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Sending systemd READY notificati>

Pada titik ini, Mattermost dimulai dan dijalankan pada port 8065. Anda dapat memeriksanya dengan perintah berikut:

ss -antpl | grep 8065

Anda akan mendapatkan output berikut:

LISTEN 0      128                *:8065             *:*    users:(("mattermost",pid=15201,fd=35))                   

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Konfigurasikan Nginx sebagai Proxy Terbalik untuk Mattermost

Disarankan untuk menginstal dan mengkonfigurasi Nginx sebagai proxy terbalik untuk Mattermost. Untuk melakukannya, Anda perlu menginstal server Nginx ke server Anda. Anda dapat menginstalnya dengan menjalankan perintah berikut:

dnf install nginx -y

Setelah Nginx diinstal, buat file konfigurasi virtual host Nginx dengan perintah berikut:

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

Tambahkan baris berikut:

 server {
        listen       80;
        server_name  mattermost.example.com;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
	proxy_pass http://localhost:8065/;
            index  index.html index.htm;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

Simpan dan tutup file kemudian verifikasi Nginx untuk kesalahan konfigurasi apa pun:

nginx -t

Jika semuanya baik-baik saja, 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

Sekarang, mulai dan aktifkan layanan Nginx untuk memulai saat reboot sistem:

systemctl start nginx
systemctl enable nginx

Anda dapat memeriksa status Nginx menggunakan perintah berikut:

systemctl status nginx

Anda akan mendapatkan output berikut:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:14:05 UTC; 7s ago
  Process: 15356 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 15354 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 15351 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 15358 (nginx)
    Tasks: 2 (limit: 11411)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??15358 nginx: master process /usr/sbin/nginx
           ??15359 nginx: worker process

Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Succeeded.
Jan 15 14:14:05 almalinux8 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Jan 15 14:14:05 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 15 14:14:05 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.

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

Konfigurasi Firewall

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

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

Selanjutnya, muat ulang firewall untuk menerapkan perubahan:

firewall-cmd --reload

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Akses UI Web Penting

Sekarang, buka browser web Anda dan akses antarmuka web Mattermost menggunakan URL http://mattermost.example.com . Anda akan diarahkan ke layar berikut:

Berikan alamat email Anda, nama pengguna admin, kata sandi, dan klik tombol Buat Akun tombol. Anda akan mendapatkan layar berikut:

Klik Buat a tim . Anda akan mendapatkan layar berikut:

Berikan nama Tim Anda dan klik Berikutnya tombol. Anda akan mendapatkan layar berikut:

Berikan URL tim Terpenting Anda dan klik tombol Selesai tombol. Anda akan mendapatkan dasbor Mattermost pada layar berikut:

Kesimpulan

Dalam panduan di atas, Anda mempelajari cara menginstal layanan obrolan Mattermost dengan Nginx di Alma Linux 8. Sekarang Anda dapat mengimplementasikan Mattermost di organisasi Anda dan mulai menggunakannya sebagai obrolan internal. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.


Linux
  1. Cara Menginstal Klien FreeIPA di Rocky Linux/Alma Linux/CentOS 8

  2. Cara menginstal PHP 8 di Alma Linux &Rocky Linux

  3. Cara Instal MySQL di Linux Mint 19

  1. Cara Menginstal MySQL 5.7 di Amazon Linux

  2. Bagaimana menginstal Mysql 8 di Rocky Linux/Centos 8

  3. Cara menginstal Erlang di Rocky Linux/Alma Linux/CentOS 8

  1. Cara Menginstal MySQL di Debian 10 Linux

  2. Cara Install FFmpeg di Rocky Linux/Alma Linux 8

  3. Cara Menginstal MySQL Workbench di Rocky Linux 8