Configurar roteamento estático em servidores são tarefas bem comuns e muito simples de serem realizadas, porém poucas pessoas configuram o roteamento e a rede nos arquivos corretos de cada distribuição Linux.
No caso de um servidor com Red Hat Linux, assim como a configuração das interfaces de rede, os arquivos de configuração são colocados em /etc/sysconfig/network-scripts seguindo a seguinte nomenclatura: route-[interface]
Vamos a um exemplo prático onde configuramos a rede 172.16.0.0/16 através do roteador 192.168.0.65:
Primeiramente edite o arquivo de rotas referente a sua interface local (supondo que a eth0 tem o IP 192.168.0.1):
# vi /etc/sysconfig/network-scripts/route-eth0
E adicione o seguinte conteúdo:
172.16.0.0/16 via 192.168.0.65
Salve seu arquivo e reinicie a rede com:
# service network restart
E pronto! A rota está configurada. Para verificar sua tabela de roteamento você pode utilizar:
# netstat -rn
Depois de muito tempo sem novos posts… agora que os servidores estão em ordem, estou de volta!
Em breve novos artigos a serem publicados! Até lá!
Recentemente realizei a migração do servidor jabber daqui do site de Openfire para EJabberd. Até o momento tenho tido resultados melhores e o serviço está mais adequado ao ambiente, porém vou citar algumas vantagens e desvantagens desta troca que foi realizada para que o pessoal que tem dúvida possa ter mais um caso para análise.
Em termos de carga de servidor a diferença é absurda, o Ejabberd tem um consumo muito baixo de recursos, principalmente se comparado a máquina virtual Java do Openfire. Outra vantagem que pude perceber é a facilidade em se montar um cluster de máquinas para atender alta demanda do serviço, apesar dos plugins de cluster do Openfire serem bem funcionais e fáceis achei bem interessante o método utilizado pelo Ejabberd.
Uma desvantagem que podemos perceber é a falta da interface administrativa super completa do Openfire, a ausência de qualquer edição de arquivos de configuração e o gerenciamento bem prático de plugins, entre eles os gateways de messengers externos e principalmente o plugin de auditoria que permite facilmente gerenciar as conversas e conexões da rede.
Com a utilização do Ejabberd na instalação do servidor aberto aqui do projeto do site, onde qualquer pessoa pode se cadastrar e utilizar os serviços e o gerenciamento é quase que totalmente realizado através dos clients disponívels, a migração foi uma alternativa bem interessante que trouxe diversos benefícios e principalmente novos conhecimentos em Erlang e no banco de dados Mnesia.
Em geral, recomendo a todos o Ejabberd como servidor Jabber/XMPP!
É muito importante manter as máquinas da rede com o horário sincronizado e para a realização desta tarefa em sistemas Unix-Like normalmente utilizamos o próprio daemon do NTP que é bem completo e funcional, porém tem sua configuração um tanto quanto trabalhosa e um código complexo para auditoria.
O OpenNTPD tem como objetivo tornar a administração deste serviço mais simples, segura e flexível apresentando alta-performance, baixissimo consumo de recursos e com configurações mais triviais e otimizadas.
Para configurar um servidor OpenNTPD rodando sobre plataforma OpenBSD é necessário inicializar o servico automaticamente durante o boot (lembre-se que isso pode ter sido feito diretamente na instalação) adicionando a seguinte entrada no arquivo /etc/rc.conf.local:
“ntpd_flags=”
Para configurar os servidores onde o daemon vai manter o sincronismo, simplesmente edite o arquivo de configuração principal (/etc/ntpd.conf) e adicione a seguinte linha para cada servidor:
server servidor.ntp.publico
Ou então adicione um pool de servidores com a diretiva servers:
servers pool.ntp.org
Por padrão o OpenNTPD é somente um cliente para atualização local, para utilizá-lo como servidor NTP ouvindo em todos os IPs da máquina adicione a seguinte linha no /etc/ntp.conf:
listen on *
Para habilitar o serviço para um IP específico substitua o “*” pelo IP utilizado.
Segue um exemplo básico de configuração do OpenNTPD sincronizando com os servidores do NTP.br trabalhando como servidor:
# $OpenBSD: ntpd.conf, 2009/01/08 19:41$
listen on *
server a.ntp.br
server b.ntp.br
server c.ntp.br
Recentemente realizei a instalação de um sistema de ajuda/knowledge base rodando com base em Mediawiki e MySQL, porém após alguns dias quando já havia muito conteúdo e diversos usuários registrados fui notificado que a pesquisa (search) não estava sendo realizada corretamente e não retornava nenhum resultado ao serem pesquisadas as palavras php e asp (que abrangem boa parte do conteúdo até o momento).
Após algum tempo pesquisando verifiquei que o sistema de busca padrão do Mediawiki é o “fulltext search”, que por padrão ignora quaisquer palavras com menos de 4 caracteres nas pesquisas.
Para contornar esta situação era necessário setar o padrão mínimo de caracteres para 3 diretamente no banco de dados através do próprio my.cnf setando a variável “ft_min_word_len” para o valor desejado e reiniciando o serviço do MySQL:
[mysqld]
…
ft_min_word_len=3
E após a alteração do banco de dados é necessário recriar os índices de pesquisa do Mediawiki para utilizar o novo padrão, para realizar esta operação entre com a seguinte query em sua base de dados:
REPAIR TABLE searchindex QUICK;
Lembrando que a tabela searchindex pode ter o nome diferente dependendo do prefixo utilizado durante a instalação do mediawiki / criação da base de dados, por exemplo, se meu prefix é “wiki_” a minha tabela terá o nome “wiki_searchindex”.
Maiores informações de fulltext search na documentação oficial do MySQL…
Lembrando que existem diversas engines que aprimoram o sistema de busca do Mediawiki, como Lucene-search e Sphinx, se seu sistema de wiki for relativamente grande ou complexo recomendo dar uma olhada…