Após muita leitura, pequisa na net e colaboração de alguns colegas, consegui instalar o
msn-proxy no
Linux openSUSE 11.1. Como tive dificuldades para isso, acredito que outros iniciantes no mundo Linux também se depararão com as mesmas dúvidas que tive. Dessa forma resolvi contribuir para comunidade Linux com esse peque artigo.
Já existem várias informações na net sobre como instalar o msn-proxy em outras distribuições, inclusive usei muitas delas (se não todas:-D) como referência para esse artigo.
Como ambiente de instalação usei o KDE 4.1, que vem por padrão da distribuição openSUSE 11.1. Você pode optar por usar outro gerenciador de janelas, mas saiba que isso pode mudar a localização de alguns arquivos e pastas.
A princípio inicie a instalação do MySQL v 5.067-12.11 e MySQL-administrator v 5.0.r12.218.11 pelo gerenciador de pacotes do YaST, sendo que automaticamente serão instaladas as dependências e o navegador MySQL-query-browser. O MySQL é obrigatório, mas MySQL-administrator e o MySQL-query-browser são perfumarias para você trabalhar visualmente com a base de dados. Se você tem um bom conhecimento em linha de comando do MySQL, pode dispensar essas duas últimas ferramentas.
Após a instalação, faça logoff e logon no sistema de forma a atualizar o lançador de aplicativos para aparecer os atalhos dos programas.
Após logar novamente, acesse o lançador de aplicativos > computador > YaST. Na tela que abrirá, localize no menu esquerdo sistemas, depois na direita serviços de sistema (nível de execução), abra o mesmo e na lista encontre MySQL e clique em habilitar. Feche com ok. Isso vai iniciar o gerenciador de base MySQL.
Agora no menu iniciar vá em Aplicativos > Sistemas > Configuração de serviços > Administrador de banco de dados. Irá abrir a tela para conexão com o banco de dados. Nos campos solicitados informe o seguinte:
- Server Hostname: Localhost
- Port: 3306
- Username: root
- Password: deixe em branco
Agora basta clicar em conectar. Se tudo correr bem você terá acesso ao administrador da base de dados que lhe possibilita entre outros, criar e alterar bases, usuários e direitos de acesso.
Primeiramente vamos criar a base de dados indo na opção catalogs e clicando com o botão direito no mouse na área branca abaixo de Schemata. Escolha a opção Create schema e na tela que abrir informe como nome de base o seguinte: `msn-proxy` (não use apostrofe, mas crase). Pronto, se tudo correu bem a base foi criada.
Agora vamos criar o usuário que terá acesso a base de dados. Para isso escolha no menu à esquerda a opção user administration. Ao fazer isso uma nova tela se abre no centro para gerenciamento dos usuários. Clique em "New User" para criar o novo usuário e informe os seguintes parâmetros.
- MySQL user = msn-proxy
- newpassword = secret
- confirm password = secret
Logo após criado o usuário, tem que ser definido onde o mesmo terá acesso a base de dados. As permissões para o usuário msn-proxy devem ser as seguintes:
msn-proxy
@localhost
@NomedasuaMaquina
@127.0.0.1
Na mesma opção "user administration", clique na aba "schema privileges" e atribua todos ao usuário msn-proxy referente a base msn-proxy para os hosts @localhost, @NomeDasuaMaquina, @127.0.0.1. Clique em "apply changes". Fique atento, o usuário msn-proxy, a base msn-proxy e o local de acesso devem estar selecionados antes de você clicar na seta.
Para isso clique em @localhost dentro de msn-proxy, selecione todas as opções em "Avaliable Privileges" e clique na seta para a esquerda de forma a passar todos os privilégios para "Assigned Privileges". Faça isso para as três formas de acesso. Feito isso a base de dados está pronta para receber o msn-proxy.
Agora vamos instalar o msn-proxy pelo "1 click install". Essa facilidade se deve graças a contribuição do colega AleDr, que gerou o pacote para openSUSE. Isso facilita muito a instalação para usuários iniciantes como eu. Para instalar via 1 click install faça o seguinte:
Acesse:
http://software.opensuse.org/search
Digite msn-proxy e clique em search. Serão exibidos os pacotes disponíveis para instalação. No momento deste tutorial o pacote disponível era o 0.7.27.1, mas no momento que você for instalar já pode ser outro, pois o AleDr está sempre implementando melhorias para facilitar a instalação. :-)
Para instalar basta dar um clique em 1 click install. Siga sempre em frente na tela de instalação.
Após concluída a instalação, abra uma tela de terminal e digite "su" caso esteja usando usuário com privilégios limitados e a senha de root.
Depois:
# msn-proxy -v
Se tudo correr bem você vera o log das tabelas sendo criadas. No final será exibida a mensagem:
fail to read MySQL config (check defaults table)
Vá no lançador de Aplicativos > Aplicativos > Sistema > Configuração de Serviços > Ferramenta para consulta ao banco de dados.
Informe os parâmetros na tela de conexão, como você já fez no administrador da base de dados e clique em conectar. Digite o seguinte comando e clique em conectar.
Em Schemata dê dois cliques sobre o banco msn-proxy para selecioná-lo. Depois insira a seguinte linha no espaço em branco no topo da tela e clique em execute. Isso estará informando o IP da máquina onde você instalou o msn-proxy. Na opção values coloque o IP da sua máquina.
insert into defaults (internal_host) values ('192.168.0.12')
Os outros dados da tabela defaults já vem pré-cadastrados e você pode alterar depois pela interface PHP.
Para rodar a interface PHP se faz necessário os seguintes pacotes: apache2, apache2-mod_php5, php5-sockets e php5-MySQL.
Ao instalar apache2 e apache2-mod_php5, automaticamente são instaladas as dependências apache2-prefork e apache2-utils.
No pacote 0.7.27.1 o php5-sockets e php5-MySQL já tinham sido inseridos como dependência e já eram instalados automaticamente. Só referencio ela aqui pois tive muitos problemas até descobrir que eles eram dependências. Os erros que ocorriam na falta deles eram os seguintes:
php5-sockets: Se ele não for instalado vai gerar a mensagem "there was a problem with the request" (Houve um problema com sua solicitação) quando você tentar bloquear ou liberar um contato de um usuário.
php5-MySQL: Se não instalado, será exibida apenas uma página em branco quando você tentar carregar as páginas do msn-proxy, pois existem códigos MySQL nas páginas php e sem esse pacote não é possível abrí-las.
Após instalar todos os pacotes, abra o gerenciador de arquivo em modo de super usuário, aplicativos > sistemas > gerenciador de arquivos e escolha uma das opções com suporte super usuário.
Altere no arquivo
/etc/php5/apache2/php.ini os valores de:
- display_errors = On
- display_startup_errors = On
Isso fará que os erros sejam exibidos na tela. Caso você queira, depois de instalado e testado você pode mudar para off novamente.
Vá ao gerenciador e Serviços de Sistema (nível de execução) que já foi usado anteriormente e desabilite e habilite o Apache para que as alterações entrem em vigor.
Acesse o arquivo
/etc/msn-proxy/MySQL/conf.
Duas configurações válidas para o arquivo podem ser:
/var/lib/MySQL/mysql.sock|0|msn-proxy|secret|msn-proxy
ou
localhost|3306|msn-proxy|secret|msn-proxy
Agora acesse o arquivo /srv/www/htdocs/msn-proxy/mysql.inc.php e verifique os seguintes parâmetros:
Duas configurações válidas podem ser:
$host = ":/tmp/mysql.sock";
$user = "msn-proxy";
$pass = "secret";
$db = "msn-proxy";
$port = 3306;
ou
$host = "localhost";
$user = "msn-proxy";
$pass = "secret";
$db = "msn-proxy";
$port = 3306;
Feito isso você já deve ser capaz de ver a tela de configuração do msn-proxy acessando:
http://localhost/msn-proxy
No meu caso também instalei o
YastSquid, pois uso o computador como proxy http e firewall. Se instalar o Squid, a princípio permita tudo somente para teste. De forma alguma bloqueie a expressão gateway.dll, pois caso contrário os usuários não conseguem se autenticar nos servidores no MSN.
Também habilitei o Squid como proxy transparente. Dessa forma, no computador cliente, nas configurações de rede, na opção gateway eu informo o ip do computador onde está instalado o SQUID, também informo na configuração do browser como proxy o IP do computador onde está instalado o SQUID e a porta 3128.
Vamos agora criar as regras de iptables. Antes disso acesse o YaST e desative o firewall do openSUSE, apenas para teste, depois se quiser você pode ativá-lo novamente ou criar suas próprias regras iptables. Digo que levei um bom tempo para descobrir que mesmo liberando as portas necessárias no iptables o firewall continuava bloqueando e não permitindo nenhuma requisição.
Agora abra um terminal como SU e digite a seguinte regra iptables:
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 1863 -j REDIRECT --to-port 1863
Fique atento à sua interface interna por onde vem as requisições do cliente. No meu caso a interface interna é a eth0, veja qual é a sua. Essa regra redireciona todas as requisições feitas para o porta 1863 para a porta local 1863.
# iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j REDIRECT --to-port 3128
Essa regra é para o SQUID funcionar como proxy transparente.
Pronto, o msn-proxy está pronto para ser usado. Caso você queira acompanhar as atividades do msn-proxy, feche pelo YaST na opção Serviços de Sistema (nível de execução) e inicie o mesmo em um terminal com o comando:
# msn-proxy -dips
Teste o mesmo alterando as configurações na máquina cliente. Serão geradas muitas informações na tela a cada conexão. Se isso não estiver acontecendo, revise a instalação pois algo deve ter saído errado.
Um problema que tive foi com o fato de estar com mais de um processo do msn-proxy aberto ao mesmo tempo. Quando isso acontecia, ao tentar bloquear ou liberar um contato de um usuário, recebia a seguinte mensagem:
"Falha ao gravar alteração!"
Para resolver o problema é só matar todos os processos existentes, inclusive pelo YaST e iniciar o sistema novamente na opção do YaST Serviços de Sistema (nível de execução). Para matar os serviços use o seguinte comando no terminal:
# pkill -9 msn-proxy >> /dev/null
Seria isso pessoal. Espero ter contribuído para os colegas do mundo Linux. Agradeço aqui a colaboração do
junior.rocha pelo fórum do site
Viva o Linux, do AleDr pelo fórum do site
SourceForge.com, responsável pelo empacotamento dos RPMs para o openSUSE e ao desenvolvedor
Luiz Otavio Oliveira Souza pelo excelente sistema.
Postem suas duvidas sugestões, orientações, criticas e comentários.
Cordialmente;
Claudir Pereira dos Santos - Claupers
Técnico em Informática
Matelândia - PR
claupers@hotmail.com
Referências