Android

Πώς να αναπτύξετε την ουσία στα centos 7

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 σε έναν κεντρικό υπολογιστή 7 και να διαμορφώσετε το Nginx ως αντίστροφο proxy SSL.

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

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

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

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

Θα χρησιμοποιήσουμε το MariaDB 10.3 ως back-end βάσης δεδομένων. Το Mattermost δεν θα λειτουργήσει με την έκδοση 5.5 της MariaDB.

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

mysql -u root -p

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

create database mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';

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

Για να δημιουργήσετε ένα νέο χρήστη και μια ομάδα που ονομάζεται mattermost , η οποία θα εκτελέσει την εγκατάσταση Mattermost, εκτελέστε την ακόλουθη εντολή:

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

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

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

Κατεβάστε το αρχείο με την ακόλουθη εντολή:

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

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

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

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

sudo mkdir /opt/mattermost/data

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

sudo chown -R mattermost: /opt/mattermost

Ανοίξτε το αρχείο config.json με τον αγαπημένο σας επεξεργαστή κειμένου:

sudo nano /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", "DataSourceReplicas":,…

Για να ελέγξουμε την εγκατάστασή μας για να βεβαιωθούμε ότι όλα λειτουργούν πριν δημιουργήσουμε μια συστημένη μονάδα και ρυθμίζουμε ένα αντίστροφο proxy με το Nginx θα ξεκινήσουμε τον Mattermost server.

Μεταβείτε στον κατάλογο /opt/mattermost και ξεκινήστε τον διακομιστή:

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

Η έξοδος πρέπει να δείχνει ότι ο διακομιστής Mattermost ακούει στη θύρα 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."}

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

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

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

/etc/systemd/system/mattermost.service

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

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

sudo systemctl daemon-reload sudo systemctl start mattermost

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

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

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

sudo systemctl enable mattermost

Ρυθμίστε ένα αντίστροφο proxy με 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; } }

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

sudo systemctl reload nginx

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

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

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

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

sudo systemctl restart mattermost

συμπέρασμα

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

ουσιώδη κενά