Postavljanje InspIRCd IRC poslužitelja na Ubuntu 16.04 LTS

Internet Relay Chat (IRC) je nešto što postoji od ranih dana interneta. U ovom vodiču pokazat ću vam kako postaviti IRC poslužitelj s InspIRCd s Athemeom za dodatne IRC usluge. InspIRCd je jedan od rijetkih IRC poslužitelja napisanih od nule i jedan od samo nekoliko IRC poslužitelja koji pružaju podesivi broj značajki korištenjem naprednog sustava modula.

Preduvjeti

  • Instanca poslužitelja Ubuntu 16.04 LTS x64.
  • Korisnik sudo (ili root račun) .
  • (Neobavezno) DNS naziv za vašu instancu.

InspIRCd bi trebao raditi s bilo kojom veličinom instance. Minimalni zahtjevi sustava su 700MHz CPU i 300MB RAM-a.

Ažurirajte sustav

Kada se prijavite kao sudo korisnik, možete ažurirati sustav na najnoviji stabilan status na sljedeći način:

apt-get update && apt-get upgrade 

Konfiguriranje vatrozida

Prvo malo učvrstimo VPS. Omogućit ćemo ufwi dodati nekoliko pravila. Počnimo s konfiguriranjem portova:

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

Vatrozid će zatražiti dijaloški okvir za prihvaćanje promjena. Samo pritisnite Yza da.

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

Instalirajte i konfigurirajte InspIRCd

Zatim možemo instalirati InspIRCd, za Ubuntu 16.04 ovaj paket je dostupan preko glavnog spremišta.

apt-get install inspircd 

Nakon što je instalacija gotova, možemo početi konfigurirati uslugu. Glavna konfiguracija se može pronaći u /etc/inspircd/inspircd.confdatoteci i ima izgled XML datoteke.

nano /etc/inspircd/inspircd.conf

Prvo potražite serveroznaku. Ova oznaka je mjesto gdje unosite detalje vašeg poslužitelja/mreže, većina ovih postavki vidljiva je vašim korisnicima.

  • name: Ime hosta vašeg poslužitelja. Ne mora se riješiti, ali mora biti ispravna sintaksa (npr.: sub.example.net).
  • description: Opis poslužitelja.
  • id: SID koji se koristi za ovaj poslužitelj. Ovo se ne smije ukloniti iz komentara osim ako postoji sukob SID-a. Ovo mora imati tri znaka. Prvi znak mora biti znamenka [0-9], preostala dva znaka mogu biti slova [AZ] ili znamenke.
  • network: Ime mreže dano pri povezivanju s klijentima. Trebao bi biti isti na svim poslužiteljima na mreži i ne bi trebao sadržavati razmake.

U našem vodiču koristit ćemo sljedeće:

<server name="irc.example.net"
        description="My EXAMPLE.NET server"
        id="5AA"            
        network="ExampleNET">

Zamijenite izvornu oznaku gornjom.

Zatim potražite adminoznaku. Ove postavke su administrativni detalji vašeg poslužitelja. Prikazuju se kada upišete /ADMINnaredbu.

  • name: Pravo ime
  • nick: Nadimak (po mogućnosti ono što koristite na mreži).
  • email: email adresa. Ne mora biti valjana, ali ova adresa će biti ona koja će vas korisnici kontaktirati u slučaju problema.

Koristimo administratora Xenial:

<admin name="Xenial Xerius"
   nick="xenial"
   email="[email protected]">

Sada prijeđite na bind address. Ova oznaka se koristi za otvaranje usluge. Prema zadanim postavkama vidjet ćete IP lokalnog hosta ( 127.0.0.1). To znači da vanjski svijet ne može kontaktirati uslugu. Otvorimo našu uslugu tako da uopće ne koristimo adresu. To će uzrokovati da se usluga veže na bilo koje ethernet sučelje koje posjeduje stroj:

<bind address="" port="6667" type="clients">

Sljedeća oznaka bit će poweroznaka. Ova oznaka definira dvije lozinke.

  • diepass: Lozinka koju operateri koriste ako žele isključiti poslužitelj.
  • restartpass: Lozinka koju će operateri koristiti ako trebaju ponovno pokrenuti poslužitelj.

Najbolje je promijeniti ove zadane lozinke:

