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

Instal Mattermost dengan PostgreSQL dan Nginx di CentOS 7

Mattermost adalah alternatif Slack open source yang dihosting sendiri. Yang terpenting adalah komunikasi modern di balik firewall Anda.

Sebagai alternatif dari perpesanan SaaS eksklusif, Mattermost membawa semua komunikasi tim Anda ke satu tempat, membuatnya dapat ditelusuri dan diakses di mana saja.

Yang terpenting adalah “kompatibel dengan Slack, bukan terbatas pada Slack”, mendukung superset integrasi webhook masuk dan keluar Slack, termasuk kompatibilitas dengan integrasi Slack yang ada. Dari tim Slack yang ada, Anda dapat mengimpor pengguna, histori saluran publik, dan bahkan warna pengaturan tema ke Mattermost.

Nama, Variabel, dan akun yang digunakan dalam HowTo ini

local IP of server                 : 192.168.2.100
FQDN of server : mattermost.example.com
Name of mattermost database : mattermost
User to access mattermost database : mmuser
Password for mmuser within database: DBAss47slX3

Prasyarat

Howto ini menjelaskan instalasi Mattermost pada CentOS7 menggunakan PostgreSQL sebagai backend database. Untuk tujuan panduan ini, kami akan berasumsi bahwa kami menginstal semuanya pada satu server tetapi untuk pengguna yang berpengalaman, akan mudah untuk membongkar bagian-bagian dan menginstal setiap komponen (misalnya server database) pada mesin yang berbeda. Instalasi telah dilakukan dengan pengguna root tetapi Anda tentu saja dapat menggunakan pengguna yang mendukung sudo , juga.

Kami juga berasumsi bahwa server memiliki alamat IP 192.168.2.100 dan DNS tersebut memutuskan untuk mattermost.example.com . Jadi di mana saja di HowTo ini tempat Anda membaca 192.168.2.100 atau mattermost.example.com ganti dengan alamat IP server Anda.

Sebelum Anda dapat memulai, Anda memerlukan instalasi minimal CentOS7. Setelah instalasi, pastikan Anda mengatur email dengan benar (konfigurasi postfix), sehingga sistem Anda dapat mengirim email (mis. melalui host pintar atau solusi serupa).

Harap lakukan pemeriksaan kecil sebelum melanjutkan:

Coba kirim email dari terminal di server Anda:

[[email protected] ~]echo -en "Subject: Testmail\n\nThis is a test\n" | sendmail [email protected]

(ganti [email protected] dengan alamat email yang seharusnya dapat dikirimi server Anda). Pastikan, Anda menerima email dari sistem!

Verifikasi resolusi nama untuk mattermost.example.com

Dari komputer lain (bukan server yang kami coba siapkan) coba ping ke mattermost.example.com. Anda harus mendapatkan hasil yang positif:

C:\>ping mattermost.example.com
Pinging mattermost.witron.com [192.168.2.100] with 32 bytes of data:
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64
Reply from 192.168.2.100: bytes=32 time<1ms TTL=64

Ping statistics for 192.168.2.100:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

Verifikasi konektivitas internet

Sekarang kita akan menginstal paket wget (yang akan kita perlukan nanti).

[[email protected] ~] yum -y install wget

dan menggunakannya untuk menentukan ip publik kita. Jadi kita bisa mengecek konektivitas internet kita.

[[email protected] ~] wget http://ipinfo.io/ip -qO -
46.101.122.124

Hasilnya harus berupa alamat IP publik Anda.

Periksa status firewall dan nonaktifkan untuk saat ini

Harap periksa apakah instalasi CentOS7 Anda memiliki firewall diaktifkan. Anda dapat memverifikasi ini dengan mengetik

[[email protected] ~] systemctl status firewalld

Jika itu menunjukkan sesuatu seperti

Aktif:aktif (berjalan) sejak ...

harap matikan dan nonaktifkan dengan 2 perintah ini.

[[email protected] ~] systemctl stop firewalld
[[email protected] ~] systemctl disable firewalld

Di akhir tutorial ini, Anda akan menemukan petunjuk cara mengaktifkan kembali firewalld dan cara mengaturnya dengan benar agar berfungsi dengan Mattermost.

Jika Anda lulus semua pemeriksaan di atas atau Anda tahu Anda memiliki sistem yang dapat digunakan untuk tutorial ini, Anda dapat melanjutkan sekarang.

Instal server database PostgreSQL

Kami akan menggunakan PostgreSQL sebagai backend database untuk Mattermost. Instal dengan perintah berikut:

[[email protected] ~] yum -y install postgresql-server postgresql-contrib

Setelah instalasi, kita harus menginisialisasi database.

[[email protected] ~] postgresql-setup initdb
Initializing database ... OK

Kemudian mulai PostgreSQL dan aktifkan untuk memulai otomatis.

[[email protected] ~]# systemctl start postgresql
[[email protected] ~]# systemctl enable postgresql
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql.service to /usr/lib/systemd/system/postgresql.service.

Harap verifikasi, bahwa PostgreSQL berjalan dengan mengeksekusi.

[[email protected] ~]# systemctl status postgresql

Seharusnya melaporkan sesuatu yang mirip dengan ini (pastikan ada Aktif:aktif (berjalan) di suatu tempat dalam teks).

? postgresql.service - PostgreSQL database server
Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2016-03-04 11:37:50 CET; 44s ago
Main PID: 17660 (postgres)
CGroup: /system.slice/postgresql.service
??17660 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
??17661 postgres: logger process
??17663 postgres: checkpointer process
??17664 postgres: writer process
??17665 postgres: wal writer process
??17666 postgres: autovacuum launcher process
??17667 postgres: stats collector process

Mar 04 11:37:48 mattermost systemd[1]: Starting PostgreSQL database server...
Mar 04 11:37:50 mattermost systemd[1]: Started PostgreSQL database server.
Mar 04 11:37:59 mattermost systemd[1]: Started PostgreSQL database server.

Buat database dan pengguna database yang paling penting

PostgreSQL secara otomatis membuat pengguna dan grup dengan nama postgres . Kami menggunakan pengguna postgres untuk terhubung ke mesin database dan menyiapkan database dan pengguna yang dapat mengaksesnya.

Mulai prompt sebagai pengguna postgres :

[[email protected] ~]# sudo -i -u postgres

Perintah Anda sekarang akan berubah menjadi:

-bash-4.2$

Sekarang mari kita sambungkan ke server database.

-bash-4.2$ psql
psql (9.2.15)
Type "help" for help.
postgres=#

Dalam prompt PostgreSQL kita sekarang membuat database dengan nama 'mattermost'.

postgres=# CREATE DATABASE mattermost;
CREATE DATABASE

Sekarang kita membuat pengguna 'mmuser ' dengan kata sandi 'DBAss47slX 3'.

postgres=# CREATE USER mmuser WITH PASSWORD 'DBAss47slX3';
CREATE ROLE

Berikan akses pengguna ke database Mattermost dengan mengetik:

postgres=# GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT
postgres=#

Kami kemudian dapat keluar dari Prompt PostgreSQL dengan mengetik:

postgres=# \q
-bash-4.2$

Dan kemudian keluar dari shell yang kita mulai sebagai pengguna 'postgres ' dengan.

-bash-4.2$ exit
logout
[[email protected] ~]#

Izinkan akses ke database PostgreSQL dari localhost melalui nama pengguna/sandi

Kemudian, contoh terpenting kami ingin berbicara dengan database PostgreSQL dan mengautentikasi dengan nama pengguna dan kata sandi. Untuk mengizinkan ini, kita perlu sedikit mengubah konfigurasi PostgreSQL. Buka file:

vi /var/lib/pgsql/data/pg_hba.conf

dengan editor seperti vi atau nano dan ubah barisnya:

host    all             all             127.0.0.1/32            ident

ke:

host    all             all             127.0.0.1/32            md5

Simpan file dan kemudian restart Postgresql.

[[email protected] ~]# systemctl restart postgresql

Kami harus memverifikasi bahwa kami melakukannya dengan benar dengan menghubungkan ke server database dengan pengguna dan kata sandi yang kami buat sebelumnya (gunakan kata sandi Anda jika Anda menggunakan yang berbeda di server Anda):

