If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!
جدول المحتويات:
- المتطلبات الأساسية
- إنشاء قاعدة بيانات الخلية
- إنشاء مستخدم نظام جديد
- تثبيت خادم Mattermost
- إنشاء وحدة Systemd
- إعداد وكيل عكسي مع Nginx
- تكوين Mattermost
- استنتاج
Mattermost هي عبارة عن نظام أساسي للمراسلة ، ونظام الرسائل الفورية ، وهو بديل سلاك مفتوح المصدر مفتوح المصدر. إنه مكتوب في Golang و React ويمكنه استخدام MySQL أو PostgreSQL كقاعدة بيانات خلفية. يجلب Mattermost جميع اتصالات فريقك إلى مكان واحد ويوفر العديد من الميزات بما في ذلك مشاركة الملفات ورسائل فردية وجماعية ورموز تعبيرية مخصصة ومكالمات فيديو والمزيد.
في هذا البرنامج التعليمي ، سنقوم بتثبيت Mattermost على خادم Ubuntu 18.04 وتكوين Nginx كبديل عكسي لـ SSL.
المتطلبات الأساسية
تأكد من أنك استوفيت الشروط التالية قبل المتابعة مع هذا البرنامج التعليمي:
- تم تسجيل دخولك كمستخدم لديه امتيازات sudo. لديك اسم مجال يشير إلى عنوان IP الخاص بالخادم. سنستخدم
example.com. لديك تثبيت Nginx ، إن لم يكن التحقق من هذا الدليل. لديك شهادة SSL مثبتة لنطاقك. يمكنك تثبيت شهادة Let's Encrypt SSL المجانية باتباع هذا الدليل.
إنشاء قاعدة بيانات الخلية
سوف نستخدم MySQL كقاعدة بيانات لـ Mattermost. إذا لم يكن لديك MySQL أو MariaDB مثبتًا على الخادم الخاص بك ، فيمكنك تثبيته باتباع هذه الإرشادات.
تسجيل الدخول إلى قذيفة الخلية:
mysql -u root
قم بإنشاء قاعدة بيانات جديدة ومستخدم لتثبيت Mattermost الخاص بنا باستخدام:
CREATE DATABASE mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
تأكد من أنك تستخدم كلمة مرور أكثر أمانًا من
P4ssvv0rD
.
إنشاء مستخدم نظام جديد
أنشئ مستخدمًا جديدًا ومجموعة تقوم بتشغيل مثيلنا الأكثر أهمية. سنقوم بتسمية المستخدم
mattermost
:
sudo useradd -U -M -d /opt/mattermost mattermost
تثبيت خادم Mattermost
في وقت كتابة هذا المقال ، أحدث إصدار ثابت من Mattermost هو الإصدار 5.1.0. قم بتنزيل الأرشيف باستخدام الأمر curl التالي:
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
وأدخل معلومات قاعدة البيانات:
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s",
للتأكد من عمل مثيل Mattermost كما هو متوقع ، سنختبر خادم Mattermost. التغيير في الدليل
/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
ومتابعة الخطوات التالية.
إنشاء وحدة Systemd
من أجل تشغيل مثيل Mattermost كخدمة ، سنقوم بإنشاء ملف وحدة
mattermost.service
في الدليل
/etc/systemd/system/
.
افتح محرر النصوص الخاص بك وقم بإنشاء الملف التالي:
/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
أخبر systemd أننا أنشأنا ملف وحدة جديدًا وبدء تشغيل خدمة 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
إعداد وكيل عكسي مع 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 لتصبح التغييرات نافذة المفعول:
تكوين Mattermost
افتح المتصفح الخاص بك ، واكتب نطاقك ، وسيتم توجيهك إلى صفحة sugnup.
أدخل بريدك الإلكتروني ، واختر اسم المستخدم وكلمة المرور وانقر على زر
Create Account
لإنشاء حسابك الأول.







يمكنك استخدام أي خدمات بريد إلكتروني للمعاملات الشائعة مثل SendinBlue و SendGrid و Amazon SES و Mandrill و Mailgun و Mailjet و Postmark أو يمكنك إعداد خادم البريد الخاص بك باتباع هذا البرنامج التعليمي.
أخيرًا ، نحتاج إلى إعادة تشغيل خدمة Mattermost لتصبح التغييرات نافذة المفعول:
sudo systemctl restart mattermost
استنتاج
لقد نجحت في تثبيت Mattermost على خادم Ubuntu 18.04 وإعداد Nginx كوكيل عكسي. يمكنك الآن البدء في استخدام Mattermost للتعاون مع فريقك.
nodejs rocketchat أوبونتوكيفية نشر odoo 11 على أوبونتو 18.04
يغطي هذا الدليل الخطوات اللازمة لتثبيت وتكوين Odoo للإنتاج باستخدام Git source وبيئة Python الافتراضية على نظام Ubuntu 18.04.
كيفية نشر odoo 12 على أوبونتو 18.04
يغطي هذا البرنامج التعليمي الخطوات المطلوبة لتثبيت وتكوين Odoo 12 للإنتاج باستخدام مصدر Git وبيئة Python الافتراضية على نظام Ubuntu 18.04.
كيفية نشر المسألة على centos 7
يجلب Mattermost جميع اتصالات فريقك إلى مكان واحد ويوفر العديد من الميزات بما في ذلك مشاركة الملفات والرسائل الجماعية ومراسلة جماعية والرموز التعبيرية المخصصة ومكالمات الفيديو والمزيد.







