Arquivo

Arquivo de janeiro, 2008

Papo construtivo com Jabber ou openfire

22, janeiro, 2008 1 comentário

jabber

No meio de uma reunião importante, resolvendo um caso urgentíssimo todos ali na empresa conectados ao msn discutindo ações e coisas importantes, quando menos espera “PUTZ O SERVIDOR DO MSN CAIU”.. Sei que não é constantemente que isso acontece mas pode acontecer, e visando por este lado é melhor se prevenir e isso é o que mostrarei neste tuto. Como instalar um servidor jabber.

Mas o que é um servidor jabber?

Um servidor Jabber nada mais é que um “MSN interno”, mas com vantagens, pois você pode monitorar e somente deixar se registrar quem quiser, pode colocar para que funcione somente internamente e pode colocar para funcionar em uma VPN com filiais, evitando ligações de ramal para ramal, ou de filial para matriz, ou filial para filial.

Mas porque não uso o msn padrão?

Bem, o querido MSN pode trazer vírus que algum usuário gente boa aceite e o tempo que se gasta conversando com pessoas que não são do trabalho? viiii. E a ocupação de banda? Aí pronto, já deu pra convencer né?

Mas existem servidores externos?

Sim existem, o mais conhecido é o jabber.org, também temos o soapbox.net e por aí vai.

Mas imagine você fazer uma implantação dessas na empresa e um certo dia o servidor do jabber.org cai (coisa que já me aconteceu muitas vezes) e seu chefe quer falar com a filial pelo Jabber ou com as outras pessoas, já viu né, você é chamado disso e daquilo…

Então, vamos montar nosso servidor Jabber! :)

Primeiro passo é baixar todas as dependências que nem são muita:

Se não instalar todos o jabber não roda de jeito algum…

ftp://ftp.ossp.org/pkg/lib/pth/pth-1.4.1.tar.gz

Baixe ele e extraia com o tar:

$ tar -zxvf pth-1.4.1.tar.gz

Entre na pasta correspondente:

$ cd pth-1.4.1.tar.gz

Agora:

$ ./configure
$ make
$ make test
# make install

Download:

Caso o link não funcione, procure em:

Extraia ele:

$ tar -vzxf jabberd-1.4.4.tar.gz

Bem, agora entre na pasta que foi criada:

$ cd jabberd-1.4.4
$ ./configure
$ make
# make install

Prontinho, o Jabber está instalado, agora vamos instalar o jabber quickstart, um aplicativo que serve para ajudar na administração do serviço, muito bom aliás.

Baixe o jabberd-quickstart-0.2-linux.tar.gz em:

Descompacte lá na mesma pasta em que descompactou o Jabber, ele vai criar outra pasta, a jabberd-quickstart. Entre nela e dê:

$ chmod 777 *

Dê um:

$ sh setup.sh

Pronto, vai abrir uma tela, vamos configurar.

1. Clique na primeira opção e registre o número IP ou DNS da sua máquina.

2. Ele vai perguntar qual o nome da máquina, da rede, blablabla, tudo opcional.

3. Vai perguntar a conta do administrador, digite o seu nome, depois uma senha.

Pronto, agora clique em outra opção chamada “START”, o resto você vai configurando por intuição, nada muito difícil. Seu servidor está iniciado, agora vá em um cliente em outra maáuina e digite usuarioquevccriou@ip com a sua senha.

NÃO ESQUECENDO O SEGUINTE:

Digite:

# iptables -F

Pois o iptables dele vem com uma configuração defaut que bloqueia o serviço, depois você vai bloqueando e liberando o que quiser.

E pronto, sei que fui muito objetivo, mas QUALQUER dúvida irei responder, não quis foi me estender muito.

Espero ter ajudado alguém, precisei muito de um tuto desses e não encontrei muita coisa, por isso eu fiz esse pra ajudar vocês!

Agora vc tb pode utilizar o openfire que tem a mesma função e é mais fácil de instalar, siga abaixo.

1. É necessário instalar o JAVA(JRE).

Baixe o binário do JAVA em:

Download jre-6u7-linux-i586-rpm.bin

Caso o link não funcione, acesse a página de downloads da Sun (Java) em:

Java Downloads for All Operating Systems

2. Salve este arquivo em uma pasta separada, de preferência em /opt/jre/.

3. Agora acesse o seu terminal preferido como usuário ROOT:

# cd /opt/jre/
# chmod a+x jre-6u3-linux-i586-rpm.bin
# ./jre-6u3-linux-i586-rpm.bin

Aparecerá um termo de licença do Java, tecle [ENTER] até aparecer a pergunta se você concorda ou não. Informe [YES].

Automaticamente o pacote será descomprimido e instalado.

4. Baixe o pacote do OPENFIRE em:

Download openfire-3.6.0a-1.i386.rpm

Caso o link não funcione, procure no site do desenvolvedor:

Ignite Realtime downloads

5. Salve o arquivo em uma pasta separada, de preferência em /opt/openfire/.

6. Vamos instalar o servidor openfire, novamente como usuário ROOT:

# cd /opt/openfire/
# rpm -ivh openfire-3.6.0a-1.i386.rpm

Após a instalação é necessário iniciar o serviço do openfire:

# /opt/openfire/bin/openfire.sh

Agora aguarde, pois este procedimento pode demorar, ele inicia o levantamento do servidor, scripts e portas de escuta.

Estará tudo ok quando aparecer algo assim:

Openfire 3.6.0a-1 [16/010/2008:12:10]
Console de Administração ouvindo em http://localhost:9090

Etapa 5: Finalização.

Bem, agora entre na pasta que foi criada e la dentro tem uma pasta chamada bin e dentro dela contem o arquivo para inicializar o openfire, se quiser pode copiar ele pro /usr/local/sbin e por no rc.local pra inicializar automatico, basta inserir a linha /usr/local/sbin/openfire start caso contrário na própria pasta de um ./openfire start para inicializar o serviço depois acesse no browser http://localhost:9090 e administre o seu servidor jabber.
Após feito tudo isso você irá precisar de um cliente jabber ou seja um softw semelhante ao msn para comunicar, eu indico o spark ou o pandion mas qualquer outro irá servir muito bem e aqui estão eles.

http://www.jabber.org/web/Clients#Windows

Instalando e configurando um servidor DNS no SLACKWARE

16, janeiro, 2008 Sem comentários

Antes vou explicar o que é um servidor DNS (Domain Name Server).

Um servidor DNS é responsável em responder pelo(s) domínio(s) e direcionar tudo que é relacionado a ele, nele por exemplo você vai apontar onde fica o www.dominio.com.br, vai apontar também quais são os servidores de entrada de email e por aí vai…

Ele também possui outras utilidades, como por exemplo em uma rede interna, com ele configurado em um servidor de sua rede, você não precisará informar o servidor DNS do seu provedor, basta somente apontá-lo para ele e até fazer com que sua empresa toda responda por hosts, por exemplo: maquina-1.dominio.com.br, maquina-2.dominio.com.br.

Bem, vamos ao que interessa…

Vou deixar bem claro que sempre uso o Slackware como servidor, acredito que em outras versões não mude muita coisa, portanto meu artigo vai ser todo baseado no Slackware.

O programa que vamos usar para o usar como server é o BIND, por padrão ele já vem instalado no Slack, mas vou começar desde o início.

Outra coisa muito importante é que você deve SEMPRE usar a última versão do BIND, por questões de segurança.

Procure em www.linuxpackages.net o pacote mais recente do Bind.

Após baixar o pacote você deve entrar no diretório que o arquivo está e dar o seguinte comando:

# installpkg bind-9.3.0-i486-1jim.tgz

Após ter instalado é hora de configurar um domínio (meudominio.com.br) no seu server para a brincadeira começar a funcionar, para isso temos que criar alguns arquivos.

O primeiro deles é o /etc/named.conf, caso esse arquivo já exista, faça um backup dele e crie um novo com o conteúdo abaixo.

options {
directory “/var/named”;
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below.  Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;

transfer-format many-answers;

};

controls {
inet * port 953 allow { 127.0.0.1; }; // Para usar o rndc apenas em localhost
};

//
// a caching only nameserver config
//
zone “.” IN {
type hint;
file “caching-example/named.ca”;
};

zone “localhost” IN {
type master;
file “caching-example/localhost.zone”;
allow-update { none; };
};

zone “meudominio.com.br” IN {
type master;
file “meudominio.com.br.domain”;
allow-update { none; };
};

Agora vamos criar o /var/named/caching-example/named.ca. Se os diretórios não existirem, por favor os crie:

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the “cache  .  <file>”
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC registration services
;       under anonymous FTP as
;           file                domain/named.root
;           on server           FTP.RS.INTERNIC.NET
;       -OR- under Gopher at    RS.INTERNIC.NET
;           under menu          InterNIC Registration Services (NSI)
;              submenu          InterNIC Registration Archives
;           file                named.root
;
;       last update:    Aug 22, 1997
;       related version of root zone:   1997082200
;
;
; formerly NS.INTERNIC.NET
;

.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;

.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; formerly C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; formerly TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; formerly NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; formerly NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
;
; formerly NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; formerly AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File

Agora vamos criar o /var/named/caching-example/localhost.zone. Se os diretórios não existirem por favor os crie:

$TTL    86400
$ORIGIN localhost.
@          1D IN SOA       @ root (
42              ; serial (d. adams)
3H              ; refresh
15M             ; retry
1W              ; expiry
1D )            ; minimum

1D IN NS        @
1D IN A         127.0.0.1

Vamos criar o arquivo referente ao seu domínio
/var/named/meudominio.com.br.domain:

$TTL    86400
; Authoritative data for meudominio.com.br
;
@                IN       SOA localhost. root.meudominio.com.br. (
2004102897      ; Serial (yymmddxx)
10800           ; Refresh 3 hours
3600            ; Retry   1 hour
36000           ; Expire  10 hours
86400 )         ; Minimum 24 hours
IN       NS            ns1.meudominio.com.br.
IN       NS            ns2.meudominio.com.br.

;
;Recebimento de mensagens de mail
;

meudominio.com.br.        IN      MX      0       mx
meudominio.com.br.        IN      MX     10       mx

;
; Hosts
;

localhost     IN       A             127.0.0.1
IN       HINFO         INTEL/110       LINUX
www           IN       A             200.162.73.7   ; o ip da sua maquina
ns1           IN       A             200.162.73.7   ; o ip da sua maquina
ns2           IN       A             200.162.73.7   ; o ip da sua maquina
maquina-1     IN       A             192.168.69.12 ; ip qualquer da
rede
maquina-2     IN       A             192.168.69.13 ; ip qualquer da rede

Caso você não tenha o arquivo /etc/rc.d/rc.bind crie-o com o seguinte conteúdo:

#!/bin/sh
# Start/stop/restart the BIND name server daemon (named).

# Start bind. In the past it was more secure to run BIND
# as a non-root user (for example, with ‘-u daemon’), but
# the modern version of BIND knows how uses to use the
# kernel’s capability mechanism to drop all root privileges
# except the ability to bind() to a privileged port and set
# process resource limits, so -u should not be needed. If
# you wish to use it anyway, chown the /var/run/named
# directory to the non-root user.
#
# You might also consider running BIND in a “chroot jail”,
# a discussion of which may be found in
# /usr/doc/Linux-HOWTOs/Chroot-BIND-HOWTO.

bind_start() {
if [ -x /usr/sbin/named ]; then
echo “Starting BIND:  /usr/sbin/named”
/usr/sbin/named
fi
}

# Stop bind:
bind_stop() {
killall named
}

# Restart bind:
bind_restart() {
bind_stop
sleep 1
bind_start
}

case “$1″ in
‘start’)
bind_start
;;
‘stop’)
bind_stop
;;
‘restart’)
;;
*)
echo “usage $0 start|stop|restart”
esac

Depois de salvo o arquivo com o conteúdo acima e dê permissão ao arquivo:

# chmod +x /etc/rc.d/rc.bind

Para iniciar o BIND basta digitar o seguinte comando:

# /etc/rc.d/rc.bind start

Vamos agora colocar o nossa brincadeira para funcionar na hora que a máquina iniciar. Existem várias formas, todos sabem, mas vou explicar a mais simples usando o nosso bom e velho /etc/rc.d/rc.local.

Coloque a linha abaixo dentro do /etc/rc.d/rc.local:

/etc/rc.d/rc.bind start

Após tudo feito vamos colocar o nosso servidor para usar o seu próprio DNS para navegar.Edite o arquivo /etc/resolv.conf e coloque o seguinte conteudo:
search meudominio.com.br
nameserver 192.168.69.11
OBS: altere o 192.168.69.11 para o seu IP.

Depois de tudo pronto e configurado vamos testar.

Por via das dúvidas, dê um boot na sua máquina só pra ver se está tudo iniciando direitinho, não custa nada né?

Vamos pingar o UOL:

$ ping www.uol.com.br

Se a resposta for parecida com essa é por que esta funcionando perfeitamente:

PING www.uol.com.br (200.221.2.45) 56(84) bytes of data.
64 bytes from hugo.uol.com.br (200.221.2.45): icmp_seq=1 ttl=123 time=13.9 ms
64 bytes from hugo.uol.com.br (200.221.2.45): icmp_seq=2 ttl=123 time=18.4 ms

— www.uol.com.br ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1008ms
rtt min/avg/max/mdev = 13.917/16.165/18.413/2.248 ms

Vamos pingar o www.meudominio.com.br, por que está apontando para sua máquina:

$ ping www.meudominio.com.br

Se a resposta for parecida com essa, está funcionando também:

PING www.meudominio.com.br (200.162.73.7) 56(84) bytes of data.
64 bytes from 200.162.73.7: icmp_seq=1 ttl=64 time=0.046 ms
64 bytes from 200.162.73.7: icmp_seq=2 ttl=64 time=0.041 ms

— www.markeweb.com.br ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.041/0.043/0.046/0.007 ms

« Navigation