[[email protected] ~]# psql --host=127.0.0.1 --dbname=mattermost --username=mmuser --password
Password for user mmuser:
psql (9.2.15)
Type "help" for help.

mattermost=> \q
[[email protected] ~]#

Server dan database PostgreSQL kami sekarang siap untuk Mattermost!

Unduh dan ekstrak Mattermost

Mari unduh salinan server Mattermost langsung dari repositori Github mereka (pada saat pembuatan tutorial ini, versi v2.0.0 adalah versi saat ini) menggunakan wget.

[[email protected] ~]# cd
[[email protected] ~]# wget -q "https://github.com/mattermost/platform/releases/download/v2.0.0/mattermost.tar.gz" -O mattermost.tar.gz

Sekarang mari kita ekstrak arsip dan letakkan file yang diekstrak ke lokasi targetnya (dalam hal ini kita menggunakan /opt/mattermost).

[[email protected] ~]# tar -xvzf mattermost.tar.gz
[[email protected] ~]# mv mattermost /opt


Menginstal Mattermost

Buat pengguna yang menjalankan daemon Mattermost

Kami nantinya akan menjalankan Mattermost sebagai deamon. Oleh karena itu kami menyiapkan pengguna baru di sistem kami dengan nama 'mattermost '. Ini akan menjalankan instance yang paling penting nanti. Jalankan perintah berikut untuk membuat pengguna sistem dan grup 'mattermost ':

[[email protected] ~]# useradd -r mattermost -U -s /sbin/nologin

Buat folder penyimpanan data untuk Mattermost

Mattermost ingin menyimpan sebagian datanya, mis. upload file dll dalam folder. Jadi kita perlu membuat folder itu. Itu bisa di mana saja di hard drive tetapi harus dapat diakses oleh pengguna 'paling penting '. Saya memilih untuk menggunakan '/opt/mattermost/data'. Buat folder dengan perintah berikut:

[[email protected] ~]# mkdir -p /opt/mattermost/data

Tetapkan pemilik direktori paling penting

Sekarang kita mengatur grup dan pemilik direktori paling penting ke pengguna dan grup yang kita buat sebelumnya:

[[email protected] ~]# chown -R mattermost:mattermost /opt/mattermost
[[email protected] ~]# chmod -R g+w /opt/mattermost

Konfigurasikan koneksi database untuk hal yang paling penting

Untuk memberi tahu Mattermost bagaimana seharusnya terhubung ke database PostgreSQL kami, kami perlu mengedit file konfigurasinya:

/opt/mattermost/config/config.json

Silakan temukan bagian 'SqlSettings ' dan ubah sesuai kebutuhan kita:

SEBELUM

"SqlSettings": {
"DriverName": "mysql",
"DataSource": "mmuser:[email protected](dockerhost:3306)/mattermost_test?charset=utf8mb4,utf8",
"DataSourceReplicas": [],
"MaxIdleConns": 10,
"MaxOpenConns": 10,
"Trace": false,
"AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg"
},

SETELAH

"SqlSettings": {
"DriverName": "postgres",
"DataSource": "postgres://mmuser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",
"DataSourceReplicas": [],
"MaxIdleConns": 10,
"MaxOpenConns": 10,
"Trace": false,
"AtRestEncryptKey": "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QVg"
},

Anda dapat keluar dari AtRestEncryptKey apa adanya!

Konfigurasikan konektivitas email untuk hal yang paling penting

Sekali lagi kita perlu mengedit file konfigurasinya

/opt/mattermost/config/config.json

Temukan bagian 'EmailSettings' dan ubah sesuai kebutuhan kami:

SEBELUM

 "EmailSettings": {
"EnableSignUpWithEmail": true,
"EnableSignInWithEmail": true,
"EnableSignInWithUsername": false,
"SendEmailNotifications": false,
"RequireEmailVerification": false,
"FeedbackName": "",
"FeedbackEmail": "",
"SMTPUsername": "",
"SMTPPassword": "",
"SMTPServer": "",
"SMTPPort": "",
"ConnectionSecurity": "",
"InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS",
"PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL",
"SendPushNotifications": false,
"PushNotificationServer":
},

