Android

Cum se implementează cel mai mult pe Centos 7

Recipe to losing weight | Anna Verhulst | TEDxMaastricht

Recipe to losing weight | Anna Verhulst | TEDxMaastricht

Cuprins:

Anonim

Mattermost este o sursă deschisă, platformă de mesagerie instantanee, o alternativă Slack care se găzduiește de la sine. Este scris în Golang și React și poate utiliza MySQL sau PostgreSQL ca backend de bază de date. Mattermost aduce toată echipa de comunicare într-un singur loc și oferă diverse funcții, inclusiv partajarea fișierelor, mesagerie individuală și de grup, emoji personalizate, apeluri video și multe altele. În acest tutorial, vă vom arăta cum să implementați Mattermost pe un server CentOS 7 și să configurați Nginx ca proxy invers SSL.

Cerințe preliminare

Asigurați-vă că ați îndeplinit următoarele cerințe înainte de a continua cu acest tutorial:

  • Sunteți autentificat ca utilizator cu privilegii sudo. Aveți un nume de domeniu îndreptat către adresa IP a serverului. Vom folosi linuxize-test.com . Aveți Nginx instalat, dacă nu verificați acest ghid. Aveți un certificat SSL instalat pentru domeniul dvs. Puteți instala un certificat gratuit Let's Encrypt SSL urmând acest ghid.

Creați baza de date MySQL

Vom folosi MariaDB 10.3 ca bază de date a bazei de date. Cel mai important nu va funcționa cu MariaDB versiunea 5.5.

Conectați-vă la shell-ul MySQL:

mysql -u root -p

Și executați următoarele comenzi pentru a crea o nouă bază de date și un utilizator pentru instalarea noastră Mattermost:

create database mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';

Creați un utilizator nou de sistem

Pentru a crea un utilizator nou și un grup numit mattermost , care va rula instalarea Mattermost, rulați următoarea comandă:

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

Instalați Mattermost Server

La momentul scrierii acestui articol, ultima versiune stabilă a Mattermost este versiunea 5.4.0. Înainte de a continua cu pasul următor, ar trebui să verificați pagina de descărcare Mattermost pentru a vedea dacă este disponibilă o versiune mai nouă.

Descărcați arhiva cu următoarea comandă curl:

sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz

După finalizarea descărcării, extrageți arhiva și mutați-o în directorul de opt :

sudo tar zxf /tmp/mattermost.tar.gz -C /opt

Creați directorul de stocare pentru fișiere:

sudo mkdir /opt/mattermost/data

Modificați proprietatea directorului în cel mai mattermost utilizator:

sudo chown -R mattermost: /opt/mattermost

Deschideți fișierul config.json cu editorul de text preferat:

sudo nano /opt/mattermost/config/config.json

Setați driverul bazei de date la mysql , introduceți numele bazei de date și parola utilizatorului bazei de date pe care am creat-o anterior în acest tutorial:

/opt/mattermost/config/config.json

… "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s", "DataSourceReplicas":,…

Pentru a testa instalarea noastră pentru a ne asigura că totul funcționează înainte de a crea unitatea systemd și de a configura un proxy invers cu Nginx, vom porni serverul Mattermost.

/opt/mattermost directorul /opt/mattermost și porniți serverul:

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

Ieșirea ar trebui să arate că serverul Mattermost ascultă pe portul 8065 :

{"level":"info", "ts":1540921243.6797202, "caller":"app/plugin.go:100", "msg":"Starting up plugins"} {"level":"info", "ts":1540921244.3483207, "caller":"app/server.go:88", "msg":"Starting Server…"} {"level":"info", "ts":1540921244.3488805, "caller":"app/server.go:148", "msg":"Server is listening on:8065"} {"level":"info", "ts":1540921244.3620636, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"} {"level":"info", "ts":1540921244.451155, "caller":"jobs/workers.go:63", "msg":"Starting workers"} {"level":"info", "ts":1540921244.456804, "caller":"jobs/schedulers.go:68", "msg":"Starting schedulers."}

Acum puteți opri serverul Mattermost cu CTRL+C și continuați cu următorii pași.

Creați o unitate Systemd

Pentru a rula instanța noastră de materie ca un serviciu, vom crea un fișier de unitate mattermost.service în directorul /etc/systemd/system/ cu următorul conținut:

/etc/systemd/system/mattermost.service

Description=Mattermost After=network.target nss-lookup.target mariadb.service Type=notify WorkingDirectory=/opt/mattermost User=mattermost SyslogIdentifier=mattermost ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 LimitNOFILE=49152 WantedBy=multi-user.target

Notificați systemd că am creat un nou fișier de unitate și porniți serviciul Mattermost executând:

sudo systemctl daemon-reload sudo systemctl start mattermost

Acum putem verifica starea serviciului cu următoarea comandă:

sudo systemctl status mattermost

● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2018-10-30 17:44:46 UTC; 3s ago Main PID: 25959 (mattermost) CGroup: /system.slice/mattermost.service └─25959 /opt/mattermost/bin/mattermost

În cele din urmă, permiteți pornirea serviciului Mattermost la momentul de pornire:

sudo systemctl enable mattermost

Configurați un proxy invers cu Nginx

/etc/nginx/conf.d/linuxize-test.com.conf

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; upstream mattermost_backend { server 127.0.0.1:8065; } server { listen 80; server_name linuxize-test.com www.linuxize-test.com; include snippets/letsencrypt.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/linuxize-test.com-access.log; error_log /var/log/nginx/linuxize-test.com-error.log; location ~ /api/v+/(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; proxy_read_timeout 600s; proxy_pass http://mattermost_backend; } location / { proxy_http_version 1.1; 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_pass http://mattermost_backend; } }

Reîncărcați serviciul Nginx pentru ca modificările să aibă efect:

sudo systemctl reload nginx

Configurarea importanței

Deschideți browserul, tastați-vă domeniul și creați-vă primul cont:

și introduceți parametrii SMTP. Puteți utiliza orice servicii de e-mail tranzacționale populare, cum ar fi SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet și Postmark sau puteți configura propriul server de poștă.

În cele din urmă, trebuie să repornim serviciul Mattermost pentru ca modificările să intre în vigoare:

sudo systemctl restart mattermost

Concluzie

Ați instalat cu succes Mattermost pe serverul dvs. CentOS 7 și configurați Nginx ca proxy invers. Acum puteți începe să utilizați Mattermost pentru a colabora cu echipa dvs.

cel mai important nodejs centos