उबंटू 16.04 एलटीएस पर एक इंस्पिरैकड आईआरसी सर्वर स्थापित करना

इंटरनेट रिले चैट (आईआरसी) एक ऐसी चीज है जो इंटरनेट के शुरुआती दिनों से आसपास है। इस गाइड में, मैं आपको दिखाऊंगा कि IRC सर्वर को अतिरिक्त IRC सेवाओं के लिए Atheme के साथ InspIRCd के साथ कैसे सेटअप किया जाए। InspIRCd खरोंच से लिखे गए कुछ IRC सर्वरों में से एक है और एक उन्नत मॉड्यूल सिस्टम के उपयोग के माध्यम से ट्यून करने योग्य संख्या प्रदान करने के लिए केवल कुछ IRC सर्वरों में से एक है।

आवश्यक शर्तें

InspirCd को किसी भी उदाहरण के आकार के साथ काम करना चाहिए। यह न्यूनतम सिस्टम आवश्यकताएँ हैं 700MHz CPU और 300MB RAM।

सिस्टम को अपडेट करें

एक सूडो उपयोगकर्ता के रूप में लॉग इन करते समय, आप सिस्टम को नवीनतम स्थिर स्थिति में निम्नानुसार अपडेट कर सकते हैं:

apt-get update && apt-get upgrade 

फ़ायरवॉल को कॉन्फ़िगर करना

पहले वीपीएस को थोड़ा सख्त करें। हम ufwकुछ नियमों को सक्षम और जोड़ेंगे। चलिए बंदरगाहों को कॉन्फ़िगर करना शुरू करते हैं:

ufw allow 22/tcp
ufw allow 6667/tcp
ufw enable

फ़ायरवॉल परिवर्तनों को स्वीकार करने के लिए एक संवाद को संकेत देगा। बस Yहां के लिए दबाएं ।

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

InspIRCd को स्थापित और कॉन्फ़िगर करें

अगला हम InspIRCd स्थापित कर सकते हैं, Ubuntu 16.04 के लिए यह पैकेज मुख्य भंडार के माध्यम से उपलब्ध है।

apt-get install inspircd 

एक बार स्थापना हो जाने के बाद, हम सेवा को कॉन्फ़िगर करना शुरू कर सकते हैं। मुख्य कॉन्फ़िगरेशन /etc/inspircd/inspircd.confफ़ाइल में पाया जा सकता है और इसमें XML फ़ाइल का लेआउट है।

nano /etc/inspircd/inspircd.conf

पहले serverटैग को खोजें। यह टैग वह जगह है जहाँ आप अपने सर्वर / नेटवर्क का विवरण दर्ज करते हैं, इनमें से अधिकांश सेटिंग्स आपके उपयोगकर्ताओं को दिखाई देती हैं।

  • name: अपने सर्वर का होस्टनाम। इसे हल करने की आवश्यकता नहीं है, लेकिन सही सिंटैक्स होने की आवश्यकता है (जैसे:) sub.example.net
  • description: सर्वर विवरण।
  • id: इस सर्वर के लिए उपयोग करने के लिए 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। इस टैग का उपयोग सेवा को खोलने के लिए किया जाता है। डिफ़ॉल्ट रूप से आप लोकलहोस्ट आईपी ( 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: क्या होस्टनाम / आईपी को संचालित करने की अनुमति है। कई विकल्प रिक्त स्थान द्वारा अलग किए जा सकते हैं, और 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! 

अब जब सब कुछ सेट हो गया है, आईआरसी सेवा को फिर से शुरू करें:

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

सर्वर का परीक्षण करने के लिए हम एक टर्मिनल आईआरसी क्लाइंट स्थापित कर सकते हैं। विंडोज पर आप mIRC जैसे प्रोग्राम का उपयोग कर सकते हैं। हमारे उदाहरण में हम वीचैट का उपयोग करेंगे। यह एक टेक्स्ट आधारित IRC क्लाइंट है जिसे टर्मिनल सत्र में उपयोग किया जा सकता है।

रिपॉजिटरी के माध्यम से वीचैट एप्लिकेशन इंस्टॉल करें:

apt-get install weechat 

एक बार जब यह एप्लिकेशन इंस्टॉल हो जाए, तो इस IRC क्लाइंट को चलाएं:

weechat

वीचैट की सभी कमांड को देखने के लिए, आप मदद कमांड का अनुरोध कर सकते हैं:

/help

वीचैट से बाहर निकलने के लिए आप निम्न कमांड टाइप कर सकते हैं:

/quit    

वीचैट में हमारे स्थानीय सर्वर को एक कनेक्शन में जोड़ें:

/server add local localhost

अब हम 'स्थानीय' नाम के कनेक्शन प्रोफाइल से जुड़ सकते हैं:

/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

यह हमारे आईआरसी सर्वर के लिए है।

आईआरसी सेवाएँ स्थापित करना - Atheme

एटहेम आईआरसी नेटवर्क के लिए सेवाओं का एक समूह है जो उच्च मापनीयता आवश्यकताओं के साथ बड़े आईआरसी नेटवर्क के लिए डिज़ाइन किया गया है। यह आपके IRC नेटवर्क में अतिरिक्त सेवाओं जैसे NickServ (उपनाम पंजीकरण) को जोड़ता है।

एंथम उबंटू रिपॉजिटरी में पाया जा सकता है:

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अपने आईआरसी सर्वर के डोमेन नाम या आईपी पते से मिलान करने के लिए बदलें :

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;
};
*/

इसके बाद, हमारे अपने अपलिंक को जोड़ें। यह अपलिंक केवल हमारे लोकलहोस्ट के आईपी और पोर्ट पर चलेगा 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

हमारे स्थानीय सर्वर से कनेक्ट करें:

/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


Leave a Comment

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