Android

Πώς να αναπτύξετε το θέμα στο Ubuntu 18.04

Barry Schwartz: Using our practical wisdom

Barry Schwartz: Using our practical wisdom

Πίνακας περιεχομένων:

Anonim

Το Mattermost είναι μια επιχείρηση βαθμού, πλατφόρμα ανταλλαγής άμεσων μηνυμάτων, μια ανοιχτή πηγή που φιλοξενεί εναλλακτική λύση Slack. Είναι γραμμένο σε Golang και React και μπορεί να χρησιμοποιήσει MySQL ή PostgreSQL ως backend βάσης δεδομένων. Το Mattermost φέρνει όλη την επικοινωνία της ομάδας σας σε ένα μέρος και παρέχει διάφορα χαρακτηριστικά, όπως κοινή χρήση αρχείων, ανταλλαγή μηνυμάτων one-on-one και ομαδικά, προσαρμοσμένα emojis, βίντεο κλήσεις και πολλά άλλα.

Σε αυτό το σεμινάριο, θα εγκαταστήσουμε το Mattermost σε ένα διακομιστή Ubuntu 18.04 και θα ρυθμίσουμε το Nginx ως αντίστροφο proxy SSL.

Προϋποθέσεις

Βεβαιωθείτε ότι πληρούνται οι ακόλουθες προϋποθέσεις πριν συνεχίσετε με αυτό το σεμινάριο:

  • Έχετε συνδεθεί ως χρήστης με δικαιώματα sudo.Έχετε ένα όνομα τομέα που δείχνει στη διεύθυνση IP του διακομιστή σας. θα χρησιμοποιήσουμε το example.com . Έχετε εγκαταστήσει Nginx, αν δεν ελέγξετε αυτόν τον οδηγό. Έχετε εγκατεστημένο ένα πιστοποιητικό SSL για τον τομέα σας. Μπορείτε να εγκαταστήσετε δωρεάν το Let's Encrypt SSL certificate ακολουθώντας αυτόν τον οδηγό.

Δημιουργία βάσης δεδομένων MySQL

Θα χρησιμοποιήσουμε τη MySQL ως βάση δεδομένων για το Mattermost. Εάν δεν έχετε εγκαταστήσει το MySQL ή το MariaDB στον server σας, μπορείτε να το εγκαταστήσετε ακολουθώντας αυτές τις οδηγίες.

Σύνδεση στο shell της MySQL:

mysql -u root

Δημιουργήστε μια νέα βάση δεδομένων και έναν χρήστη για την Mattermost εγκατάσταση μας με:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; Βεβαιωθείτε ότι χρησιμοποιείτε έναν κωδικό που είναι πιο ασφαλής από τον P4ssvv0rD .

Δημιουργήστε νέο χρήστη του συστήματος

Δημιουργήστε έναν νέο χρήστη και μια ομάδα που θα εκτελέσει το Mattermost παράδειγμα. Θα αναφέρουμε τον χρήστη ως mattermost :

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

Εγκαταστήστε το Mattermost Server

Κατά τη σύνταξη αυτού του άρθρου, η πιο πρόσφατη σταθερή έκδοση του Mattermost είναι η έκδοση 5.1.0. Κατεβάστε το αρχείο με την ακόλουθη εντολή:

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

Μόλις ολοκληρωθεί η λήψη, εξαγάγετε το αρχείο και μετακινήστε τον στον κατάλογο /opt

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

Δημιουργία του καταλόγου αποθήκευσης αρχείων:

sudo mkdir -p /opt/mattermost/data

Αλλάξτε την ιδιοκτησία του καταλόγου στον πιο mattermost χρήστη:

sudo chown -R mattermost: /opt/mattermost

Ανοίξτε το αρχείο /opt/mattermost/config/config.json , ορίστε το πρόγραμμα οδήγησης βάσης δεδομένων στο mysql και εισαγάγετε τις πληροφορίες της βάσης δεδομένων:

/opt/mattermost/config/config.json

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

Για να βεβαιωθείτε ότι το Mattermost παράδειγμα δουλεύει όπως αναμενόταν θα δοκιμάσουμε τον Mattermost server. Μεταβείτε στον κατάλογο /opt/mattermost και ξεκινήστε τον διακομιστή με τις ακόλουθες εντολές:

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

Εάν όλα λειτουργούν καλά, ο διακομιστής θα ξεκινήσει και η έξοδος θα μοιάζει με αυτό:

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

Τώρα μπορούμε να σταματήσουμε το διακομιστή Mattermost με CTRL+C και να συνεχίσουμε με τα επόμενα βήματα.

Δημιουργήστε μια συστημένη μονάδα

Για να εκτελέσουμε το Mattermost παράδειγμα ως υπηρεσία, θα δημιουργήσουμε ένα mattermost.service file unit στον /etc/systemd/system/ directory.

Ανοίξτε το πρόγραμμα επεξεργασίας κειμένου και δημιουργήστε το ακόλουθο αρχείο:

/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

Ειδοποιήστε ότι έχει δημιουργηθεί ένα νέο αρχείο μονάδας και να ξεκινήσετε την υπηρεσία Mattermost με τις ακόλουθες εντολές:

sudo systemctl daemon-reload sudo systemctl start mattermost

Τώρα μπορούμε να ελέγξουμε την κατάσταση της υπηρεσίας με:

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

Εάν δεν υπάρχουν σφάλματα, επιτρέψτε στην υπηρεσία Mattermost να ξεκινήσει αυτόματα κατά την εκκίνηση:

sudo systemctl enable mattermost

Ρυθμίστε ένα αντίστροφο proxy με το Nginx

Τώρα πρέπει να δημιουργήσουμε ένα νέο μπλοκ διακομιστή για την υπόθεση Mattermost. Ανοίξτε το πρόγραμμα επεξεργασίας κειμένου και δημιουργήστε το ακόλουθο αρχείο:

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

Επαναφόρτωση της υπηρεσίας Nginx για να εφαρμοστούν οι αλλαγές:

sudo systemctl reload nginx

Ρύθμιση της ουσίας

Ανοίξτε το πρόγραμμα περιήγησης, πληκτρολογήστε τον τομέα σας και θα μεταφερθείτε στη σελίδα sugnup.

Εισαγάγετε το email σας, επιλέξτε ένα όνομα χρήστη και κωδικό πρόσβασης και κάντε κλικ στο κουμπί Create Account για να δημιουργήσετε τον πρώτο λογαριασμό σας.

Μπορείτε να χρησιμοποιήσετε οποιεσδήποτε δημοφιλείς υπηρεσίες ηλεκτρονικού ταχυδρομείου για συναλλαγές όπως SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet και Σφραγίδα ή μπορείτε να ρυθμίσετε τον δικό σας διακομιστή αλληλογραφίας ακολουθώντας αυτό το σεμινάριο.

Τέλος, πρέπει να επανεκκινήσουμε την υπηρεσία Mattermost για να εφαρμοστούν οι αλλαγές:

sudo systemctl restart mattermost

συμπέρασμα

Έχετε εγκαταστήσει με επιτυχία Mattermost στο διακομιστή Ubuntu 18.04 και ρυθμίσετε το Nginx ως αντίστροφη πληρεξούσιο. Τώρα μπορείτε να αρχίσετε να χρησιμοποιείτε το Mattermost για να συνεργαστείτε με την ομάδα σας.

rocketchat nodejs ubuntu