Android

Sådan implementeres det vigtigste på ubuntu 18.04

Sådan har Stofa Erhverv implementeret social selling (podcast)

Sådan har Stofa Erhverv implementeret social selling (podcast)

Indholdsfortegnelse:

Anonim

Mattermost er en enterprise grade, instant messaging platform, et open source, selvhost Slack-alternativ. Det er skrevet i Golang og React og kan bruge MySQL eller PostgreSQL som en database backend. Mattermost bringer al din teamkommunikation ét sted og giver forskellige funktioner, herunder fildeling, en-til-en- og gruppemeddelelse, brugerdefinerede emoji, videoopkald og mere.

I denne tutorial vil vi installere Mattermost på en Ubuntu 18.04-server og konfigurere Nginx som en SSL-omvendt proxy.

Forudsætninger

Sørg for, at du har opfyldt følgende forudsætninger, før du fortsætter med denne tutorial:

  • Du er logget ind som bruger med sudo-privilegier. Du har et domænenavn, der peger til din server-IP-adresse. vi bruger example.com Du har Nginx installeret, hvis ikke tjek denne vejledning. Du har et SSL-certifikat installeret til dit domæne. Du kan installere et gratis Let's Encrypt SSL-certifikat ved at følge denne vejledning.

Opret MySQL-database

Vi bruger MySQL som en database til Mattermost. Hvis du ikke har MySQL eller MariaDB installeret på din server, kan du installere det ved at følge disse instruktioner.

Login til MySQL-shell:

mysql -u root

Opret en ny database og bruger til vores Mattermost-installation med:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; Sørg for, at du bruger en adgangskode, der er mere sikker end P4ssvv0rD .

Opret ny systembruger

Opret en ny bruger og gruppe, der kører vores Mattermost-instans. Vi vil navngive brugeren mattermost :

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

Installer Mattermost Server

På dette tidspunkt, hvor denne artikel skrives, er den seneste stabile version af Mattermost version 5.1.0. Download arkivet med følgende curl-kommando:

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

Når overførslen er afsluttet, skal du arkivere arkivet og flytte det til /opt biblioteket

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

Opret lagringsmappen til filer:

sudo mkdir -p /opt/mattermost/data

Skift katalogejerskab til den mattermost bruger:

sudo chown -R mattermost: /opt/mattermost

Åbn filen /opt/mattermost/config/config.json , indstil database driveren til mysql og indtast databaseinformationen:

/opt/mattermost/config/config.json

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

For at sikre, at vores Mattermost-instans fungerer som forventet, tester vi Mattermost-serveren. Skift til mappen /opt/mattermost og start serveren med følgende kommandoer:

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

Hvis alt fungerer godt, starter serveren, og output ser sådan ud:

{"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"}

Vi kan nu stoppe Mattermost-serveren med CTRL+C og fortsætte med de næste trin.

Opret en Systemd-enhed

For at køre vores Mattermost-forekomst som en service opretter vi en mattermost.service enhedsfil i /etc/systemd/system/ directory.

Åbn din teksteditor og opret følgende fil:

/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

Underret systemd om, at vi har oprettet en ny enhedsfil, og start Mattermost-tjenesten med følgende kommandoer:

sudo systemctl daemon-reload sudo systemctl start mattermost

Vi kan nu kontrollere servicestatusen med:

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

Hvis der ikke er nogen fejl, skal du aktivere Mattermost-tjenesten automatisk ved starttidspunktet:

sudo systemctl enable mattermost

Konfigurer en omvendt proxy med Nginx

Nu skal vi opsætte en ny serverblok til Mattermost-forekomsten. Åbn din teksteditor og opret følgende fil:

/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; } }

Genindlæs Nginx-tjenesten, så ændringerne træder i kraft:

sudo systemctl reload nginx

Konfiguration af Mattermost

Åbn din browser, skriv dit domæne, og du vil blive omdirigeret til sugnup-siden.

Indtast din e-mail, vælg et brugernavn og adgangskode, og klik på knappen Create Account at oprette din første konto.

Du kan bruge alle populære transaktionelle e-mail-tjenester såsom SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet og Postmark, eller du kan konfigurere din egen mailserver ved at følge denne tutorial.

Endelig er vi nødt til at genstarte Mattermost-tjenesten for at ændringer kan træde i kraft:

sudo systemctl restart mattermost

Konklusion

Du har installeret Mattermost på din Ubuntu 18.04-server og konfigureret Nginx som en omvendt proxy. Du kan nu begynde at bruge Mattermost til at samarbejde med dit team.

rocketchat nodejs ubuntu