نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
Internet Relay Chat (IRC) هو شيء موجود منذ الأيام الأولى للإنترنت. في هذا الدليل ، سأوضح لك كيفية إعداد خادم IRC باستخدام InspIRCd مع Atheme للحصول على خدمات IRC إضافية. InspIRCd هو واحد من خوادم IRC القليلة المكتوبة من الصفر وواحدًا من عدد قليل من خوادم IRC لتوفير عدد قابل للضبط من الميزات من خلال استخدام نظام وحدة نمطية متقدم.
يجب أن يعمل InspIRCd مع أي حجم مثيل. الحد الأدنى لمتطلبات النظام هي وحدة معالجة مركزية 700 ميجا هرتز و 300 ميجا بايت من ذاكرة الوصول العشوائي.
عند تسجيل الدخول كمستخدم sudo ، يمكنك تحديث النظام إلى أحدث حالة مستقرة على النحو التالي:
apt-get update && apt-get upgrade
دعنا أولاً نصلب VPS قليلاً. سنقوم بتمكين ufw
وإضافة بعض القواعد. لنبدأ بتكوين المنافذ:
ufw allow 22/tcp
ufw allow 6667/tcp
ufw enable
سيطلب جدار الحماية مربع حوار لقبول التغييرات. فقط اضغط Yعلى نعم.
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
بعد ذلك يمكننا تثبيت InspIRCd ، بالنسبة إلى Ubuntu 16.04 ، تتوفر هذه الحزمة من خلال المستودع الرئيسي.
apt-get install inspircd
بمجرد الانتهاء من التثبيت ، يمكننا البدء في تكوين الخدمة. يمكن العثور على التكوين الرئيسي في /etc/inspircd/inspircd.conf
الملف ولديه تخطيط ملف XML.
nano /etc/inspircd/inspircd.conf
ابحث أولاً عن server
العلامة. هذه العلامة هي المكان الذي تُدخل فيه تفاصيل الخادم / الشبكة ، وتكون معظم هذه الإعدادات مرئية للمستخدمين.
name
: Hostname لخادمك. لا يحتاج إلى حل ، ولكن يجب أن يكون بناء الجملة الصحيح (على سبيل المثال:) sub.example.net
.description
: وصف الخادم. id
: SID لاستخدامه لهذا الخادم. لا ينبغي أن يكون هذا دون تعليق ما لم يكن هناك تعارض في SID. يجب أن يتكون هذا من ثلاثة أحرف. يجب أن يكون الحرف الأول رقمًا [0-9] ، وقد يكون الحرفان المتبقيان عبارة عن أحرف [AZ] أو أرقام.network
: اسم الشبكة المعطى عند الاتصال بالعملاء. يجب أن تكون هي نفسها على جميع الخوادم على الشبكة ولا تحتوي على مسافات.في دليلنا سنستخدم ما يلي:
<server name="irc.example.net"
description="My EXAMPLE.NET server"
id="5AA"
network="ExampleNET">
استبدل العلامة الأصلية بالعلامة أعلاه.
بعد ذلك ، ابحث عن admin
العلامة. هذه الإعدادات هي التفاصيل الإدارية لخادمك. تظهر عند كتابة /ADMIN
الأمر.
name
: الاسم الحقيقيnick
: لقب (يفضل ما تستخدمه على الشبكة).email
: عنوان البريد الإلكتروني. لا يجب أن يكون صالحًا ولكن هذا العنوان سيكون هو العنوان الذي يجب على المستخدمين الاتصال بك في حالة حدوث مشاكل.دعنا نستخدم المسؤول Xenial
:
<admin name="Xenial Xerius"
nick="xenial"
email="[email protected]">
انتقل الآن إلى bind address
. يتم استخدام هذه العلامة لفتح الخدمة. بشكل افتراضي سترى عنوان localhost IP ( 127.0.0.1
). هذا يعني أنه لا يمكن الاتصال بالخدمة من قبل العالم الخارجي. دعنا نفتح خدمتنا باستخدام أي عنوان على الإطلاق. سيؤدي ذلك إلى ربط الخدمة بأي واجهة إيثرنت تمتلكها الآلة:
<bind address="" port="6667" type="clients">
العلامة التالية ستكون power
العلامة. تحدد هذه العلامة كلمتين مرور.
diepass
: كلمة مرور لمشغلي لاستخدامها إذا كانوا يريدون إيقاف تشغيل الخادم.restartpass
: كلمة مرور لمشغلي لاستخدامها إذا كانوا بحاجة إلى إعادة تشغيل الخادم.من الأفضل تغيير كلمات المرور الافتراضية هذه:
<power diepass="die123" restartpass="restart123" pause="2">
الإعدادات الأخيرة التي سنقوم بتغييرها هي oper
الإعدادات. تحدد هذه معلومات تسجيل دخول عامل التشغيل.
name
: تسجيل دخول عامل التشغيل المستخدم للتشغيل (مثال:) /oper name password
.password
: نص غير مجزأ وبسيطhost
: ما هي أسماء المضيفات / IP المسموح بتشغيلها. يمكن فصل خيارات متعددة بمسافات ، ويسمح CIDR. يمكنك فقط استخدام *
أو @
لهذا القسم.type
: ما هو نوع العملية هذا. كتلة يجب أن يكون فوق ثلاث فئات محددة بالفعل: NetAdmin
، GlobalOp
و Helper
. هذا NetAdmin
هو الذي سنستخدمه.قم بتغيير oper
العلامة باستخدام المحتوى التالي. لاحظ أنه في مثالنا سنستخدم " @
" للمضيف. في بيئة الإنتاج ، لا يُفضل استخدام هذا:
<oper name="xenial"
password="mypassword"
host="*@*"
type="NetAdmin">
قبل أن إعادة تشغيل الخدمة، تحرير و motd
و rules
الملفات:
nano /etc/inspircd/inspircd.motd
استبدلها بنفسك ، على سبيل المثال:
This is the motd of example.net. Here you can list planned outages or information your users need to know about this IRC server.
أخيرا قم بتحرير ملفات القواعد.
nano /etc/inspircd/inspircd.rules
أضف قواعدك الخاصة ، على سبيل المثال:
The first rule of Fight Club is: You do not talk about Fight Club. The second rule of Fight Club is: You DO NOT TALK ABOUT FIGHT CLUB!
الآن بعد أن تم إعداد كل شيء ، أعد تشغيل خدمة IRC:
service inspircd restart
للتحقق من تشغيل كل شيء ، استعلم عن netstat
الأداة:
netstat -tulpn | grep -i inspircd
يجب أن يسرد البرنامج inspircd
، والاستماع على المنفذ 6666
:
tcp6 0 0 :::6667 :::* LISTEN 31313/inspircd
udp 0 0 0.0.0.0:39335 0.0.0.0:* 31313/inspircd
لاختبار الخادم ، يمكننا تثبيت عميل IRC طرفي. في نظام التشغيل Windows ، يمكنك استخدام برنامج مثل mIRC. في مثالنا سنستخدم weechat. هذا هو عميل IRC نصي يمكن استخدامه في جلسة عمل طرفية.
قم بتثبيت تطبيق Weechat من خلال المستودعات:
apt-get install weechat
بمجرد تثبيت هذا التطبيق ، قم بتشغيل عميل IRC هذا:
weechat
لعرض جميع الأوامر التي نقدمها Weechat ، يمكنك طلب الأمر help:
/help
للخروج من weechat ، يمكنك كتابة الأمر التالي:
/quit
أضف خادمنا المحلي إلى اتصال في Weechat:
/server add local localhost
الآن يمكننا الاتصال بملف تعريف الاتصال المسمى 'local':
/connect local
سترى منبثقة وقواعدنا في نافذة المحطة الطرفية.
لترقية نفسك إلى عامل ، اكتب ما يلي:
/oper xenial mypassword
سيظهر لنا هذا تأكيدًا على النجاح:
22:40:34 local -- | User mode [+o] by irc.example.net
22:40:34 local -- | You are now a NetAdmin
هذا كل شيء عن خادم IRC.
Atheme هي مجموعة من الخدمات لشبكات IRC المصممة لشبكات IRC الكبيرة ذات متطلبات قابلية التوسع العالية. يضيف خدمات إضافية مثل NickServ (تسجيل اللقب) لشبكة IRC الخاصة بك.
يمكن العثور على Atheme في مستودع Ubuntu:
apt-get install atheme-services
بمجرد تثبيت الثنائيات ، قم باستخراج مثال ملف التكوين ونسخه إلى atheme
المجلد:
gunzip /usr/share/doc/atheme-services/examples/atheme.conf.example.gz
cp /usr/share/doc/atheme-services/examples/atheme.conf.example /etc/atheme/atheme.conf
بعد ذلك ، قم بتحرير ملف التكوين هذا:
nano /etc/atheme/atheme.conf
ابحث أولاً عن loadmodule
أمر البروتوكول. يجب تعريف ذلك على النحو التالي:
loadmodule "modules/protocol/charybdis";
استبدال charybdis
ببروتوكول inspircd
:
loadmodule "modules/protocol/inspircd12";
البحث التالي عن الخدمة name
:
name = "services.int";
التغيير services.int
لمطابقة اسم المجال أو عنوان IP لخادم IRC الخاص بك:
name = "services.irc.example.net";
بمجرد الانتهاء من ذلك ، ابحث عن الرقم:
numeric = "00A";
الآن قم بتغييره إلى قيمة مختلفة عن القيمة الرقمية المستخدمة في علامة الخادم المستخدمة من قبل.
numeric = "77C";
بمجرد القيام بذلك ، دعنا نقوم بتكوين اسم الشبكة. البحث عن netname
:
netname = "misconfigured network";
قم بتغيير هذه القيمة إلى معلمة الشبكة في علامة الخادم.
netname = "ExampleNET";
غيّر قيمة hidehostsuffix
:
hidehostsuffix = "users.misconfigured";
قم بإزالة .misconfigured
:
hidehostsuffix = "users";
بعد ذلك ، قم بتغيير اسم المسؤول إلى الاسم الذي استخدمناه من قبل:
adminname = "xenial";
مطابقة adminemail
البريد الإلكتروني المرتبط المستخدم من قبل:
adminemail = "[email protected]";
الآن بعد أن تم ذلك ، نحن بحاجة إلى إنشاء ارتباط لأعلى خدماتنا. ابحث عن uplink
مقطعي الكود وقم بالتعليق عليهم جميعًا. أضف /*
قبل uplink{
الأمر وفي */
نهاية قوس الإغلاق.
ستبدو كما يلي:
/* this is an example for using an IPv6 address as an uplink */
/*
uplink "irc6.example.net" {
host = "::1";
password = "linkage";
port = 6667;
};
*/
بعد ذلك ، أضف الرابط الخاص بنا. سيتم تشغيل هذا الارتباط فقط على عنوان IP الخاص بالمضيف المحلي وعلى المنفذ 7001
. حدد كلمة مرور فائقة السرية (سنستخدمها لاحقًا):
uplink "services.irc.example.net" {
host = "127.0.0.1";
// password
// If you want to have same send_password and accept_password, you
// can specify both using 'password' instead of individually.
password = "SuperSecret123456";
port = 7001;
};
أخيرا ابحث عن تعريفات خدمتنا. ابدأ nickserv
بالحظر أولاً.
في كتلة nickserv ، ابحث عن host
العلامة وقم بتغييرها إلى ExampleNet/services/NickServ
:
nickserv {
...<<truncated>>...
/* (*)host
* The hostname we want NickServ to have.
*/
host = "ExampleNet/services/NickServ";
/* (*)real
* The realname (gecos) information we want NickServ to have.
*/
real = "Nickname Services";
...<<truncated>>...
قم بتغيير hostname tag
جميع الخدمات الأخرى أيضًا:
nickserv: ExampleNet/services/NickServ
chanserv: ExampleNet/services/ChanServ
global: ExampleNet/services/Global
infoserv: ExampleNet/services/InfoServ
operserv: ExampleNet/services/OperServ
saslserv: ExampleNet/services/SaslServ
memoserv: ExampleNet/services/MemoServ
gameserv: ExampleNet/services/GameServ
botserv: ExampleNet/services/BotServ
groupserv: ExampleNet/services/GroupServ
hostserv: ExampleNet/services/HostServ
helpserv: ExampleNet/services/HelpServ
alis: ExampleNet/services/ALIS
بمجرد القيام بذلك ، قم بحفظ ملف التكوين وإنهائه.
لاختبار كل شيء ، قم بتشغيل atheme-services
ثنائي:
atheme-services
يجب أن يخبرك هذا بالضبط ما إذا كان يعمل أم لا. إذا كنت لا تتلقى مخرجات مثل ما هو موضح أدناه ، فارجع وتحقق من وجود أي أخطاء في ملف التكوين:
[19/02/2018 23:06:24] db-open-read: database '/var/lib/atheme/services.db' does not yet exist; a new one will be created.
[19/02/2018 23:06:24] pid 1929
[19/02/2018 23:06:24] running in background mode from /
الآن قم بتمكين الخدمة عن طريق تحرير ملف الخدمات:
nano /etc/default/atheme-services
قم بتغيير ENABLED
القيمة:
DAEMON_OPTS=""
ENABLED=1
الآن يمكننا بدء الخدمة:
service atheme-services restart
تحقق من حالتها:
service atheme-services status
سيؤدي ذلك إلى عرض نتائج مماثلة:
● atheme-services.service - LSB: Atheme-services daemon init.d script
Loaded: loaded (/etc/init.d/atheme-services; bad; vendor preset: enabled)
Active: active (running) since Wed 2018-02-19 23:45:05 UTC; 8s ago
Docs: man:systemd-sysv-generator(8)
Feb 19 23:45:05 vultr.guest atheme-services[2810]: Starting Atheme IRC Services: atheme-service
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] atheme 6.0.11 is start
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] Module operserv/sgline
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] module_load(): module
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] /etc/atheme/atheme.con
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] db-open-read: database
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] pid 2824
Feb 19 23:45:05 vultr.guest atheme-services[2810]: [19/02/2018 23:45:05] running in background
Feb 19 23:45:05 vultr.guest atheme-services[2810]: .
Feb 19 23:45:05 vultr.guest systemd[1]: Started LSB: Atheme-services daemon init.d script.
قبل أن ننتهي ، نحتاج إلى إضافة خدمات Atheme إلى InspIRCd:
nano /etc/inspircd/inspircd.conf
في نهاية الملف أضف الأسطر التالية:
<bind address="127.0.0.1" port="7001" type="servers">
<uline server="services.irc.example.net">
<link name="services.irc.example.net"
ipaddr="127.0.0.1"
port="7001"
allowmask="127.0.0.1"
sendpass="SuperSecret123456"
recvpass="SuperSecret123456">
<chanprotect noservices="no"
qprefix="~"
aprefix="&">
# Modules needed for services to function
<module name="m_chanprotect.so">
<module name="m_halfop.so">
<module name="m_services_account.so">
<module name="m_deaf.so">
<module name="m_spanningtree.so">
<module name="m_globops.so">
<module name="m_cban.so">
<module name="m_svshold.so">
<module name="m_hidechans.so">
<module name="m_servprotect.so">
<module name="m_chghost.so">
<module name="m_namesx.so">
<module name="m_uhnames.so">
أعد تشغيل خدمة InspIRCd الآن:
service inspircd restart
تأكد من أن كل شيء يسير على ما يرام:
service inspircd status
ابدأ الآن عميلنا Weechat مرة أخرى:
weechat
الاتصال بخادمنا المحلي:
/connect local
ستظهر لك واحدة من خدمات Atheme المنبثقة على الفور: NickServ. سوف يرحب بك بمعلومات عن نفسه.
23:12:48 local -- | NickServ (NickServ@ExampleNet/services/NickServ): Welcome to ExampleNet,
| root! Here on ExampleNet, we provide services to enable the registration of
| nicknames and channels! For details, type /msg NickServ help and /msg
| ChanServ help.
يمكنك الاستعلام عن NickServ ومعرفة أوامرها المتاحة مع ما يلي:
/msg NickServ help
نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول
يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".
هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.
اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.
اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.
لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟
مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.
ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!
ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.
أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد