If You Want To Know What It Takes To FIND and KEEP LOVE - WATCH THIS!
جدول المحتويات:
- المتطلبات الأساسية
- إنشاء قاعدة بيانات الخلية
- إنشاء مستخدم نظام جديد
- تثبيت خادم Mattermost
- إنشاء وحدة Systemd
- إعداد وكيل عكسي مع Nginx
- تكوين Mattermost
- استنتاج
Mattermost هو نظام أساسي للمراسلة الفورية مفتوح المصدر ، وهو بديل بديل لـ Slack. إنه مكتوب في Golang و React ويمكنه استخدام MySQL أو PostgreSQL كقاعدة بيانات خلفية. يجلب Mattermost جميع اتصالات فريقك إلى مكان واحد ويوفر العديد من الميزات بما في ذلك مشاركة الملفات والرسائل الجماعية ومراسلة جماعية والرموز التعبيرية المخصصة ومكالمات الفيديو والمزيد. في هذا البرنامج التعليمي ، سوف نوضح لك كيفية نشر Mattermost على خادم CentOS 7 وتكوين Nginx كبديل عكسي لـ SSL.
المتطلبات الأساسية
تأكد من أنك استوفيت الشروط التالية قبل المتابعة مع هذا البرنامج التعليمي:
- تم تسجيل دخولك كمستخدم لديه امتيازات sudo. لديك اسم مجال يشير إلى عنوان IP الخاص بالخادم. سوف نستخدم
linuxize-test.com. لديك تثبيت Nginx ، إن لم يكن التحقق من هذا الدليل. لديك شهادة SSL مثبتة لنطاقك. يمكنك تثبيت شهادة Let's Encrypt SSL المجانية باتباع هذا الدليل.
إنشاء قاعدة بيانات الخلية
سوف نستخدم MariaDB 10.3 كقاعدة بيانات خلفية. Mattermost لن تعمل مع MariaDB الإصدار 5.5.
تسجيل الدخول إلى قذيفة الخلية:
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
في وقت كتابة هذا المقال ، أحدث إصدار ثابت من Mattermost هو الإصدار 5.4.0. قبل المتابعة مع الخطوة التالية ، يجب عليك التحقق من صفحة تنزيل Mattermost لمعرفة ما إذا كان هناك إصدار أحدث متاح.
قم بتنزيل الأرشيف باستخدام الأمر curl التالي:
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
، وأدخل اسم قاعدة البيانات وكلمة مرور مستخدم قاعدة البيانات التي أنشأناها مسبقًا في هذا البرنامج التعليمي:
… "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s", "DataSourceReplicas":,…
من أجل اختبار التثبيت الخاص بنا للتأكد من أن كل شيء يعمل قبل إنشاء وحدة systemd وإعداد وكيل عكسي مع Nginx ، سنبدأ تشغيل خادم Mattermost.
التغيير في الدليل
/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
ومتابعة الخطوات التالية.
إنشاء وحدة Systemd
من أجل تشغيل مثيل Mattermost كخدمة ، سنقوم بإنشاء ملف وحدة
mattermost.service
في الدليل
/etc/systemd/system/
directory بالمحتوى التالي:
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
أخبر 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; 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
إعداد وكيل عكسي مع 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 لتصبح التغييرات نافذة المفعول:
تكوين Mattermost
افتح المتصفح الخاص بك ، اكتب نطاقك وقم بإنشاء حسابك الأول:







وأدخل معلمات SMTP الخاصة بك. يمكنك استخدام أي خدمات بريد إلكتروني للمعاملات الشائعة مثل SendinBlue و SendGrid و Amazon SES و Mandrill و Mailgun و Mailjet و Postmark أو يمكنك إعداد خادم البريد الخاص بك.
أخيرًا ، نحتاج إلى إعادة تشغيل خدمة Mattermost لتصبح التغييرات نافذة المفعول:
sudo systemctl restart mattermost
استنتاج
لقد نجحت في تثبيت Mattermost على خادم CentOS 7 وإعداد Nginx كوكيل عكسي. يمكنك الآن البدء في استخدام Mattermost للتعاون مع فريقك.
يهم nodejs centosكيفية إصلاح حدود زمنية الشاشة لا تعمل المسألة على دائرة الرقابة الداخلية
هل لا يقيد Screen Time on iOS بعض التطبيقات بعد انتهاء حدود الوقت؟ يمكن الوصول إلى التطبيقات حتى خلال فترة التوقف؟ جرب هذه النصائح استكشاف الأخطاء وإصلاحها.
كيفية إصلاح miui قفل الشاشة الإخطارات لا تعمل المسألة
الإخطارات لا تعمل على قفل الشاشة على الهاتف الذكي الخاص بك MIUI بالطاقة؟ فيما يلي 7 طرق لحل هذه المشكلة حتى لا تفوت أي شيء مهم على الإطلاق.
كيفية نشر المسألة على أوبونتو 18.04
يجلب Mattermost جميع اتصالات فريقك إلى مكان واحد ويوفر العديد من الميزات بما في ذلك مشاركة الملفات ورسائل فردية وجماعية ورموز تعبيرية مخصصة ومكالمات فيديو والمزيد.







