Mattermost Dev Talk - Plugin Starter Guide
Inhoudsopgave:
- voorwaarden
- Maak een MySQL-database
- Maak een nieuwe systeemgebruiker
- Installeer Mattermost Server
- Maak een systeemeenheid
- Stel een reverse-proxy in met Nginx
- Mattermost configureren
- Conclusie
Mattermost is een open source, instant messaging-platform, een zelf-gehost Slack-alternatief. Het is geschreven in Golang en React en kan MySQL of PostgreSQL gebruiken als database-backend. Mattermost brengt al uw teamcommunicatie op één plek en biedt verschillende functies, waaronder het delen van bestanden, één-op-één- en groepsboodschappen, aangepaste emoji's, videogesprekken en meer. In deze zelfstudie laten we u zien hoe u Mattermost op een CentOS 7-server kunt implementeren en Nginx kunt configureren als een SSL-reverse-proxy.
voorwaarden
Zorg ervoor dat u aan de volgende voorwaarden hebt voldaan voordat u doorgaat met deze zelfstudie:
- U bent aangemeld als een gebruiker met sudo-rechten. U hebt een domeinnaam die verwijst naar het IP-adres van uw server. We zullen
linuxize-test.comgebruikenlinuxize-test.comU heeft Nginx geïnstalleerd, zo niet, kijk dan in deze gids. U hebt een SSL-certificaat geïnstalleerd voor uw domein. U kunt een gratis Let's Encrypt SSL-certificaat installeren door deze handleiding te volgen.
Maak een MySQL-database
We zullen MariaDB 10.3 gebruiken als back-end van de database. Mattermost werkt niet met MariaDB versie 5.5.
Log in op de MySQL-shell:
mysql -u root -p
En voer de volgende opdrachten uit om een nieuwe database en gebruiker te maken voor onze Mattermost-installatie:
create database mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
Maak een nieuwe systeemgebruiker
Voer de volgende opdracht uit om een nieuwe gebruiker en groep met de naam
mattermost
die de installatie van Mattermost uitvoert:
sudo useradd -U -M -d /opt/mattermost mattermost
Installeer Mattermost Server
Op het moment dat dit artikel werd geschreven, is de nieuwste stabiele versie van Mattermost versie 5.4.0. Voordat u doorgaat met de volgende stap, moet u de downloadpagina van Mattermost raadplegen om te zien of een nieuwere versie beschikbaar is.
Download het archief met de volgende krulopdracht:
sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
Zodra de download is voltooid, pak het archief uit en verplaats het naar de
opt
map:
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
Maak de opslagmap voor bestanden:
sudo mkdir /opt/mattermost/data
Wijzig het
mattermost
in de
mattermost
gebruikers:
sudo chown -R mattermost: /opt/mattermost
Open het
config.json
bestand met uw favoriete teksteditor:
sudo nano /opt/mattermost/config/config.json
Stel het databasestuurprogramma in op
mysql
, voer de databasenaam en het gebruikerswachtwoord van de database in die we eerder in deze zelfstudie hebben gemaakt:
… "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s", "DataSourceReplicas":,…
Om onze installatie te testen om te controleren of alles werkt voordat we systemd unit maken en een reverse proxy instellen met Nginx, starten we de Mattermost-server.
Ga naar de map
/opt/mattermost
en start de server:
cd /opt/mattermost
sudo -u mattermost bin/mattermost
Uit de uitvoer moet blijken dat de Mattermost-server luistert op poort
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."}
U kunt nu de Mattermost-server stoppen met
CTRL+C
en doorgaan met de volgende stappen.
Maak een systeemeenheid
Om onze Mattermost-instantie als een service uit te voeren, maken we een
mattermost.service
eenheidsbestand in de
/etc/systemd/system/
map met de volgende inhoud:
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
Breng systemd op de hoogte dat we een nieuw eenheidsbestand hebben gemaakt en start de Mattermost-service door het uitvoeren van:
sudo systemctl daemon-reload
sudo systemctl start mattermost
We kunnen nu de servicestatus controleren met de volgende opdracht:
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
Schakel ten slotte de Mattermost-service automatisch in tijdens het opstarten:
sudo systemctl enable mattermost
Stel een reverse-proxy in met 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; } }
Laad de Nginx-service opnieuw om de wijzigingen door te voeren:
Mattermost configureren
Open uw browser, typ uw domein en maak uw eerste account:







en voer uw SMTP-parameters in. U kunt alle populaire transactionele e-maildiensten gebruiken, zoals SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet en Postmark of u kunt uw eigen mailserver instellen.
Tot slot moeten we de Mattermost-service opnieuw opstarten om de wijzigingen door te voeren:
sudo systemctl restart mattermost
Conclusie
U hebt Mattermost op uw CentOS 7-server geïnstalleerd en Nginx ingesteld als een omgekeerde proxy. U kunt Mattermost nu gaan gebruiken om samen te werken met uw team.
mattermost nodejs centosRamm Ismael van Vlambeer spreekt over het maken van games die je haat
Videogamevorming is iets dat velen traditioneel associëren met grote budgetten, grote teams en grote namen. Niettemin veranderen de tijden; een groeiend aantal onafhankelijke ontwikkelaars begint aan te tonen dat de industrie niet langer exclusief de provincie is van bedrijven met een bedrijfsbacking. Onafhankelijke spellen zoals LIMBO, Minecraft en Bastion hebben allemaal een aanzienlijke impact op de media en gamers.
We besteden veel tijd aan het doorlezen van sociale netwerksites, maar dat is niet genoeg Dat betekent dat we allemaal sociale vlinders zijn. Het lijkt erop dat e-mail het nieuws van gisteren is geworden. Terwijl het controleren van e-mail vroeger onze belangrijkste reden was om online te gaan, besteden we nu meer van onze online tijd aan het surfen op sociale netwerken, volgens nieuwe nummers van Nielsen. We spenderen 23 procent van onze online tijd aan surfen op sociale netwerken zoals Faceboo
Dat nieuws hoeft mij niet per se te verbazen: ik kan 10 minuten doorbrengen op Facebook en verstrikt raken in de activiteiten van 25 verschillende mensen, terwijl het besteden van diezelfde 10 minuten aan e-mail me in staat zou stellen om veel nutteloze junkmail te verwijderen en misschien een bericht te lezen. Maar als ik echt stop om erover na te denken, houdt Facebook me niet echt beter verbonden met de meeste mensen. Hier zijn vijf redenen waarom.
Hoe rocket.chat op centos te implementeren 7
In deze zelfstudie laten we u zien hoe u Rocket.Chat installeert en implementeert op een CentOS 7-server met Nginx als SSL reverse proxy. Rocket.Chat is een compleet teamcommunicatieplatform, een zelfgehost Slack-alternatief.