SETELAH

 "EmailSettings": {
"EnableSignUpWithEmail": true,
"EnableSignInWithEmail": true,
"EnableSignInWithUsername": false,
"SendEmailNotifications": false,
"RequireEmailVerification": false,
"FeedbackName": "",
"FeedbackEmail": "",
"SMTPUsername": "",
"SMTPPassword": "",
"SMTPServer": "127.0.0.1",
"SMTPPort": "25",
"ConnectionSecurity": "",
"InviteSalt": "bjlSR4QqkXFBr7TP4oDzlfZmcNuH9YoS",
"PasswordResetSalt": "vZ4DcKyVVRlKHHJpexcuXzojkE5PZ5eL",
"SendPushNotifications": false,
"PushNotificationServer": ""
},

Kami menggunakan 127.0.0.1 dan port 25 karena kita menggunakan local postfix install yang sudah dikonfigurasi untuk bisa mengirim email ke luar. Jika penyiapan Anda berbeda di sini, Anda harus menyetel nilai yang benar!

Konfigurasikan mattermost untuk hanya mendengarkan di antarmuka internal (127.0.0.1)

Secara default, instance server yang paling penting akan mendengarkan semua antarmuka pada port 8065 (:8065). Karena kami ingin menempatkan Nginx-Server di depan, kami mengubah perilaku ini sehingga hanya akan mendengarkan di localhost (127.0.0.1:8065).

Ganti saja barisnya

        "ListenAddress": ":8065",

untuk

        "ListenAddress": "127.0.0.1:8065",

dalam file config.json.

Uji server Terpenting

Sekarang kita dapat menguji apakah server terpenting kita akan mulai dengan menjalankannya dari baris perintah. Harap pastikan, Anda melakukan ini sebagai pengguna 'paling penting'. Jika Anda tidak sengaja melakukan ini sebagai 'root', Anda harus memperbaiki izin untuk folder yang paling penting lagi!

[[email protected] ~]# su - mattermost -s /bin/bash

Last login: Fri Mar 4 12:47:52 CET 2016 on pts/0
su: warning: cannot change directory to /home/mattermost: No such file or directory
-bash-4.2$

Sekarang ubah ke direktori instalasi yang paling penting:

-bash-4.2$ cd /opt/mattermost/bin/

Dan jalankan yang paling penting dari baris perintah:

-bash-4.2$ ./platform

Outputnya akan terlihat seperti ini:

[2016/03/04 13:00:10 CET] [INFO] Loaded system translations for 'en' from '/opt/mattermost/i18n/en.json'
[2016/03/04 13:00:10 CET] [INFO] Current version is 2.0.0 (5950/Sat Feb 13 15:42:01 UTC 2016/c71c5cef632c7dc68072167c6fe091a60835fa02)
[2016/03/04 13:00:10 CET] [INFO] Enterprise Enabled: false
[2016/03/04 13:00:10 CET] [INFO] Current working directory is /opt/mattermost/bin
[2016/03/04 13:00:10 CET] [INFO] Loaded config file from /opt/mattermost/config/config.json
[2016/03/04 13:00:10 CET] [INFO] Server is initializing...
[2016/03/04 13:00:10 CET] [INFO] Pinging sql master database
[2016/03/04 13:00:10 CET] [INFO] Pinging sql replica-0 database
[2016/03/04 13:00:10 CET] [DEBG] Deleting any unused pre-release features
[2016/03/04 13:00:10 CET] [INFO] The database schema has been set to version 2.0.0
[2016/03/04 13:00:10 CET] [DEBG] Initializing user api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing team api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing channel api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing post api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing web socket api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing file api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing command api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing admin api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing oauth api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing webhook api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing preference api routes
[2016/03/04 13:00:10 CET] [DEBG] Initializing license api routes
[2016/03/04 13:00:10 CET] [DEBG] Parsing server templates at /opt/mattermost/api/templates/
[2016/03/04 13:00:10 CET] [DEBG] Initializing web routes
[2016/03/04 13:00:10 CET] [DEBG] Using static directory at /opt/mattermost/web/static/
[2016/03/04 13:00:10 CET] [DEBG] Parsing templates at /opt/mattermost/web/templates/
[2016/03/04 13:00:10 CET] [INFO] Starting Server...
[2016/03/04 13:00:10 CET] [INFO] Server is listening on 127.0.0.1:8065
[2016/03/04 13:00:10 CET] [INFO] RateLimiter is enabled
[2016/03/04 13:00:10 CET] [DEBG] Checking for security update from Mattermost
[2016/03/04 13:00:10 CET] [EROR] Failed to get security update information from Mattermost.

