How to Install Mattermost with MySQL on Ubuntu 16 Xenial Xerus
Innehållsförteckning:
- förutsättningar
- Skapa MySQL-databas
- Skapa ny systemanvändare
- Installera Mattermost Server
- Skapa en Systemd-enhet
- Ställ in en omvänd proxy med Nginx
- Konfigurera Mattermost
- Slutsats
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:
"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:
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 ubuntuLedamöter av Europaparlamentet kommer att avgöra om en rad frågor, bland annat hur man reglerar telekomföretag i EU, hur man straffar företag som snedvrider konkurrensen, hur man delar radiofrekvenser som släpps av TV: s migrering till digital sändning och hur man skyddar medborgarnas data i den digitala tiden.
Men de är delade om huruvida IP-adresser ska ses som personuppgifter. "Vi kommer att be kommissionen att formellt lägga fram en rapport om detta", säger Malcolm Harbour, en brittisk konservativ parlamentsledamot som spelar en central roll för att hylla den så kallade telekomrevisionen genom parlamentet.
Det finns ett brett utbud av tablettalternativ för att dumma och förvåna shoppare under semestern. Microsoft har en solid contender med sin nuvarande Surface-tablett, men den kör det mer begränsade Windows RT-operativsystemet som var konstruerat för användning med ARM-baserade processorer. Jag har redan granskat hur Surface RT slår iPad, och hur iPad slår Surface RT, men hur är det med tabletter som driver det kraftfullare Windows 8 Pro OS?
Samsung Series 7 Slate har en Intel Core i5 processor.
Hur man distribuerar det viktigaste på centos 7
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.