Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Rodando um servidor de IRC (ircd)
Linux user
cirinho
27/06/2012
Neste artigo vou abordar a instalação e configuração de um servidor de IRC, o famoso ircd.
Por: Ciro
[ Hits: 3515 ]
Conceito: 10.0   2 voto(s)2 voto(s)2 voto(s)2 voto(s)2 voto(s) + quero dar nota ao artigo

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

Leitura recomendada

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 f3rn 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 f3rn 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 :)



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.