Hentikan server yang paling penting dengan Ctrl+C

dan kemudian keluar dari shell yang kita mulai sebagai pengguna 'paling penting' dengan:

-bash-4.2$ exit
logout
[[email protected] ~]#

Jika instance terpenting Anda tidak dimulai, baca hasilnya dengan cermat. Saya sendiri memiliki banyak masalah karena saya lupa koma sederhana di config.json. Pastikan juga Anda tidak menggunakan karakter khusus dalam kata sandi dbuser Anda terutama tidak ada '@ ' tanda. Itu membuatku aneh pada awalnya!

Jika Anda tidak sengaja menjalankan perintah di atas sebagai 'root ' dan itu mungkin juga berhasil, Anda harus memperbaiki ulang izin untuk folder yang paling penting. Gunakan perintah ini jika Anda mengalami kesalahan ini:

[[email protected] ~]# chown -R mattermost:mattermost /opt/mattermost

Jika semuanya berjalan dengan baik, sekarang kita dapat melanjutkan.

Setup Mattermost sebagai daemon

Untuk mengatur Mattermost sebagai daemon, buat file

/etc/systemd/system/mattermost.service

dengan isi sebagai berikut:

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

[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
User=mattermost
ExecStart=/opt/mattermost/bin/platform
PIDFile=/var/spool/mattermost/pid/master.pid

[Install]
WantedBy=multi-user.target

Kemudian muat ulang file daemon dengan:

[[email protected] ~]# systemctl daemon-reload

Sekarang kita dapat start/stop/enable/disable layanan ini seperti yang biasa kami lakukan.

Jadi mari kita mulai Mattermost, dapatkan statusnya lalu aktifkan sebagai layanan (autostart).

Mulai daemon yang paling penting

[[email protected] ~]# systemctl start mattermost.service

Verifikasi status yang paling penting

[[email protected] ~]# systemctl status mattermost.service
? mattermost.service - Mattermost
Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2016-03-04 14:03:40 CET; 4s ago
Main PID: 18573 (platform)
CGroup: /system.slice/mattermost.service
??18573 /opt/mattermost/bin/platform
...
...

Pastikan itu aktif (berjalan) !

Aktifkan daemon untuk autostart

[[email protected] ~]# systemctl enable mattermost.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mattermost.service to /etc/systemd/system/mattermost.service.

Sekarang pastikan kita melakukan tes apakah Mattermost mendengarkan pada 127.0.0.1:8065 dengan menjalankan perintah berikut:

[[email protected] config]# curl -s "http://127.0.0.1:8065" | grep -b "2015 Mattermost"

Kita harus mendapatkan satu baris yang berisi '2015 Mattermost'.

11343:        <span class="pull-right footer-link copyright">© 2015 Mattermost, Inc.</span>

Jika demikian, kami dapat yakin bahwa instance server Mattermost sedang berjalan dan kami dapat melanjutkan.


Memperbaiki masalah izin terkait SELinux

Pada CentOS7 SELinux diaktifkan secara default. Kami dapat menonaktifkannya sepenuhnya, tetapi lebih baik untuk mengonfigurasi ulang dan mengizinkan server Mattermost kami untuk dijalankan.

Cukup masukkan 2 perintah berikut untuk memperbaiki izin SELinux:

[[email protected] config]# chcon -Rt httpd_sys_content_t /opt/mattermost/
[[email protected] config]# setsebool -P httpd_can_network_connect 1

Siapkan server Nginx

Kami akan menempatkan server Nginx di depan instance server Mattermost kami.

Manfaat utamanya adalah:

  • Pemetaan port :80 hingga :8065
  • Log permintaan standar
  • opsi lainnya saat beralih ke SSL nanti

Aktifkan epel-repository

Nginx tidak ada dalam repositori default CentOS. Jadi kita perlu mengaktifkan repositori epel terlebih dahulu. Ini adalah tugas yang mudah, cukup masukkan:

[[email protected] config]# yum -y install epel-release && yum update

Instal nginx

Setelah kita mengaktifkan epel-release, kita cukup menginstal nginx dengan perintah berikut:

[[email protected] config]# yum -y install nginx

Ini akan menginstal nginx dan semua dependensinya.

Konfigurasi nginx

Ada banyak cara untuk mengkonfigurasi Nginx. Tutorial ini hanya akan menunjukkan cara membuat setup yang sangat sederhana untuk Nginx yang hanya menghosting server Mattermost kita pada port 80.

Ubah file konfigurasi default Nginx

Buat cadangan nginx.conf saat ini dengan mengeksekusi:

[[email protected] config]# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

Kemudian ganti /etc/nginx/nginx.conf dengan konten ini:

# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

events {
worker_connections 1024;
}

http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log /var/log/nginx/access.log main;

sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;

include /etc/nginx/mime.types;
default_type application/octet-stream;

# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;

server {
server_name mattermost.example.com;
location / {
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;
}
}
}

