How to Install Mattermost with PostgreSQL and Nginx on LINUX
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 öppen källkod, snabbmeddelandeplattform, ett självhostigt Slack-alternativ. 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 den här tutorialen visar vi dig hur du distribuerar Mattermost på en CentOS 7-server och konfigurerar 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
linuxize-test.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 MariaDB 10.3 som en databasback-end. Mattermost fungerar inte med MariaDB version 5.5.
Logga in på MySQL-skalet:
mysql -u root -p
Och kör följande kommandon för att skapa en ny databas och användare för vår Mattermost-installation:
create database mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
Skapa ny systemanvändare
För att skapa en ny användare och grupp med namnet
mattermost
, som kommer att köra Mattermost-installationen, kör följande kommando:
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.4.0. Innan du fortsätter med nästa steg bör du kontrollera Mattermost-nedladdningssidan för att se om en nyare version är tillgänglig.
Ladda ner arkivet med följande curl-kommando:
sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.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 /opt/mattermost/data
Ändra
mattermost
till den
mattermost
användaren:
sudo chown -R mattermost: /opt/mattermost
Öppna
config.json
filen med din favorittextredigerare:
sudo nano /opt/mattermost/config/config.json
Ställ in databasdrivrutinen till
mysql
, ange databasnamnet och databasanvändarlösenordet som vi skapade tidigare i denna tutorial:
… "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s", "DataSourceReplicas":,…
För att testa vår installation för att se till att allt fungerar innan vi skapar systemd enhet och sätter upp en omvänd proxy med Nginx kommer vi att starta Mattermost-servern.
Byt till
/opt/mattermost
och starta servern:
cd /opt/mattermost
sudo -u mattermost bin/mattermost
Utgången ska visa att Mattermost-servern lyssnar på port
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."}
Du 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 med följande innehåll:
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
Meddela systemd att vi skapade en ny enhetsfil och startar Mattermost-tjänsten genom att utföra:
sudo systemctl daemon-reload
sudo systemctl start mattermost
Vi kan nu kontrollera servicestatusen med följande kommando:
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
Slutligen, aktivera Mattermost-tjänsten att startas automatiskt vid starttid:
sudo systemctl enable mattermost
Ställ in en omvänd proxy med 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; } }
Ladda om Nginx-tjänsten så att ändringar träder i kraft:
Konfigurera Mattermost
Öppna din webbläsare, skriv din domän och skapa ditt första konto:
och ange dina SMTP-parametrar. 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.
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 CentOS 7-server och installerat Nginx som en omvänd proxy. Du kan nu börja använda Mattermost för att samarbeta med ditt team.
viktigaste nodejs centosLedamö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å ubuntu 18.04
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.