Android

Hur man distribuerar det viktigaste på ubuntu 18.04

How to Install Mattermost with MySQL on Ubuntu 16 Xenial Xerus

How to Install Mattermost with MySQL on Ubuntu 16 Xenial Xerus

Innehållsförteckning:

Anonim

Mattermost är en företagsklass, snabbmeddelandeplattform, ett självhostigt Slack-alternativ med öppen källkod. Det är skrivet i Golang och React och kan använda MySQL eller PostgreSQL som en databasbackend. Mattermost tar med dig all teamkommunikation på ett ställe och erbjuder olika funktioner inklusive fildelning, en-mot-en och gruppmeddelanden, anpassade emojis, videosamtal och mer.

I denna handledning kommer vi att installera Mattermost på en Ubuntu 18.04-server och konfigurera Nginx som en SSL-omvänd proxy.

förutsättningar

Se till att du har uppfyllt följande förutsättningar innan du fortsätter med denna handledning:

  • Du är inloggad som användare med sudo-privilegier. Du har ett domännamn som pekar på din server IP-adress. Vi kommer att använda example.com Du har Nginx installerat, om inte kontrollera den här guiden. Du har ett SSL-certifikat installerat för din domän. Du kan installera ett gratis Let's Encrypt SSL-certifikat genom att följa den här guiden.

Skapa MySQL-databas

Vi kommer att använda MySQL som en databas för Mattermost. Om du inte har MySQL eller MariaDB installerat på din server kan du installera det genom att följa dessa instruktioner.

Logga in på MySQL-skalet:

mysql -u root

Skapa en ny databas och användare för vår Mattermost-installation med:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; Se till att du använder ett lösenord som är säkrare än P4ssvv0rD .

Skapa ny systemanvändare

Skapa en ny användare och grupp som kör vår Mattermost-instans. Vi kommer att namnge användaren mattermost :

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

Installera Mattermost Server

Vid skrivandet av denna artikel är den senaste stabila versionen av Mattermost version 5.1.0. Ladda ner arkivet med följande 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 nedladdningen är klar extrahera arkivet och flytta det till /opt katalogen

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

Skapa lagringskatalogen för filer:

sudo mkdir -p /opt/mattermost/data

Ändra mattermost till den mattermost användaren:

sudo chown -R mattermost: /opt/mattermost

Öppna filen /opt/mattermost/config/config.json , ställ in databasdrivrutinen till mysql och ange databasinformationen:

/opt/mattermost/config/config.json

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

För att se till att vår Mattermost-instans fungerar som förväntat testar vi Mattermost-servern. Byt till /opt/mattermost och starta servern med följande kommandon:

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

Om allt fungerar bra kommer servern att starta och utdata ser ut så här:

{"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 stoppa Mattermost-servern med CTRL+C och fortsätta med nästa steg.

Skapa en Systemd-enhet

För att köra vår Mattermost-instans som en tjänst skapar vi en mattermost.service i /etc/systemd/system/ katalogen.

Öppna din textredigerare och skapa följande 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

Meddela systemd att vi har skapat en ny enhetsfil och startar Mattermost-tjänsten med följande kommandon:

sudo systemctl daemon-reload sudo systemctl start mattermost

Vi kan nu kontrollera 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

Om det inte finns några fel kan du aktivera Mattermost-tjänsten att starta automatiskt vid starttid:

sudo systemctl enable mattermost

Ställ in en omvänd proxy med Nginx

Nu måste vi installera ett nytt serverblock för Mattermost-instansen. Öppna din textredigerare och skapa följande 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; } }

Ladda om Nginx-tjänsten så att ändringar träder i kraft:

sudo systemctl reload nginx

Konfigurera Mattermost

Öppna din webbläsare, skriv din domän så omdirigeras du till sugnup-sidan.

Ange din e-postadress, välj ett användarnamn och lösenord och klicka på knappen Create Account att skapa ditt första konto.

Du kan använda alla populära transaktionella e-posttjänster som SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet och Postmark eller så kan du ställa in din egen e-postserver genom att följa denna handledning.

Slutligen måste vi starta om Mattermost-tjänsten för att ändringar ska träda i kraft:

sudo systemctl restart mattermost

Slutsats

Du har installerat Mattermost på din Ubuntu 18.04-server och installerat Nginx som en omvänd proxy. Du kan nu börja använda Mattermost för att samarbeta med ditt team.

rocketchat nodejs ubuntu