Android

Cum se implementează cea mai importantă problemă pe ubuntu 18.04

cum se face un site sau un blog pe baza joomla cu interfata de administrare prin browser

cum se face un site sau un blog pe baza joomla cu interfata de administrare prin browser

Cuprins:

Anonim

Mattermost este o platformă de mesagerie instantanee, de înaltă calitate, o alternativă Slack, care este găzduită de sine stătătoare. 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, vom instala Mattermost pe un server Ubuntu 18.04 și vom configura 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 example.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 MySQL ca bază de date pentru Mattermost. Dacă nu aveți MySQL sau MariaDB instalat pe serverul dvs., îl puteți instala urmând aceste instrucțiuni.

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

mysql -u root

Creați o nouă bază de date și un utilizator pentru instalarea noastră cea mai importantă cu:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; Asigurați-vă că utilizați o parolă care este mai sigură decât P4ssvv0rD .

Creați un utilizator nou de sistem

Creați un nou utilizator și un grup care va rula instanța noastră de ultimă oră. Vom numi cel mai important utilizator:

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

Instalați Mattermost Server

În momentul scrierii acestui articol, ultima versiune stabilă a Mattermost este versiunea 5.1.0. Descărcați arhiva cu următoarea comandă curl:

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

Odată ce descărcarea este completă extrageți arhiva și mutați-o în directorul /opt

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

Creați directorul de stocare pentru fișiere:

sudo mkdir -p /opt/mattermost/data

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

sudo chown -R mattermost: /opt/mattermost

Deschideți fișierul /opt/mattermost/config/config.json , setați driverul bazei de date la mysql și introduceți informațiile bazei de date:

/opt/mattermost/config/config.json

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

Pentru a ne asigura că instanța noastră Mattermost funcționează așa cum era de așteptat, vom testa serverul Mattermost. /opt/mattermost directorul /opt/mattermost și porniți serverul cu următoarele comenzi:

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

Dacă totul funcționează bine, serverul va începe și rezultatul va arăta așa:

{"level":"info", "ts":1532546921.941638, "caller":"app/server.go:115", "msg":"Starting Server…"} {"level":"info", "ts":1532546921.9421031, "caller":"app/server.go:154", "msg":"Server is listening on:8065"} {"level":"info", "ts":1532546921.9541554, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"}

Acum putem opri serverul Mattermost cu CTRL+C și să continuăm 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/ .

Deschideți editorul de text și creați următorul fișier:

/etc/systemd/system/mattermost.service

Description=Mattermost After=network.target After=mysql.service Requires=mysql.service Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 WantedBy=mysql.service

Notificați systemd că am creat un nou fișier de unitate și porniți serviciul Mattermost cu următoarele comenzi:

sudo systemctl daemon-reload sudo systemctl start mattermost

Acum putem verifica starea serviciului cu:

sudo systemctl status mattermost

● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; ven Active: active (running) since Wed 2018-07-25 18:39:05 UTC; 41s ago Main PID: 3091 (mattermost) Tasks: 18 (limit: 507) CGroup: /system.slice/mattermost.service ├─3091 /opt/mattermost/bin/mattermost

Dacă nu există erori, activați serviciul Mattermost pentru a porni automat la momentul de pornire:

sudo systemctl enable mattermost

Configurați un proxy invers cu Nginx

Acum trebuie să configuram un nou bloc de server pentru instanța de importanță. Deschideți editorul de text și creați următorul fișier:

/etc/nginx/conf.d/example.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 example.com www.example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/example.com-access.log; error_log /var/log/nginx/example.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 veți fi redirecționat către pagina de sugnup.

Introduceți adresa de e-mail, alegeți un nume de utilizator și o parolă și faceți clic pe butonul Create Account pentru a crea primul cont.

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 dvs. server de mail urmând acest tutorial.

Î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. Ubuntu 18.04 și configurați Nginx ca proxy invers. Acum puteți începe să utilizați Mattermost pentru a colabora cu echipa dvs.

rocketchat nodejs ubuntu