<power diepass="die123" restartpass="restart123" pause="2">

Posljednje postavke koje ćemo mijenjati su operpostavke. Oni definiraju prijave operatera.

  • name: prijava operatora koja se koristi za rad (Primjer: /oper name password).
  • password: nehaširani i običan tekst
  • host: Koja imena hostova/IP-ovi smiju raditi. Više opcija može se odvojiti razmacima, a CIDR-ovi su dopušteni. Možete koristiti samo *ili @za ovaj odjeljak.
  • type: Koja je ovo vrsta opere. Gornji blok trebao bi imati tri već definirane klase: NetAdmin, GlobalOpi Helper. To NetAdminje onaj koji ćemo koristiti.

Promijenite operoznaku pomoću sljedećeg sadržaja. Imajte na umu da ćemo za naš primjer koristiti " @" za host. U proizvodnom okruženju nije poželjno koristiti ovo:

<oper name="xenial"
   password="mypassword"
   host="*@*"
   type="NetAdmin">

Prije nego što smo pokrenuli servis, uredite motdi rulesdatoteke:

nano /etc/inspircd/inspircd.motd

Zamijenite ga svojim, na primjer:

This is the motd of example.net. Here you can list planned outages or information your users need to know about this IRC server.

Na kraju uredite datoteke s pravilima.

nano /etc/inspircd/inspircd.rules

Dodajte svoja pravila, na primjer:

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! 

Sada kada je sve postavljeno, ponovno pokrenite IRC uslugu:

service inspircd restart

Da biste provjerili radi li sve, postavite upit netstatalatu:

netstat -tulpn | grep -i inspircd

Trebao bi navesti program koji inspircdsluša na portu 6666:

tcp6       0      0 :::6667                 :::*                    LISTEN      31313/inspircd
udp        0      0 0.0.0.0:39335           0.0.0.0:*                           31313/inspircd

Za testiranje poslužitelja možemo instalirati terminalski IRC klijent. U sustavu Windows možete koristiti program kao što je mIRC. U našem primjeru koristit ćemo weechat. Ovo je IRC klijent baziran na tekstu koji se može koristiti u terminalskoj sesiji.

Instalirajte weechat aplikaciju kroz spremišta:

apt-get install weechat 

Nakon što je ova aplikacija instalirana, pokrenite ovaj IRC klijent:

weechat

Za pregled svih naredbi koje weechat nudi, možete zatražiti naredbu za pomoć:

/help

Za izlaz iz weechata možete upisati sljedeću naredbu:

/quit    

Dodajte naš lokalni poslužitelj na vezu u weechatu:

/server add local localhost

Sada se možemo povezati s profilom veze pod nazivom 'local':

/connect local

Vidjet ćete naše motd i pravila iskačući u prozoru terminala.

Da biste se promovirali u operatera, upišite sljedeće:

/oper xenial mypassword

Ovo će nam pokazati potvrdu uspjeha:

22:40:34   local  -- | User mode [+o] by irc.example.net
22:40:34   local  -- | You are now a NetAdmin

To je to za naš IRC poslužitelj.

Instaliranje IRC servisa - Atheme

Atheme je skup usluga za IRC mreže dizajniran za velike IRC mreže s visokim zahtjevima za skalabilnost. Dodaje dodatne usluge kao što je NickServ (registracija nadimka) vašoj IRC mreži.

Atheme se može naći u Ubuntu repozitoriju:

apt-get install atheme-services

Nakon što su binarne datoteke instalirane, izvucite primjer konfiguracijske datoteke i kopirajte je u athememapu:

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

Zatim uredite ovu konfiguracijsku datoteku:

nano /etc/atheme/atheme.conf

Prvo potražite loadmodulenaredbu protokola. To bi trebalo definirati na sljedeći način:

loadmodule "modules/protocol/charybdis";

Zamijenite charybdiss protokolom inspircd:

loadmodule "modules/protocol/inspircd12";

Sljedeća pretraga usluge name:

name = "services.int";

Promijenite tako services.intda odgovara nazivu domene ili IP adresi vašeg IRC poslužitelja:

name = "services.irc.example.net";

Nakon što je to gotovo, potražite broj:

numeric = "00A";

Now change it to a value different than the numeric used in the server tag used before.

