إنشاء سيرفر محادثات خاص بالبيت
#مقدمة
في هذه المشاركة سوف أشرح طريقة إنشاء سيرفر محادثات٬ مع إمكانية دخول عليه
- من تطبيق خاص للأندوريد والآيفون
- من المتصفح
- من برنامج على جهازك اللابتوب
وأيضًا سأتطرق إلى كيف يمكن الدخول على سيرفر المحادثات من خارج شبكة البيت٬ بحيث أنه يمكنك اعتماد السيرفر كبرنامج محادثات سري لك ولمن تحب.
الخيارات المتاحة
برامج المحادثات المفتوحة المصدر التي كانت تستحق الاطلاع عليها اثنان
- chat rocket روكيت شات
- mattermost ماتر موست
وبعد المقارنة٬ وجدت روكيت شات أفضل من ماتر موست لعدة أسباب:
١- يدعم تطبيق native للأندرويد والآيفون
٢- مذكرة استخدامه جدًا رائع وشبه مكتمل
٣- لدعمه إضافات مثل محادثات الفيديو وغيرها٬ لم أتعمق بالبحث فيها للآن
التحميل٬ والتثبيت
أحب دائما استخدام نظام تشغيل centos 7 وذلك لاعتيادي عليه٬ في الموقع شروحات لأنظمة تشغيل أخرى فاختر ما يناسبك.
هنا موقع شرح خطوات التثبيت لمختلف الأنظمة
فأولا سأقوم بإنشاء VM وسأضع عليه centos 7 بالنسبة للتثبيت لم أواجه أي مشكلة ما عدا ف نهاية ظهرت لي مشكلة بسيطة وتم حلها
خطوات التثبيت
ادخل على الروت وضع الباسورد su -
yum -y install epel-release nano && yum -y update
nano /etc/yum.repos.d/mongodb.repo
قم بلصق:
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
ثم CTRL-O, CTRL-X
للخروج
npm install -g inherits n
n 8.9.3
cd /opt
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
tar zxvf rocket.chat.tgz
mv bundle Rocket.Chat
cd Rocket.Chat/programs/server
npm install
cd ../..
قبل أن تقوم بالتالي:
export PORT=3000
export ROOT_URL=http://your-host-name.com-as-accessed-from-internet:3000/
export MONGO_URL=mongodb://localhost:27017/rocketchat
بالنسبة ل ROOT_URL
سنحتاج للخطوات التالية لاستبدالها برابطنا الخاص:
شركة الاتصالات stc تقوم بتوفير dynamic ip address للمستخدمين٬ بمعنى آخر٬ أن ip البيت يتغير وليس ثابت٬ فلذلك سنحتاج إلى شيء يقوم بتتبع ip السيرفر٬ والذي سيحل لنا هذه المشكلة موقع no-ip وهو موقع مجاني يمكنك تتبع حتى ثلاث ip ٬ قم بالتسجيل في الموقع ثم اذهب إلى myaccount في أعلى الصفحة
الصورتين التالية توضح طريقة تسجيل رابطنا الخاص:
فاستبدل الآن رابطنا الخاص في ROOT_URL
ففي حالتي
export ROOT_URL=http://alsayedhost.ddns.net:3000/
اقتربنا من النهاية
chkconfig mongod on
systemctl start mongod
node main.js
إذا ظهرت لك هذه الشاشة فتهانينا ! سيرفر المحادثات يعمل وادخل الأن على ipaddress الجهاز ويمكن معرفة ذلك بأمر ip addr
ادخل على http://192.168.100.32:3000/
وستظهر لك هذه الصفحة٬ سجل لك عضوية جديدة
في حال واجهتك المشكلة التالية:
Exception in callback of async function: Error: /lib64/libstdc++.so.6: version CXXABI_1.3.8 not found (required by /opt/rocketchat/rocket.chat.0.62.0 rc.1/programs/server/npm/node_modules/sharp/build/Release/sharp.node)
قم بالتالي:
cd /opt/Rocket.Chat/programs/server/npm/node_modules
npm rebuild sharp
cd ~/opt/Rocket.Chat
وجرب الآن
node main.js
الدخول على السيرفر من خارج شبكة البيت
للدخول على السيرفر من خارج شبكة البيت٬ نحتاج لإضافة إعدادات في رواتر الانترنت الموجود بالبيت بالنسبة لي٬ فراوتر البيت Huwaei HG8245
موقع الرواتر: 192.169.100.1
وقم بالتالي:
الآن جرب من خارج شبكة البيت مثل 3G الهاتف وادخل على
http://alsayedhost.ddns.net:3000/
ستظهر لك صفحة السيرفر !
حتى تتمكن من الدخول على نفس الصفحة من نفس الرابط نحتاج لإضافة إعداد آخر:
وجرب الآن من شبكة البيت الدخول على الرابط الخاص بموقع المحادثات.
ستظهر لك صفحة السيرفر !
يمكنك الآن فتح التطبيق وعند طلبه لرابط السيرفر ضع رابطك الخاص
وألف مبروك !