روكيت.تشات هو منصة مجانية ومفتوحة المصدر وقابلة للتوسع وقابلة للتخصيص بشكل كبير وآمنة تتيح لك التواصل والتعاون مع فريقك، ومشاركة الملفات، والدردشة في الوقت الحقيقي. إنها متعددة المنصات وتعمل على أنظمة التشغيل لينكس وويندوز وماكوس وأندرويد وآي أو إس.
إنه مشابه لـ سلاك ويتميز بالدردشة الحية، ومؤتمرات الصوت والفيديو مجانًا، والقنوات، والوصول الضيف، مشاركة الشاشة، ومشاركة الملفات. لضمان التواصل الآمن، يدعم مزامنة المجموعات LDAP، والمصادقة ثنائية العامل (2FA)، والتشفير من النهاية إلى النهاية، وتسجيل الدخول الواحد، وعدة مزودين OAuth.
بشكل مهم، وبما أنه مفتوح بالكامل، يمكنك الوصول إلى الشيفرة المصدرية لتخصيصها بالكامل أو توسيعها، أو إضافة وظائف جديدة لتلبية متطلبات فريقك أو عملك.
في هذا المقال، ستتعلم كيفية تثبيت وتكوين روكيت.تشات الخادم والعميل على نظام لينكس.
الخطوة 1: تثبيت السناب في لينكس
1. أسهل طريقة لتثبيت روكيت.تشات هي باستخدام السناب – وهي مدعومة من معظم توزيعات لينكس الحديثة إذا لم تكن كلها، وهي آمنة لأنها تعمل محصورة تحت حاوية أمان مقيدة. بالإضافة إلى ذلك، مع السناب، يمكنك أيضًا التحديث التلقائي عند توفر إصدار جديد من الحزمة.
تأكد أولاً من تثبيت حزمة snapd على نظامك، وإلا قم بتثبيتها باستخدام مدير الحزم الافتراضي على النحو المبين.
$ sudo apt install snapd #Ubuntu and Debian $ sudo dnf install snapd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install snapd #CentOS/RHEL 7
2. بمجرد اكتمال التثبيت، ستحتاج إلى تمكين وحدة systemd التي تدير المقبس الرئيسي للتواصل مع الـ Snap كما يلي. لاحظ أن هذا الأمر سيبدأ المقبس ويمكنه البدء عند تشغيل النظام. في أوبونتو، يجب أن يتم هذا تلقائيًا بعد اكتمال تثبيت الحزمة.
$ sudo systemctl enable --now snapd.socket
بالإضافة إلى ذلك، يمكنك تمكين دعم Snap الكلاسيكي عن طريق إنشاء رابط رمزي بين /var/lib/snapd/snap و /snap.
$ sudo ln -s /var/lib/snapd/snap /snap
الخطوة 2: تثبيت Rocket.Chat في لينكس
3. الآن بعد تثبيت Snapd، قم بتشغيل الأمر التالي لتثبيت rocketchat-server.
$ sudo snap install rocketchat-server
4. عند اكتمال تثبيت Snap، سيبدأ خادم rocket.chat الخاص بك في التشغيل والاستماع على البورت 3000 افتراضيًا. افتح متصفح الويب وأدخل العنوان التالي لإعداد rocket.chat على النظام.
http://SERVER_IP:3000
5. بعد تحميل معالج الإعداد، قم بتقديم اسم المستخدم الكامل للمستخدم الإداري، اسم المستخدم، البريد الإلكتروني التنظيمي، وكلمة المرور.

6. بعد ذلك، قم بتقديم معلومات التنظيم (نوع المؤسسة، الاسم، الصناعة، الحجم، البلد، والموقع الإلكتروني)، ثم انقر فوق المتابعة.

7. بعد ذلك، قم بتقديم معلومات الخادم (اسم الموقع، الافتراضي، نوع الخادم، وكذلك تمكين 2FA أم لا). ثم انقر فوق المتابعة.

