GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Mattermost dengan PostgreSQL dan Nginx di Ubuntu 16.04

Mattermost adalah sistem pesan open source yang ditulis dalam bahasa pemrograman Golang dan React. Ini adalah alternatif slack, kami dapat membangun layanan perpesanan kami sendiri seperti slack atau hipchat dengannya. Mattermost membawa komunikasi tim Anda ke satu tempat dan membuatnya dapat diakses di mana saja. Anda dapat mengaksesnya dari desktop, perangkat Android, dan iPhone.

Dalam tutorial ini, saya akan memandu Anda untuk membuat server Mattermost Anda sendiri yang menggunakan PostgreSQL sebagai sistem database dan Nginx sebagai proxy terbalik untuk Mattermost. Saya akan menggunakan ubuntu 16.04 sebagai sistem operasinya.

Prasyarat

  • Ubuntu 16.04 - 64bit
  • Keistimewaan Root

Langkah 1 - Instal dan Konfigurasikan Database PostgreSQL

Mattermost mendukung database MySQL dan PostgreSQL. Kami akan menggunakan PostgreSQL sebagai database utama untuk tutorial ini. Hubungkan ke server Anda dan perbarui repositori.

Hubungkan ke server Anda dengan SSH atau login di terminal dan perbarui repositori Ubuntu.

ssh [email protected]
sudo apt-get update

Sebagai pengguna root, instal PostgreSQL dengan perintah apt ini.

sudo apt-get install postgresql postgresql-contrib

Setelah instalasi selesai, login ke pengguna postgres dan ketik perintah 'psql ' untuk masuk ke shell postgresql.

su - postgres
psql

Ubah kata sandi pengguna postgres dengan perintah di bawah ini:

\password postgres
Enter new password:

Selanjutnya, kita harus mengkonfigurasi database dan pengguna baru untuk instalasi Mattermost. Saya akan membuat database baru bernama 'mattermostdb ' dan pengguna 'materi ' dengan sandi 'matterpassword '. Silakan pilih kata sandi yang aman untuk instalasi Anda.

Buat database dan pengguna baru dengan kueri PostgreSQL di bawah ini:

CREATE DATABASE mattermostdb;
CREATE USER matteruser WITH PASSWORD 'matterpassword';

Berikan 'pengasuh ' hak istimewa ke database 'mattermostdb ' dan keluar.

GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO matteruser;
\q

Langkah 2 - Instal dan Konfigurasi Mattermost

Kami akan menginstal dan mengkonfigurasi Mattermost sebagai pengguna Linux biasa, bukan pengguna root. Kami akan menjalankan Mattermost sebagai 'materi' pengguna, jadi kami perlu membuat pengguna Linux baru bernama 'materi' di server.

Buat 'masalah . baru ' pengguna dan kata sandi.

useradd -m -s /bin/bash matter
passwd matter

pengguna 'matter' dibuat, sekarang login ke pengguna dan unduh versi Mattermost terbaru dengan wget.

su - matter
wget https://releases.mattermost.com/3.4.0/mattermost-3.4.0-linux-amd64.tar.gz

Ekstrak file Mattermost dan Anda akan melihat direktori baru 'mattermost', masukkan direktori tersebut dengan perintah cd.

tar -xzvf mattermost-3.4.0-linux-amd64.tar.gz
cd mattermost/

Selanjutnya, buat direktori 'data' baru untuk menyimpan file pengguna, lalu edit file konfigurasi yang paling penting 'config/config.json ' dengan vim.

mkdir data/
vim config/config.json

Kami akan menjalankan paling penting di belakang proxy terbalik Nginx, jadi lebih baik untuk mengonfigurasi Mattermost untuk mendengarkan pada alamat IP lokal. Di 'Setelan Layanan ' blok, tambahkan alamat IP localhost ke konfigurasi pada baris 4.

"ListenAddress": "127.0.0.1:8065",

Sekarang buka 'SqlSettings ' pada baris 48. Ubah 'DriverName ' dan 'Sumber Data ' untuk menggunakan database PostgreSQL dengan konfigurasi di bawah ini:

"DriverName": "postgres",
"DataSource": "postgres://matteruser:[email protected]:5432/mattermostdb?sslmode=disable&connect_timeout=10",

Catatan:

materi =pengguna postgresql.
matterpassword =kata sandi.
mattermostdb =basis data.

Simpan dan keluar.

Setelah ini selesai, buka direktori bin dan jalankan yang paling penting.

cd bin/
./platform

Anda akan melihat bahwa hal yang paling penting sedang berjalan pada IP localhost dengan port 8065 sekarang.