numeric = "77C";

Once this is done, let's configure the network name. Search for netname:

netname = "misconfigured network";

Change this value to the network parameter in the server tag.

netname = "ExampleNET";

Change the value of the hidehostsuffix:

hidehostsuffix = "users.misconfigured";

Remove the .misconfigured:

hidehostsuffix = "users";

Next change the admin name to the one we used before:

adminname = "xenial";

Match the adminemail to the associated email used before:

adminemail = "[email protected]";

Now that this is done, we need to create an uplink for our services. Find the two uplink code blocks and comment them all out. Add /* before the uplink{ command and */ at the end of the closing brace.

It will look like the following:

/* this is an example for using an IPv6 address as an uplink */
/*
uplink "irc6.example.net" {
        host = "::1";
        password = "linkage";
        port = 6667;
};
*/

Zatim dodajte našu vlastitu vezu. Ova uplink će se izvoditi samo na IP-u našeg lokalnog hosta i na portu 7001. Navedite super tajnu lozinku (koristit ćemo je kasnije):

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

Konačno potražite definicije naših usluga. nickservPrvo počnite s blokom.

U bloku nickserva potražite hostoznaku i promijenite je u 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>>...

Promijenite i hostname tagza sve ostale usluge:

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

Kada to učinite, spremite i zatvorite konfiguracijsku datoteku.

Da biste sve testirali, pokrenite atheme-servicesbinarni program:

atheme-services

Ovo bi vam trebalo točno reći radi li ili ne. Ako ne primate izlaz kao što je prikazano u nastavku, vratite se i provjerite ima li grešaka u konfiguracijskoj datoteci:

