Rodando um servidor de IRC (ircd)

Neste artigo vou abordar a instalação e configuração de um servidor de IRC, o famoso ircd.

[ Hits: 13.367 ]

Por: Ciro em 27/06/2012


IRC (ircd)



Bom galera, pra começar, vou explicar bem resumidamente o que é IRC.

O Internet Relay Chat (IRC) é um protocolo de comunicação utilizado na Internet.

Antes do sucesso do MSN, Facebook e Orkut, ou seja, entre 1998 até 2004, foi o meio de comunicação - bate papo - mais utilizado, pois todos os provedores de internet tinham um servidor de IRC e o divulgavam.

O software servidor de IRC é chamado de ircd (para GNU/Linux) e wircd (para Windows). Já os clientes, o mais famoso para o Windows é o popular mIRC e, para GNU/Linux vou citar apenas o Xchat, pois é o que eu utilizo.

Neste artigo vou abordar a instalação e configuração apenas do software servidor de IRC - o famoso IRCd.

Estarei utilizando o projeto Taps, que é um derivado do projeto ptlink. Porém, não é o taps puro, pois nós já fizemos diversas alterações no source para usarmos na rede vIRCio - irc.vIRCio.org.

Primeiro, vamos preparar a máquina. Eu utilizo o Debian, e são necessários para rodar serviços do IRC vários pacotes.

Eu sugiro, no mínimo, que instalem estes abaixo, vou utilizar o apt-get do Debian:

# apt-get -y install host whois patch
# apt-get -y install autoconf automake cpp g++ gcc gzip make nano libc6-dev tcl8.4 tcl8.4-dev libpopt-dev m4 ncftp nmap openssl perl perl-modules
# apt-get -y install zip unzip zlib1g zlib1g-dev bzip2


Após instalados os pacotes básicos, crie um usuário, rode como root, mas por razões óbvias, não aconselho. Qualquer software que não necessite/exija de privilégios especiais do root, não deve ser rodado como root.

# adduser ircd
# su ircd
$ cd ~
(vai para pasta home do usuário ircd)
pwd (verificando se está na pasta padrão, geralmente em /home/ircd/)

Fazendo download:

wget http://vircio.org/downloads/taps-vircio-ircd.tar.gz

Descompactando:

tar -zxvf taps-vircio-ircd.tar.gz

Entrando na pasta do source para compilar:

cd taps-vircio-ircd/

Compilando:

./configure --prefix=$HOME/servidor
$ make
$ make install


Pode compilar utilizando todos os comandos em uma única linha:

./configure --prefix=$HOME/servidor && make && make install

Para maiores informações, leia o arquivo INSTALL. Eu criei um resumo com o arquivo INSTALL.vIRCio.

Para poder compilar com suporte para os clientes conectarem ao servidor via ssl, leia o arquivo INSTALL.SSL.

Compilando com suporte via SSL:

./configure --prefix=$HOME/servidor --with-ssl=openssl
$ make
$ make install
$ make pem
(insira os dados requeridos para gerar automaticamente os arquivos com as chaves bla...bla...)

Agora mova os arquivos gerados para pasta padrão:

mv *.pem ~/servidor/etc/

Configurando o ircd:

cd ~/servidor/etc/

vi ircd.conf

Altere apenas a linha:

M:server.vircio.org:192.168.254.1:Rede Social de Bate-Papo

Para:

M:servidor.seu.dominio.com.br:200.200.200.200:Descrição do seu servidor

Faz de conta que "200.200.200.200" é o IP de seu servidor. Salve o arquivo.

vi portas.conf

Apague tudo, basta apenas deixar duas linhas:

P::192.168.254.1::6667
P::192.168.254.1:s:6699

A porta padrão é 6667, 6699 é a porta que eu uso pra SSL, pode ser outra.

A flag "s" antes do 6699 quer dizer que esta porta só aceita conexões via SSL. A flag "S" quer dizer que esta porta só aceita conexões de outros servidores, e a ausência de flag significa que a porta está aberta para os clientes conectarem.

Não vou abordar linkar um servidor em outro, para isso basta editar o arquivo links.conf.

Também não irei abordar sobre ircops (usuários especiais que administram o servidor, podendo desconectar ou banir outros usuários). Para isso, edite o arquivo olines.conf e veja os exemplos como modelo.

Para encriptar a senha, digite: ~/servidor/bin/mkpasswd