Harap pastikan Anda menggunakan nama host yang benar seperti yang dinyatakan sebelumnya dalam dokumen ini.

Untuk memverifikasi bahwa kami tidak memiliki kesalahan sintaks dalam file konfigurasi kami, jalankan perintah berikut untuk memeriksa sintaks:

[[email protected] config]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Mulai dan aktifkan Nginx sebagai daemon

Mulai Nginx

[[email protected] config]# systemctl start nginx

Periksa status

[[email protected] config]# systemctl status nginx

Pastikan, itu menghasilkan setidaknya satu baris yang menunjukkan:

...
Active: active (running)...
...

Aktifkan sebagai daemon

[[email protected] config]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

Jika semuanya berjalan dengan baik, Anda sekarang harus memiliki instalasi Mattermost yang berjalan di belakang Nginx. Verifikasi dengan membuka URL berikut di browser Anda:

http://mattermost.example.com

Layar login Penting akan muncul!

Sekarang Anda dapat melanjutkan pengaturan instalasi Mattermost Anda dengan memasukkan alamat email Anda dan membuat akun.

Firewall

Sebelumnya dalam tutorial ini, kami menonaktifkan firewalld. Jika Anda ingin mengaktifkannya kembali tetapi ingin agar Port 80 tetap terbuka (yang saat ini kami gunakan untuk Mattermost melalui Nginx) cukup lakukan hal berikut:

Mulai dan aktifkan kembali Firewalld

[[email protected] config]# systemctl start firewalld
[[email protected] config]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.

Buka Port 80 di Firewall

[[email protected] config]# firewall-cmd --zone=public --add-port=80/tcp --permanent
success
[[email protected] config]# firewall-cmd --reload
success

Sekarang instalasi Mattermost Anda seharusnya dapat diakses, bahkan Firewalld sedang berjalan!

Ringkasan

Saya harap Anda menemukan tutorial ini bermanfaat dan berhasil. Di lingkungan produksi, Anda harus membuat/menggunakan sertifikat untuk situs web Mattermost Anda dan mengaktifkan https melalui Nginx. Ini dapat dengan mudah dicapai dengan sedikit memodifikasi Howto ini.


Cent OS
  1. Instal Nginx dengan ngx_pagespeed di CentOS 7

  2. Cara Menginstal dan Mengonfigurasi Postgres 13 di Centos 8

  3. Instal Magento di CentOS 7, dengan Nginx, PHP-FPM dan MariaDB

  1. Cara Menginstal Nginx di CentOS 8

  2. Cara Menginstal PostgreSQL di CentOS 8

  3. Cara menginstal Varnish dan phpMyAdmin pada CentOS 7 VPS dengan Nginx, MariaDB dan PHP-FPM

  1. Cara Menginstal Nextcloud dengan Nginx dan PHP 7.3 di CentOS 8

  2. Cara Menginstal Mattermost dengan PostgreSQL dan Nginx di Ubuntu 16.04

  3. Cara Menginstal ownCloud 9.1 dengan Nginx dan MariaDB di CentOS 7