[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 /

Sada omogućite uslugu uređivanjem datoteke usluga:

nano /etc/default/atheme-services

Promijenite ENABLEDvrijednost:

DAEMON_OPTS=""
ENABLED=1

Sada možemo pokrenuti uslugu:

service atheme-services restart

Provjerite njegov status:

service atheme-services status

Ovo će vratiti slične rezultate:

● 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.

Prije nego što završimo, moramo dodati naše Atheme usluge u InspIRCd:

nano /etc/inspircd/inspircd.conf

Na kraju datoteke dodajte ove retke:

<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">    

Sada ponovo pokrenite uslugu InspIRCd:

service inspircd restart

Uvjerite se da sve radi dobro:

service inspircd status

Sada ponovno pokrenite naš weechat klijent:

weechat

Povežite se s našim lokalnim poslužiteljem:

/connect local

Vidjet ćete da se odmah pojavljuje jedna od naših Atheme usluga: NickServ. Dočekat će vas informacijama o sebi.

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 možete postaviti upit i saznati njegove dostupne naredbe na sljedeći način:

/msg NickServ help

Instalirajte Plesk na CentOS 7

Instalirajte Plesk na CentOS 7

Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka

Postavite Cacti na Debian Jessie

Postavite Cacti na Debian Jessie

Uvod Cacti je alat otvorenog koda za praćenje i crtanje koji se u potpunosti temelji na RRD podacima. Putem Cactusa možete pratiti gotovo sve vrste uređaja

Instalirajte Lets Encrypt SSL na WordPress aplikaciju jednim klikom

Instalirajte Lets Encrypt SSL na WordPress aplikaciju jednim klikom

Uvod Lets Encrypt je usluga za izdavanje certifikata koja nudi besplatne TLS/SSL certifikate. Certbot pojednostavljuje proces instalacije,

Kako postaviti Tekkit Classic Server na Ubuntu 16.10

Kako postaviti Tekkit Classic Server na Ubuntu 16.10

Korištenje drugog sustava? Što je Tekkit Classic? Tekkit Classic je modpack za igru ​​koju svi znaju i vole; Minecraft. Sadrži neke od ver

Postavite iRedMail na Debian Wheezy

Postavite iRedMail na Debian Wheezy

Korištenje drugog sustava? Ovaj vodič će vam pokazati kako instalirati grupni softver iRedMail na novu instalaciju Debian Wheezyja. Trebali biste koristiti servis

Izrada Jekyll bloga na Ubuntu 16.04

Izrada Jekyll bloga na Ubuntu 16.04

Korištenje drugog sustava? Jekyll je izvrsna alternativa WordPressu za bloganje ili dijeljenje sadržaja. Ne zahtijeva nikakve baze podataka i vrlo je jednostavan i

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Kako postaviti nenadzirane nadogradnje na Debianu 9 (protežu)

Korištenje drugog sustava? Ako kupite Debian poslužitelj, uvijek biste trebali imati najnovije sigurnosne zakrpe i ažuriranja, bez obzira spavate li ili ne

Kako instalirati i konfigurirati PHP 7.0 ili PHP 7.1 na Ubuntu 16.04

Kako instalirati i konfigurirati PHP 7.0 ili PHP 7.1 na Ubuntu 16.04

PHP i povezani paketi najčešće su korištene komponente prilikom postavljanja web poslužitelja. U ovom članku ćemo naučiti kako postaviti PHP 7.0 ili PHP 7.1 o

Kako instalirati Squid proxy na CentOS

Kako instalirati Squid proxy na CentOS

Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Kako instalirati Lighttpd (LLMP Stack) na CentOS 6

Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj

Korištenje zaslona na Ubuntu 14.04

Korištenje zaslona na Ubuntu 14.04

Screen je aplikacija koja omogućuje višestruko korištenje terminalskih sesija unutar jednog prozora. To vam omogućuje da simulirate više prozora terminala gdje je ma

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Postavite svoj vlastiti DNS poslužitelj na Debian/Ubuntu

Ovaj vodič objašnjava kako postaviti DNS poslužitelj pomoću Bind9 na Debianu ili Ubuntu. U cijelom članku u skladu s tim zamijenite your-domain-name.com. Na th

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

Konfiguriranje statičkog umrežavanja i IPv6 na CentOS 7

VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Promjena Icinga2 za korištenje modela Master/Client na CentOS 6 ili CentOS 7

Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent

Postavite Red5 Media Server na Ubuntu 16.04

Postavite Red5 Media Server na Ubuntu 16.04

Korištenje drugog sustava? Red5 je medijski poslužitelj otvorenog koda implementiran u Javi koji vam omogućuje pokretanje Flash višekorisničkih aplikacija kao što je live streamin

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

Prevedite i instalirajte Nginx s modulom PageSpeed ​​na Debian 8

U ovom članku ćemo vidjeti kako sastaviti i instalirati Nginx mainline iz službenih izvora Nginxa s modulom PageSpeed, koji vam omogućuje da

Kako instalirati Vanilla Forum na Ubuntu 16.04

Kako instalirati Vanilla Forum na Ubuntu 16.04

Korištenje drugog sustava? Vanilla forum je aplikacija otvorenog koda napisana u PHP-u. Potpuno je prilagodljiv, jednostavan za korištenje i podržava eksterne

Kako instalirati Kanboard na Ubuntu 18.04 LTS

Kako instalirati Kanboard na Ubuntu 18.04 LTS

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Kanboard na Debian 9

Kako instalirati Kanboard na Debian 9

Korištenje drugog sustava? Uvod Kanboard je besplatni softver za upravljanje projektima otvorenog koda koji je dizajniran za olakšavanje i vizualizaciju

Kako instalirati Giteu na Debian 9

Kako instalirati Giteu na Debian 9

Korištenje drugog sustava? Gitea je alternativni sustav za kontrolu verzija otvorenog koda s vlastitim hostom koji pokreće Git. Gitea je napisana na Golangu i jest

Uspon strojeva: primjene AI u stvarnom svijetu

Uspon strojeva: primjene AI u stvarnom svijetu

Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.

DDOS napadi: kratak pregled

DDOS napadi: kratak pregled

Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Jeste li se ikada zapitali kako hakeri zarađuju novac?

Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Revolucionarni Googleovi izumi koji će vam olakšati život.

Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Friday Essential: Što se dogodilo s automobilima s umjetnom inteligencijom?

Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Tehnološka singularnost: daleka budućnost ljudske civilizacije?

Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.

Evolucija pohrane podataka – Infografika

Evolucija pohrane podataka – Infografika

Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Funkcionalnosti slojeva referentne arhitekture velikih podataka

Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

6 nevjerojatnih prednosti posjedovanja pametnih kućnih uređaja u našim životima

U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Ažuriranje dodataka macOS Catalina 10.15.4 uzrokuje više problema nego što ih rješava

Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više