Infra - Linux
PEAGLE: Serviço Web de busca indexada em seu servidor local
Imagine encontrar todos os contratos referentes a instalação do serviço Samba armazenados em um servidor com um HD de 120 GB, onde os usuários salvam os arquivos de maneira cada vez mais desorganizada. Neste artigo veremos como instalar um serviço de busca indexada similar ao Google em um servidor local.
por Alessandro de Oliveira Faria
Este artigo utiliza o Peagle, que não passa de uma interface Web escrita em PHP para interagir com o serviço Beagle. Beagle é um serviço de busca indexada proporcionando um resultado similar ao Google.
Tal recurso inicialmente foi desenvolvido para os desktops. Mas com um pouco de criatividade, este recurso junto a uma interface Web pode trazer muitos benefícios na busca de informação em seu servidor.
O Beagle suporta os seguintes tipos de arquivos:
- Sistemas de arquivos;
- Atalhos de arquivos;
- Bloco de endereços e dados do Evolution;
- Conversas de Mensagens Instantâneas do Gaim;
- Páginas Web do Firefox;
- Leitores RSS Blam e Liferea;
- Dados do Tomboy
- Dados do OpenOffice;
- Dados do Microsoft Office;
- Páginas HTML;
- PDF;
- Imagens (JPEG e PNG);
- Áudio (MP3 e OGG);
- Editor AbiWord;
- Rich Text Format (RTF);
- Texinfo;
- Paginas de manual (MAN);
- Códigos fontes (C, C++, C#, Fortran, Java, Java Script, Pascal, Perl, Python)
- Texto Simples.
A indexação acontece automaticamente nas pastas selecionadas, também é possível impedir que um determinado arquivo ou diretório seja indexado. Quando um arquivo é modificado, o Beagle detecta as mudanças feitas e reindexa de maneira eficaz sem comprometer o funcionamento de outros processos.
Embora a reindexação requeira um trabalho considerável, o daemon do Beagle evita ao máximo incômodos em seu ambiente de trabalho. Este método é muito eficiente por interferir muito pouco nos outros aplicativos em execução. A indexação é feita na base de inatividade para não afetar negativamente o desempenho do sistema.
Abaixo um vídeo demonstrativo do Peagle em funcionamento:
Requisitos, download e configuração
Para não tornar este documento cansativo e extenso, partirei
do princípio que a lista de pacotes logo baixo estarão devidamente instalados,
configurados e em perfeito funcionamento. Abaixo a lista de dependências:
O download da biblioteca pode ser efetuado em: Utilize o comando wget como no exemplo abaixo para fazer o download do pacote .tar.gz. $ wget http://www.kde-apps.org/content/files/38289-peagle-0.2.1.tar.bz2 Ao término do download, vá para a pasta root do Apache, descompacte o pacote que acabou de adquirir. Logo após entre na pasta peagle-0.2.1 como no exemplo abaixo. $ tar -jxvf /neti/install/beagle/38289-peagle-0.2.1.tar.bz2 $ cd peagle-0.2.1/ Verifique o arquivo settings.php, no meu caso alterei o item desktop para kde e address para o ip local de meu servidor. $ cat settings.php |
<? $set=array ( "desktop" => "kde", "desktop_custom" => "", "charset" => "UTF-8", "tn_max_h" => 75, "tn_max_w" => 200, "perpage" => "10", "address" => "192.168.0.40", "port" => 7324, "sid" => "0", ); ?> |
Neste instante devemos iniciar o serviço Beagle, utilize o comando beagled para levantar o daemon Beagle. Veja no exemplo abaixo: $ beagled Para testar o funcionamento do serviço Beagle, podemos utilizar o comando beagle-query. No exemplo abaixo pesquisaremos a string "Alessandro de Oliveira Faria". Se tudo estiver funcionando corretamente, o resultado apresentado será similar ao exemplo abaixo: $ beagle-query "Alessandro de Oliveira Faria" http://www.vivaolinux.com.br/perguntas/verPergunta.php?codigo=26710 http://cabelo.linuxdicas.com.br/haircapture/doc/a00042.html#l00230 file:///neti/palestra/haircapture/FONTES/exampla05.cpp file:///neti/palestra/haircapture/FONTES/exampla04.cpp file:///neti/palestra/haircapture/FONTES/funcoesCAPTURE.cpp Iremos agora iniciar o serviço Peagle (interface Web PHP para o daemon Beagle). Basta digitar o comando "./peagle" na pasta de extração do pacote. Alguns avisos (Warning) ocorrerão, não tive tempo para corrigí-los, alguém esta disponível? $ ./peagle PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name](). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /srv/www/htdocs/netigoogle/peagle.php on line 250 PHP Warning: Call-time pass-by-reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of call_user_func(). If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in /srv/www/htdocs/netigoogle/peagle.php on line 423 Server ready. Alguns exemplos: Agora basta digitar em seu browser favorito o ip de seu servidor na porta 7324. Por exemplo: http://192.168.0.040:7324/ Abaixo algumas imagens do projeto em funcionamento: |
Tela de pesquisa principal Status do serviço Informações sobre indexação Configuração |
O próximo grande salto evolutivo da humanidade será a descoberta de que cooperar é melhor que competir..." Prof. Pietro Ubaldi |
- Login automático com SSH e Automatização da instalação (deploy) e atualização de sites com GitLinux
- Extensão Sun Presentation Minimizer para Broffice.ORGLinux
- Otimização de Desempenho em sistemas GNU/LinuxLinux
- Hardware para sistemas GNU/Linux - Dicas de Desempenho - Parte 3Hardware
- Hardware para sistemas GNU/Linux - Dicas de Desempenho - Parte 2Hardware