Tekan Ctrl + c untuk keluar.

Langkah 3 - Konfigurasikan Layanan Mattermost Systemd

Buka direktori sistem systemd dan buat file layanan baru yang paling penting.

cd /etc/systemd/system/
vim mattermost.service

Tempelkan konfigurasi di bawah ini:

[Unit]
Description=Mattermost is an open source, self-hosted Slack-alternative
After=syslog.target network.target

[Service]
Type=simple
User=matter
Group=matter
ExecStart=/home/matter/mattermost/bin/platform
PrivateTmp=yes
WorkingDirectory=/home/matter/mattermost
Restart=always
RestartSec=30
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Simpan dan keluar.

Muat ulang daemon systemd dan mulai layanan Mattermost yang kita buat di atas.

systemctl daemon-reload
systemctl start mattermost

Pastikan tidak ada kesalahan. Periksa apakah layanan Mattermost berjalan.

netstat -plntu
systemctl status mattermost

Langkah 4 - Instal dan Konfigurasi Nginx

Pada langkah ini, kita akan menginstal Nginx dan mengkonfigurasi Nginx sebagai proxy terbalik untuk Mattermost. Kami akan memetakan port 8056 yang paling penting ke port HTTP dan HTTPS.

Instal Nginx dari repositori Ubuntu dengan perintah apt ini.

sudo apt-get install nginx

Sekarang buka direktori konfigurasi Nginx dan buat subdirektori SSL.

cd /etc/nginx/
mkdir ssl/; cd ssl/

Buat file sertifikat SSL baru yang ditandatangani sendiri dengan OpenSSL dan ubah izin kunci pribadi.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/mattermost.crt -keyout /etc/nginx/ssl/mattermost.key
chmod 400 mattermost.key

Buat file host virtual baru untuk Mattermost di 'situs-tersedia ' direktori.

cd /etc/nginx/sites-available/
vim mattermost

Tempel konfigurasi host virtual di bawah ini:

server {
   listen         80;
   server_name    mattermost.mydomain.com;
   return         301 https://$server_name$request_uri;
}

server {
   listen 443 ssl;
   server_name mattermost.mydomain.com;

   ssl on;
   ssl_certificate /etc/nginx/ssl/mattermost.crt;
   ssl_certificate_key /etc/nginx/ssl/mattermost.key;
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
   ssl_prefer_server_ciphers on;
   ssl_session_cache shared:SSL:10m;

   location / {
      gzip off;
      proxy_set_header X-Forwarded-Ssl on;
      client_max_body_size 50M;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      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_pass http://127.0.0.1:8065;
   }
}

Ubah nama domain menjadi domain Anda sendiri, simpan dan keluar.

Aktifkan host virtual dengan membuat symlink ke file terpenting di 'sites-enabled ' direktori.

ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/

Test konfigurasi Nginx dan pastikan tidak ada error, dan restart nginx.

nginx -t
systemctl restart nginx

Langkah 5 - Pengujian

Buka browser web Anda dan kunjungi nama domain yang paling penting, dalam kasus saya:mattermost.mydomain.com.

Anda akan dialihkan ke koneksi HTTPS secara otomatis.

Buat akun baru terlebih dahulu, klik 'Buat Akun '.

Kemudian Anda dapat melihat tautan untuk membuat tim baru atau untuk mengakses konsol admin/sistem.

Klik 'Buka Konsol Sistem ' dan Anda akan melihat dasbor konsol sistem di bawah ini:

Klik 'Buat Tim Baru ', ketik nama tim Anda dan klik 'Berikutnya '. Kemudian konfigurasikan URL tim dan klik 'Selesai '.

Akhirnya Anda melihat Dasbor Tim.

Obrolan Tim Terpenting.

Yang terpenting dengan PostgreSQL dan server web Nginx di Ubuntu 16.04 telah berhasil diinstal.


Ubuntu
  1. Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di Ubuntu 18.04

  2. Cara Menginstal Postgresql dan phpPgAdmin di Ubuntu 15.04

  3. Cara Instal Nginx Dengan PHP5 Dan MySQL Di Ubuntu 11.10

  1. Cara Menginstal phpMyAdmin dengan Nginx di Ubuntu 18.04

  2. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal Magento 2 dengan Nginx dan Letsencrypt di Ubuntu 18.04

  1. Cara Menginstal Gitlab dengan PostgreSQL dan Nginx di Ubuntu 15.04

  2. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  3. Cara Menginstal Drupal 8 dengan Nginx, PHP-FPM dan SSL di Ubuntu 15.10