Rodando o servidor:

cd ~/servidor/bin/
$ ./ircd


Ou:

/home/ircd/servidor/bin/ircd

Colocando no Crontab:

crontab -e

*/1 * * * * /home/ircd/servidor/bin/ircd >/dev/null 2>&1

Vai checar de 1 em 1 minuto se o servidor está ON e ligará automaticamente caso esteja OFF.

Conectando-se ao servidor, utilize qualquer cliente.

A porta padrão é 6667, por exemplo:

/server 200.200.200.200

Especificando uma porta diferente da padrão:

/server 200.200.200.200 6668

Conectando via porta SSL:

/server 200.200.200.200 +6699

O nosso source é escrito em C, caso tenham interesse em fazer alterações, por favor entrem em contato e compartilhe, o nosso código está aberto, assim como o projeto taps também é de código aberto.

Aproveito para informar a todos que o IRC brasileiro não acabou com a BrasNET... quase todos já devem ter ouvido falar da BRASNet ... foi a maior rede de IRC brasileira!

Atualmente nós desenvolvemos e mantemos a rede vIRCio.org - /server irc.vIRCio.org, ou acessem/visitem através de nosso chat pela web:
Próximo artigo, em breve, abordarei como rodar os serviços de IRC, famoso irc services (nickserv, chanserv, memoserv etc).

   

Páginas do artigo
   1. IRC (ircd)
Outros artigos deste autor

Dhcp3-server e Bind9 no Debian 5 Lenny Linux

OpenVZ - Instalando no Debian Squeeze AMD64

Montando sua Web Rádio no Linux com DJ Automático

Dhcp3-server e Bind9 no Debian 4 Etch Linux

Leitura recomendada

Blender - Iniciante (parte 1)

Turbine o seu SUSE instalando o apt-get com um repositório de mais de 5.000 pacotes

Asterisk não é um Sip Proxy

Desenvolvimento web no Linux

Apresentando e pondo a prova o Mono

  
Comentários
[1] Comentário enviado por cirinho em 27/06/2012 - 08:44h

Faltou as fontes ... depois boto as outras mais ...

http://vIRCio.org/

http://starbyte.net/taps/

http://pt.wikipedia.org/wiki/Internet_Relay_Chat

[2] Comentário enviado por boy em 27/06/2012 - 08:58h

HAHAHAHAHA

Não perde tempo de fazer um spam neh cirola.


Nem a VOL vc perdoooa :P
Rei do spam.

KKKKKKKKKKKKK

[3] Comentário enviado por cirinho em 27/06/2012 - 09:01h

Só assim pra vc aparecer né boy-ola (fernando - boy é o nick dele) ... Liberei o source do ircd da vIRCio.org

[4] Comentário enviado por boy em 27/06/2012 - 09:05h

hahahah, qm ve pensa!
estou la mais tempo do que voce!

KKKKKKKKKKKKKKKK

[5] Comentário enviado por cirinho em 27/06/2012 - 09:08h

Vai sonhando ... eu vi na hora que vc entrou!

[08:20:30] <+NickServ> Nick boy identified by weed@24.24.69.69

[6] Comentário enviado por felcocs em 27/06/2012 - 09:25h

Subi aqui esse d, não olhei o fonte... CUIDADO rs hahahahhaha =]
---

Unica coisa foi que tive que setar o path do openssl pra fazer o make pem.


[7] Comentário enviado por cirinho em 27/06/2012 - 09:30h


[6] Comentário enviado por felcocs em 27/06/2012 - 09:25h:

Subi aqui esse d, não olhei o fonte... CUIDADO rs hahahahhaha =]
---

Unica coisa foi que tive que setar o path do openssl pra fazer o make pem.



Eu falei lá os pacotes básicos que precisam instalar antes pra rodar serviços relacionados ao IRC.

Para o ssl é necessário openssl e libssl ... da um search ai pra achar :)

[8] Comentário enviado por corvolino em 30/06/2012 - 03:41h

lol =p

[9] Comentário enviado por cirinho em 30/06/2012 - 05:05h

Grande corvolino eheheh :)

[10] Comentário enviado por blx32 em 05/01/2014 - 12:13h

Pessoal um pouco mais de seriedade, para facilitar o entendimento dos leigos.
Este tuto é uma boa ou não.

[11] Comentário enviado por blx32 em 05/01/2014 - 12:33h

Not found.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts