ديف أوبس

تنصيب خوادم IRC وJabber على أوبنتو

كيفية تنصيب وإعداد خوادم المحادثة IRC وJabber على أوبنتو: دليل شامل للمختصين

الكلمات المفتاحية:

IRC, Jabber, XMPP, خادم محادثة, Ubuntu, إعداد خادم, تنصيب ejabberd, تنصيب InspIRCd, أوبنتو سيرفر, خوادم الدردشة, أمان الشبكة, محادثة فورية, نظام لينوكس, إدارة خوادم, شهادات SSL, الاتصالات المشفرة


المقدمة

في عالم يتجه بشكل متسارع نحو الخصوصية والسيادة الرقمية، بات الاعتماد على خوادم المحادثة الذاتية ضرورة ملحة للمؤسسات والمستخدمين الأفراد. يعتبر بروتوكول IRC (Internet Relay Chat) وبروتوكول Jabber (المعروف أيضاً بـ XMPP) من أكثر بروتوكولات المحادثة شهرة وموثوقية. يجمع هذان النظامان بين البساطة والمرونة والقدرة على التوسعة، مما يجعلهما خياراً مثالياً لبناء بيئات محادثة آمنة ومستقلة.

في هذا المقال الموسّع، يتم عرض دليل تقني مفصل حول كيفية تنصيب وإعداد خوادم IRC وJabber على نظام أوبنتو، شاملاً جميع الخطوات العملية، من التثبيت حتى التكوين والتأمين.


الجزء الأول: إعداد خادم IRC باستخدام InspIRCd

1. المتطلبات الأساسية

قبل البدء بتنصيب InspIRCd، تأكد من توفر:

  • جهاز يعمل بنظام Ubuntu Server 20.04 أو أعلى.

  • صلاحيات المستخدم الجذر (sudo).

  • اتصال إنترنت مستقر.

  • فتح المنافذ 6667 و6697 (IRC غير المشفر والمشفر).

2. تثبيت InspIRCd

bash
sudo apt update sudo apt install inspircd -y

بعد اكتمال التثبيت، يتم إنشاء ملفات التكوين في المسار:

/etc/inspircd/

3. إعداد ملف التكوين الأساسي

توجد عدة ملفات هامة ضمن /etc/inspircd, لكن الملف الأهم هو inspircd.conf.

مثال لتكوين أولي:

conf

يجب أيضاً إعداد شهادات SSL لاستخدام المنفذ المشفر (6697):

bash
sudo mkdir /etc/inspircd/certs cd /etc/inspircd/certs sudo openssl req -new -x509 -days 365 -nodes -out inspircd.pem -keyout inspircd.key

ثم تعديل التكوين للإشارة إلى الشهادة:

conf

4. بدء الخدمة وتفعيلها

bash
sudo systemctl start inspircd sudo systemctl enable inspircd sudo systemctl status inspircd

الجزء الثاني: إعداد خادم Jabber باستخدام ejabberd

1. المتطلبات الأساسية

  • Ubuntu Server 20.04 أو أحدث.

  • ذاكرة لا تقل عن 2 غيغابايت.

  • اسم نطاق مخصص للخادم (مثلاً: chat.example.com).

  • فتح المنفذ 5222 و5269 و5280.

2. تثبيت ejabberd

يمكن تثبيت ejabberd من المستودعات الرسمية:

bash
sudo apt update sudo apt install ejabberd -y

أو باستخدام الحزمة الرسمية من الموقع:

bash
wget https://www.process-one.net/downloads/ejabberd/23.10/ejabberd-23.10-linux-x64-installer.run chmod +x ejabberd-23.10-linux-x64-installer.run sudo ./ejabberd-23.10-linux-x64-installer.run

3. التكوين الأساسي

ملف التكوين الرئيسي موجود في:

/etc/ejabberd/ejabberd.yml

أهم الإعدادات:

yaml
hosts: - "chat.example.com" listen: - port: 5222 module: ejabberd_c2s starttls: true certfile: "/etc/ejabberd/certs/chat.example.com.pem" protocol_options: - no_sslv3 max_stanza_size: 65536

يُنصح باستخدام شهادة SSL موثوقة. يمكن توليد شهادة باستخدام Let’s Encrypt:

bash
sudo apt install certbot sudo certbot certonly --standalone -d chat.example.com

ثم نسخ الشهادة إلى مجلد ejabberd المناسب.

4. إنشاء مستخدم إداري

bash
sudo ejabberdctl register admin chat.example.com password123

5. تفعيل لوحة التحكم

يمكن الوصول إلى لوحة ejabberd من خلال:

http://chat.example.com:5280/admin

ويجب تعديل الصلاحيات لتفعيل المستخدم الإداري في ejabberd.yml:

yaml
acl: admin: user: - "admin": "chat.example.com" access_rules: configure: admin configure_admin: admin

مقارنة تقنية بين IRC وJabber

العنصر IRC Jabber (XMPP)
البروتوكول نصي بسيط يعتمد على TCP XML عبر TCP
الدعم المشفر SSL/TLS يدوي STARTTLS مدمج
إمكانية التوسعة منخفضة عالية جداً عبر وحدات XEP
دعم المراسلة غير المتزامنة غير مدعوم مدعوم
إدارة المستخدمين يدوية عبر ملفات التكوين واجهات رسومية أو CLI
سهولة الاستخدام مناسب للمستخدمين التقنيين مناسب للمؤسسات والمستخدمين النهائيين

التهيئة الأمنية المتقدمة

1. تأمين الاتصال عبر الجدار الناري

bash
sudo ufw allow 6667/tcp sudo ufw allow 6697/tcp sudo ufw allow 5222/tcp sudo ufw allow 5269/tcp sudo ufw allow 5280/tcp sudo ufw enable

2. إعداد الحماية من هجمات DDoS

  • استخدام أدوات مثل fail2ban.

  • تحديد عدد الاتصالات في وقت محدد.

  • استخدام IP whitelisting في الشبكات الداخلية.


الإدارة والمراقبة

1. مراقبة أداء InspIRCd

  • استخدام أدوات خارجية مثل Munin أو Zabbix.

  • مراقبة الاتصالات النشطة والجلسات.

2. مراقبة ejabberd

bash
sudo ejabberdctl stats sudo ejabberdctl connected_users

يمكن كذلك تفعيل خاصية SNMP لتكامل ejabberd مع أدوات المراقبة الشبكية.


التحديثات والصيانة

تحديث InspIRCd

bash
sudo apt update sudo apt upgrade inspircd

تحديث ejabberd

إذا تم تثبيت ejabberd عبر الحزمة الرسمية، يجب تحميل النسخة الجديدة وتثبيتها مكان القديمة. ينصح دائماً بعمل نسخة احتياطية لملف ejabberd.yml وقاعدة البيانات.


الخاتمة

إعداد خوادم IRC وJabber على Ubuntu يوفر بنية اتصالات فورية مستقلة وآمنة. بفضل المرونة التي توفرها هاتان المنصتان، يمكن بناء حلول مخصصة سواءً للمؤسسات التعليمية أو للشركات أو حتى للمجتمعات التقنية الصغيرة. يبقى التحدي الرئيسي في تأمين الخوادم وصيانتها الدورية، وهو ما يبرز أهمية الجمع بين المعرفة التقنية والممارسات الأمنية الصارمة لضمان أداء واستمرارية النظام.


المراجع:

  1. https://docs.ejabberd.im

  2. https://www.inspircd.org/docs/