Sou iniciante no mundo free, pretendo aprender com muito estudo e a ajuda de amigos do site.
Depois de mais de seis dias exaustivos tentando instalar e configurar o
msn-proxy conforme artigos postados por amigos daqui da VOL, finalmente consegui a façanha no sétimo dia, por essa dificuldade que tive resolvi postar esta Dica.
Como não conseguia explicações, bom o jeito foi adaptar, consegui instalar e configurar o software recolhendo dicas de 2 amigos que postaram artigos realmente bons referente ao software de monitoramento de mensagens.
Atenção: O software por enquanto funciona apenas para monitoramento de mensagens do
Windows Live Messenger, as configurações do software msn-proxy não funcionam para bloquear contatos entre outros. Inclusive, aceito sugestões de como colocar para funcionar, se alguém se habilitar estará contribuindo para o aprendizado de diversos iniciantes que têm o mesmo problema.
Distro usada:
Debian Squeeze.
Bom vamos lá:
Primeiramente, seguimos os passos do nosso amigo Remontti, disponível em
http://www.remontti.com.br/blog/archives/104
Pacotes necessários para o funcionamento:
Tenha instalado o
Apache2 +
PHP5 +
MySQL, caso não tenha esses pacotes, instale com os comandos:
# aptitude install php5 libapache2-mod-php5 php5-gd php5-imagick php5-mysql
# aptitude install apache2
# aptitude install mysql-server phpmyadmin
# mysqladmin -u root password SENHA-DO-MYSQL
Instalando os compiladores e lib do MySQL:
# aptitude install make gcc g++
# aptitude install -f libmysqlclient15-dev
Instalando
Libvent, busque sempre por uma versão recente (
http://monkey.org/~provos/libevent). O libevent API fornece um mecanismo para executar uma função chamada quando um evento específico ocorre em um descritor de ficheiro ou após um tempo limite foi atingido.
# wget http://monkey.org/~provos/libevent-1.4.13-stable.tar.gz
# tar -vxzf libevent-1.4.13-stable.tar.gz
# cd libevent-1.4.13-stable
# ./configure
# make
# make install
# cd /usr/lib/
# ln -s /usr/local/lib/libevent-1.4.so.2
# ln -s /usr/local/lib/libevent-1.4.so.2.1.2
Instalando o MSN Proxy (
http://sourceforge.net/projects/msn-proxy):
# wget http://ufpr.dl.sourceforge.net/sourceforge/msn-proxy/msn-proxy-0.7.tar.gz
# tar -vxzf msn-proxy-0.7.tar.gz
# cd msn-proxy
# vim Makefile
Se preferir pode usar a versão do
SCM Repositories (Esta versão esta em desenvolvimento):
- Correção de memory leaks;
- Alteração nos paths dos arquivos de configuração;
- Migração para o autotools finalizada;
- Alteração no nome do binário para msn_proxy (compatibilidade com o autotools);
- Adicionados índices em algumas tabelas do MySQL.
Execute o comando abaixo para baixar:
# svn co https://msn-proxy.svn.sourceforge.net/svnroot/msn-proxy msn-prox
Obs.: Se o comando svn não funcionar instale com:
# aptitude install subversion
Depois:
# cd /msn-proxy/branches/msn-proxy-0.7
# vim Makefile
Aqui esta o pulo do gato, comente as linhas do FreeBSD:
# FreeBSD
#MYSQLINC=/usr/local/include
#MYSQLLIB=/usr/local/lib/mysql
E adicione as seguintes linhas:
MYSQLINC=/usr/lib/mysql
MYSQLLIB=/var/lib/mysql/mysql
Vamos compilar e instalar:
# make
# make install
Agora iremos mover a pasta "php" para no nosso diretório "/var" e após renomear para "msn-proxy", e em seguida criaremos a tabela msn-proxy e faremos algumas alterações para que o msn-proxy conecte ao mysql:
# cp -R php /var/www/
# mv /var/www/php /var/www/msn-proxy
# mysql -p
(e digite a senha do root)
mysql> create database `msn-proxy`;
mysql> grant all privileges on `msn-proxy`.* to `msn-proxy`@localhost identified by 'SENHA';
mysql> flush privileges;
mysql> quit
Preste atenção no "`" e "'" tem diferenças sobre comandos mysql.
# vim /var/www/msn-proxy/mysql.inc.php
Altere:
$host = "localhost";
$user = "msn-proxy";
$pass = "SENHA";
$db = "msn-proxy";
$port = 3306;
# vim /usr/local/etc/msn-proxy/mysql/conf
Deixe assim:
localhost|3306|msn-proxy|SENHA_USEUARIO_PROXY|msn-proxy
Vamos executá-lo, nesta fase ele irá criar as tabelas em sua base.
# /usr/local/bin/msn-proxy
Se tudo ocorrer bem, terá a seguinte mensagem:
PUBLIC ACCESS on /usr/local/etc/msn-proxy/mysql/conf should be removed !!!¹
fail to read mysql config (check defaults table)
# chmod 600 /usr/local/etc/msn-proxy/mysql/conf
# vim /usr/local/etc/msn-proxy/msn-proxy.conf
max_clients=10
Por padrão vem controle para até 10 usuários, altere de acordo com suas necessidades.
Agora vamos direcionar a porta 1863 do msn, em nosso servidor, essa linha a baixo você pode adicionará em seu firewall.
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1863 -j REDIRECT --to-port 1863
Onde eth0 é interface de qual faço nat para minha rede (gtw dos clientes da rede) sendo desta forma temos que informa em nossa base o IP desta interface no banco de dados. Lembre-se eth0 não é a interface de entrada (internet), e sim a de saída (rede local).
Suponhamos que 192.168.254.1 é o IP desta interface.
# mysql -p
(e digite a senha do root)
mysql> use msn-proxy;
mysql> show tables;
Apenas para confirmarmos que nossa tabela foi criada, se estiver irá aparecer isso:
+---------------------+
| Tables_in_msn-proxy |
+---------------------+
| contact_groups |
| contacts |
| defaults |
| log |
| sb |
| users |
=================
Agora precisamos da ajuda de outro amigo o Viani, aqui do VOL, disponível em
Artigo: MSNProxy-no-Debian-Lenny.
mysql> insert into `defaults`(`internal_host`) values ("192.168.0.1");
Obs.: Substitua "192.168.0.1" pelo IP do servidor.
Verificando se gravou:
mysql> select * from defaults;
|192.168.0.1|YES|YES|YES|0|adm@server.com|Administrador do Sistema|Para sua segurança esta mensagem esta sendo monitorada!|Arial|black|
1 row in set (0.00 sec)
Se essa foi a resposta do comando, está tudo pronto!
mysql> quit;
Setando o firewall para fazer a captura das mensagens (inclua este comando no seu script de firewall para não precisar executar manualmente toda vez. Troque REDE_INTERNA por sua interface de rede interna, exemplo eth1):
iptables -t nat -I PREROUTING -i REDE_INTERNA -p tcp --dport 1863 -j REDIRECT --to-port 1863
Retornando para o artigo do Nosso amigo Remontti:
Iniciando MSN Proxy:
# /usr/local/bin/msn-proxy &
# /usr/local/bin/msn-proxy -d &
Obs.: o "-d" serve para ver os logs.
Sua administração é feita via web, lembra dos comandos:
# cp -R php /var/www/
# mv /var/www/php /var/www/msn-proxy
Você copiou a pasta php que tinha no pacote de instalação para o diretório "/var/www/", bom agora bastar acessar via web para fazer a administração: http://ip-server/msn-proxy.
Com uma boa fuçada você irá descobrir como ele funciona.
Colocando o msn-proxy na inicialização do Debian (Fonte:
Artigo: Como-colocar-um-programa-para-inicializar-no-boot)
O arquivo "rc.sysinit" executa o arquivo "rc.local", geralmente localizado no "/etc/rc.d/rc.local". É neste arquivo que iremos colocar o caminho do nosso programa a ser executado na inicialização, ou crie este arquivo dando permissões de execução. No prompt, digite:
cd /etc/rc.d
su
# mcedit rc.local
No final do arquivo rc.local, coloque o caminho completo do executável ou script do programa que deseja rodar. Exemplo:
/usr/local/bin/msn-proxy &
Obs.: "&" serve para rodar o software em background.
Espero ter ajudado alguns iniciantes, caso tenham dúvidas, fiquem a vontade para postar, estarei pronto para perguntas ou até mesmo para ajudar a pesquisar como resolver problemas que venham a acontecer.
Afinal nós iniciantes precisamos de um certo feedback das perguntas que postamos, pois afinal ninguém nasceu sabendo e em certos momentos precisamos de ajuda.
Fontes: