Dalam tutorial ini, kami akan menunjukkan cara menginstal Mattermost di CentOS 8. Bagi Anda yang belum tahu, Mattermost adalah alternatif Slack cloud pribadi open-source. Tempat kerja sistem pesan untuk web, PC, dan telepon, dirilis di bawah lisensi MIT. Sebagai alternatif untuk pesan SaaS berpemilik, Mattermost membawa semua komunikasi tim Anda ke satu tempat, membuatnya dapat dicari dan diakses di mana saja. Mattermost adalah "kompatibel dengan Slack, bukan Slack -limited”, mendukung superset integrasi webhook masuk dan keluar Slack, termasuk kompatibilitas dengan integrasi Slack yang ada. Dari tim Slack yang ada, Anda dapat mengimpor pengguna, riwayat saluran publik, dan bahkan warna pengaturan tema ke Mattermost.
Artikel ini mengasumsikan Anda memiliki setidaknya pengetahuan dasar tentang Linux, tahu cara menggunakan shell, dan yang terpenting, Anda meng-host situs Anda di VPS Anda sendiri. Instalasi cukup sederhana dan mengasumsikan Anda sedang berjalan di akun root, jika tidak, Anda mungkin perlu menambahkan 'sudo
' ke perintah untuk mendapatkan hak akses root. Saya akan menunjukkan kepada Anda melalui langkah-demi-langkah instalasi Mattermost pada CentOS 8.
Prasyarat
- Server yang menjalankan salah satu sistem operasi berikut:CentOS 8.
- Sebaiknya Anda menggunakan penginstalan OS baru untuk mencegah potensi masalah.
- Seorang
non-root sudo user
atau akses keroot user
. Kami merekomendasikan untuk bertindak sebagainon-root sudo user
, namun, karena Anda dapat membahayakan sistem jika tidak berhati-hati saat bertindak sebagai root.
Instal Mattermost di CentOS 8
Langkah 1. Pertama, mari kita mulai dengan memastikan sistem Anda mutakhir.
sudo dnf clean all sudo dnf install epel-release sudo dnf update
Langkah 2. Menginstal Server Database.
Jalankan perintah berikut untuk menginstal MariaDB:
sudo dnf install mariadb-server
Secara default, MariaDB tidak dikeraskan. Anda dapat mengamankan MariaDB menggunakan mysql_secure_installation
naskah. Anda harus membaca dan di bawah setiap langkah dengan cermat yang akan menetapkan kata sandi root, menghapus pengguna anonim, melarang login root jarak jauh, dan menghapus database pengujian dan akses untuk mengamankan MariaDB:
mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... Thanks for using MariaDB!
Kemudian, restart server database MariaDB dan aktifkan untuk memulai sistem start-up menggunakan:
sudo systemctl restart mariadb sudo systemctl status mariadb sudo systemctl enable mariadb
Setelah instalasi database, login ke shell MariaDB dan buat database dan pengguna untuk Mattermost:
$ mysql -u root -p CREATE DATABASE mattermost; GRANT ALL PRIVILEGES ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'Your-Strong-Passwd'; FLUSH PRIVILEGES; QUIT;
Langkah 3. Menginstal Mattermost di CentOS 8.
Pertama, Anda perlu membuat pengguna terpisah untuk menjalankan Mattermost. Anda dapat membuatnya dengan perintah berikut:
sudo useradd -d /opt/mattermost -U -M mattermost
Selanjutnya, unduh Mattermost versi terbaru:
wget https://releases.mattermost.com/5.20.2/mattermost-5.20.2-linux-amd64.tar.gz
Buka arsip Mattermost ke direktori root dokumen di server Anda:
tar xf *.gz mv mattermost /opt/
Buat direktori penyimpanan untuk file:
mkdir /opt/mattermost/data
Selain itu, atur kepemilikan dan izin:
sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
Selanjutnya, kita harus menyiapkan driver database di file /opt/mattermost/config/config.json
dengan membuat beberapa perubahan pada isinya. Cari “DriverName ” dan “Sumber Data ” dan ubah sebagai berikut:
nano /opt/mattermost/config/config.json
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:Str0ngP@ss@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s", "DataSourceReplicas": [], "DataSourceSearchReplicas": [], "MaxIdleConns": 20, "ConnMaxLifetimeMilliseconds": 3600000, "MaxOpenConns": 300, "Trace": false, "AtRestEncryptKey": "myyti1r597i99qrk7eu91ywqhaawz4md", "QueryTimeout": 30 },
Simpan dan tutup file. Kemudian, ubah direktori menjadi /opt/mattermost
dan mulai server Mattermost dengan perintah berikut:
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Langkah 4. Konfigurasikan Layanan Mattermost Systemd.
Pertama, kita akan membuat systemd
baru file unit menggunakan perintah berikut:
nano /etc/systemd/system/mattermost.service
[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
Selanjutnya, mulai layanan Mattermost dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
sudo systemctl daemon-reload sudo systemctl start mattermost.service sudo systemctl enable mattermost.service
Verifikasi bahwa Mattermost berjalan dan mendengarkan pada port 8065. Anda dapat memeriksanya dengan perintah berikut:
curl http://localhost:8065
Langkah 5. Konfigurasi Nginx dengan Mattermost.
Instal dan konfigurasikan Nginx sebagai proxy terbalik untuk kinerja dan keamanan yang lebih baik. Sekarang kita menginstal Nginx pada sistem CentOS:
sudo dnf install nginx
Setelah menginstal server web Nginx, mulai layanan Nginx dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
sudo systemctl start nginx sudo systemctl enable nginx
Kemudian, konfigurasikan server web Nginx sebagai proxy untuk Mattermost:
sudo nano /etc/nginx/conf.d/mattermost.conf
upstream backend { 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://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; } }
Terakhir, mulai ulang layanan Nginx untuk menerapkan perubahan:
nginx -t sudo systemctl restart nginx
Langkah 6. Konfigurasi Firewall.
Izinkan akses firewall pada port HTTP dan HTTPS:
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Langkah 7. Mengakses Antarmuka Web Terpenting.
Mattermost akan tersedia di HTTP port 80 secara default. Buka browser favorit Anda dan navigasikan ke http://mattermost.example.com
dan lanjutkan untuk mengonfigurasi Mattermost dengan memasukkan alamat email dan membuat akun.
Selamat! Anda telah berhasil menginstal Mattermost. Terima kasih telah menggunakan tutorial ini untuk menginstal Mattermost pada sistem CentOS 8. Untuk bantuan tambahan atau informasi berguna, kami sarankan Anda untuk memeriksa situs resmi Mattermost.