٨. على الصفحة التالية، قم بتسجيل الخادم. هناك خياران هنا، الافتراضي هو استخدام البوابات والوكلاء المعدة مسبقًا والمقدمة من Rocket.Chat (هذا هو الخيار الموصى به).
بديلاً، يمكنك اختيار الاحتفاظ بمستقل وإنشاء حسابات مع موفري الخدمات، وتحديث الإعدادات المعدة مسبقًا، وإعادة تجميع التطبيقات المحمولة باستخدام الشهادات الخاصة بك. ثم انقر على متابعة.

اكتملت عملية الإعداد وتم تجهيز مساحة العمل الخاصة بك. انقر على انتقل إلى مساحة العمل الخاصة بك.


الخطوة ٣: تكوين الوكيل العكسي لـ Rocket.Chat
٩. الوكيل العكسي مثل NGINX أو Apache يتيح لك تكوين تطبيق Rocket.Chat بحيث يمكن الوصول إليه عبر نطاق أو نطاق فرعي (على سبيل المثال http://chat.tecmint.com) بدلاً من كتابة عنوان الخادم ومنفذ التطبيق (على سبيل المثال http://10.42.0.247:3000).
بالإضافة إلى ذلك، Rocket.Chat هو خادم تطبيقات طبقة وسطى لا يتعامل مع SSL/TLS. الوكيل العكسي يتيح لك أيضًا تكوين شهادات SSL/TLS لتمكين HTTPS.
تمكين الوكيل العكسي Nginx لـ Rocket.Chat
١٠. أولاً، قم بتثبيت حزمة NGINX إذا لم يتم تثبيتها بالفعل على نظامك.
$ sudo apt apt install nginx #Ubuntu/Debian $ sudo dnf install nginx #Fedora 22+/CentOS/RHEL 8 $ sudo yum install nginx #CentOS/RHEL 7
١١. بمجرد اكتمال تثبيت الحزمة، قم ببدء خدمة Nginx، وقم بتمكينها للبدء التلقائي في تشغيل النظام، وتحقق من حالتها للتأكد من تشغيلها.
$ sudo systemctl enable --now nginx $ sudo systemctl status nginx
١٢. بعد ذلك، قم بإنشاء ملف كتلة خادم افتراضي لتطبيق Rocket.Chat تحت الدليل /etc/nginx/conf.d/، على سبيل المثال.
$ sudo vim /etc/nginx/conf.d/chat.tecmint.com.conf
ثم قم بنسخ ولصق الضبط التالي في الملف (استبدل chat.tecmint.com بنطاق فرعي أو نطاق صالح خاص بك).
upstream backend { server 127.0.0.1:3000; } server { listen 80; server_name chat.tecmint.com; # You can increase the limit if you need to. client_max_body_size 200M; error_log /var/log/nginx/chat.tecmint.com.log; location / { proxy_pass http://backend/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 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-Forward-Proto http; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } }
احفظ الملف وأغلقه.
١٣. بعد ذلك، قم بفحص تكوين NGINX لأي مشكلة في الصياغة. إذا كان كل شيء على ما يرام، أعد تشغيل خدمة Nginx لتطبيق التغييرات الأخيرة.
$ sudo nginx -t $ sudo systemctl restart nginx
تمكين وكيل Apache العكسي لـ Rocket.Chat
١٤. ابدأ بتثبيت حزمة Apache2 إذا لم تكن مثبتة بعد، على نظامك.
$ sudo apt install apache2 #Ubuntu/Debian $ sudo dnf install httpd #Fedora 22+/CentOS/RHEL 8 $ sudo yum install httpd #CentOS/RHEL 7
١٥. بعد ذلك، قم ببدء تشغيل خدمة Apache وتمكينها وتحقق مما إذا كانت تعمل بشكل صحيح على النحو التالي.
----- On Ubuntu/Debian ----- $ sudo systemctl enable --now apache2 $ sudo systemctl status apache2 ----- On CentsOS/RHEL 7/8 ----- $ sudo systemctl enable --now httpd $ sudo systemctl status httpd
١٦. بعد ذلك، قم بإنشاء ملف مضيف افتراضي لتطبيق Rocket.Chat تحت الدليل /etc/apache2/sites-available/ أو /etc/httpd/conf.d/، على سبيل المثال.
----- On Ubuntu/Debian ----- $ sudo vim /etc/apache2/sites-available/chat.tecmint.com.conf ----- On CentsOS/RHEL 7/8 ----- $ sudo vim /etc/httpd/conf.d/chat.tecmint.com.conf
١٧. انسخ ولصق الضبط التالي فيه، استبدل chat.tecmint.com بنطاقك الصالح.
<VirtualHost *:80> ServerAdmin [email protected] ServerName chat.tecmint.com LogLevel info ErrorLog /var/log/chat.tecmint.com_error.log TransferLog /var/log/chat.tecmint.com_access.log <Location /> Require all granted </Location> RewriteEngine On RewriteCond %{HTTP:Upgrade} =websocket [NC] RewriteRule /(.*) ws://localhost:3000/$1 [P,L] RewriteCond %{HTTP:Upgrade} !=websocket [NC] RewriteRule /(.*) http://localhost:3000/$1 [P,L] ProxyPassReverse / http://localhost:3000/ </VirtualHost>
احفظ الملف وأغلقه.
١٨. في أوبونتو وديبيان، قم بتمكين الوحدات المطلوبة لـ apache2 وأعد تشغيل الخدمة لتطبيق التغييرات الأخيرة.
$ sudo a2enmod proxy_http $ sudo a2enmod proxy_wstunnel $ sudo a2enmod rewrite $ sudo systemctl restart apache2
في سنتوس/ريدهات وفيدورا، قم ببساطة بإعادة تشغيل خدمة Apache.
# systemctl restart httpd
19. الآن كل شيء مضبوط، افتح متصفحك واكتب العنوان التالي. يجب أن تكون تطبيق Rocket.Chat متاحًا باستخدام النطاق الذي تم تكوينه في خادم الوكيل.
http://chat.tecmint.com

20. الخطوة الحاسمة التالية هي إضافة فوائد الأمان والخصوصية لشهادة HTTPS إلى خدمة الدردشة الخاصة بك. لبيئة الإنتاج، نوصي باستخدام Let’s Encrypt وهي مجانية وموثوق بها من قبل معظم متصفحات الويب الحديثة.
يرجى ملاحظة أن Let’s Encrypt هي آلية التشغيل الآلي: يمكنك استخدام certbot، أداة مجانية مفتوحة المصدر للحصول على الشهادات وتثبيتها تلقائيًا أو الحصول عليها وتثبيتها يدويًا في توزيعات لينكس الرئيسية وخوادم الويب.
الخطوة 4: تثبيت عملاء Rocket.Chat على سطح المكتب
21. وأخيرًا وليس آخرًا، يمكنك تنزيل وتثبيت تطبيق سطح مكتب Rocket.Chat لنظام التشغيل Linux أو Mac أو Windows من موقع مشروع Rocket.Chat. كما يوفر تطبيقات للهواتف المحمولة لنظام Android و iOS.
لتثبيت التطبيق على سطح المكتب في نظام Linux، يمكنك تنزيل حزمة deb (x64) أو rpm(x64) حسب توزيعة Linux الخاصة بك.
$ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat_2.17.7_amd64.deb OR $ wget -c https://github.com/RocketChat/Rocket.Chat.Electron/releases/download/2.17.7/rocketchat-2.17.7.x86_64.rpm
٢٢. ثم قم بتثبيت الحزمة باستخدام مدير الحزم dpkg أو مدير الحزم rpm كما هو موضح.
$ sudo dpkg -i rocketchat_2.17.7_amd64.deb #Ubuntu/Debian $ sudo rpm -i rocketchat-2.17.7.x86_64.rpm #CentOS/RedHat
٢٣. بمجرد اكتمال تثبيت الحزمة، ابحث عن rocket.chat في قائمة النظام وقم بتشغيله. بعد تحميله، قم بإدخال عنوان URL الخاص بخادمك للاتصال به كما هو موضح في الصورة التوضيحية التالية.
Source:
https://www.tecmint.com/rocket-chat-open-source-team-chat-for-linux/