Implementando servidor de aplicações PHP utilizando Zend Framework

Esse mega artigo aborda todos os conceitos técnicos e práticos para a implementação de um servidor de aplicações PHP utilizando framework Zend, incluindo detecção de intrusão e entre outros conceitos. Vale a pena conferir.

[ Hits: 133.960 ]

Por: José Cleydson Ferreira da Silva em 27/04/2010


Padronizando o formato dos registros em arquivos de log



Os registros de log possuem extrema importância para administradores de sistemas, pois, a única forma que temos de detectar erros ou falhas é por meio da análise de arquivos que registram as transações realizadas pelo servidor, portanto é interessante padronizar esses registros de modo que possam ser lidos de forma clara e inteligível. Fazer essas configurações nem sempre são fáceis, o que requer um planejamento para padronizar os registros.

Separar os registros de cada sistema, ou portal, é a forma mais adequada para que não haja confusão na hora de procurar por falhas, de posse disso, pode-se direcionar os registros para um arquivo específico, bastando indicar o caminho do arquivo no parâmetro ErrorLog dentro do arquivo .htaccess, porém é necessário criar o arquivo dentro do diretório /var/log/apache2. Sugere-se que esse arquivo possua um nome que faça referência ao domínio utilizado, como mostra o exemplo abaixo.

ErrorLog /var/log/apache2/gnu-lia-error.log

Por padrão, o apache gera registros log com formatos com padrão próprio que por sua vez, tornam-os complicados para leitura, embora, é possível modelar o formato do registro conforme a necessidade de informações.

O módulo responsável por permitir essa formatação é o módulo mod_log_config, que é compatível com o apache 1.3 ou superior. Suas configurações podem ser feitas no arquivo de configuração principal apache.conf e no arquivo .htaccess caso esteja configurado no parâmetro AccessFileName no arquivo principal.

As linhas adicionadas no arquivo podem conter o nome do host, log remoto, usuário remoto e, caso necessite de autenticação, data, hora e status de requisição. Usa-se dois parâmetros para formatar o registro, LogFormat que define o formato e CustomLog que indica o diretório e um alias (nickname).

Veja abaixo todos os caracteres responsável pela formatação.

Tabela de caracteres:

CaracteresEspecificação
%aIP remoto
%AIP local
%BBytes enviados, exceto cabeçalho HTTP
%bBytes enviados, exceto cabeçalho HTTP, adicionando – (Traço) quando for 0 bytes
%cEstado de conexão, quando concluída
%fFileName: Nome de arquivo
%hHost remoto
%HProtocolo de pedido
%lRefere-se a log remoto
%mRequisição de método
%RAntes de solicitar
%sStatus da requisição
%tData e Hora padrão americano
%TTempo para atender a solicitação em segundos
%uUsuário remoto, em caso de autenticação disponível pelo auth
%UURL solicitada
%vNome do servidor, que responde a solicitação
%VNome do servidor de acordo com a configuração do UseCanonicalName


A opção customLog define o arquivo onde serão adicionados os logs e Log Format pode definir uma série de formatos, bem como, registrar quais navegadores acessam determinado portal e formato de registro combinado.

"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""

Um exemplo de configuração de log padronizado utilizando o arquivo .htaccess pode ser visto abaixo.

<VirtualHost *>

     ServerName     cleysinhonv.gnu-lia.org
     ServerAlias      cleysinhonv.gnu-lia.org cleysinhonv  
     ServerAdmin    [email protected]
     DocumentRoot "/home/usuario/public_html"
     ErrorLog          /var/log/apache2/gnu-lia-error.log
     logFormat        "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" gnu-lia
     CustomLog      /var/log/apache2/gnu-lia-error.log
     RedirectMatch ^/$ www.gnu-lia.org/cleysinhonv

</VirtualHost>

Para validar as configurações é necessário reiniciar o serviço.

Página anterior     Próxima página

Páginas do artigo
   1. Índice
   2. Introdução
   3. Sobre Zend Framework
   4. Particionamento
   5. Instalação do Servidor Web
   6. Habilitando o módulo mod_rewrite
   7. Habilitando o módulo mod_userdir
   8. Instalando Zend Framework
   9. Testando Zend Framework
   10. Padrões de diretórios para aplicações do Zend Framework
   11. Script para a criar a estrutura de diretório do MVC
   12. Configurando restrição de acesso
   13. Configurando Virtual Host
   14. Padronizando o formato dos registros em arquivos de log
   15. Suporte a conexões seguras com SSL
   16. Configurando exibição de erros
   17. Liberando acesso a ftp
   18. Rotinas de backup
   19. Ferramenta para detecção de intrusão (opcional)
   20. Acelerando o PHP (opcional)
   21. Considerações finais
Outros artigos deste autor

Bioinformática - PhyML: alinhamento de sequências nucleotídicas em ambiente paralelo

O comando LS de A a Z

Conheça tudo sobre os hardwares que compõem o seu computador com um simples comando

Bing: Medindo velocidade da conexão no Linux

Elaborando vídeo-aula no Linux com Gtk-recordMydesktop

Leitura recomendada

PHP Server Monitor - Monitore URLs e IPs

Gravação de CDs com o K3B

Convertendo formatos de vídeo/áudio

Importando extratos do Banco do Brasil para o Kmymoney (gerenciador de finanças pessoais)

Instalar o AWN no Ubuntu Hardy Heron

  
Comentários
[1] Comentário enviado por viniciusgnu em 27/04/2010 - 08:47h

Meu velho, como sempre está de parabéns! "Keep up with the good work"!
Abraço

[2] Comentário enviado por cleysinhonv em 27/04/2010 - 08:50h

Valeu Vinicius!

Como sempre "procurar" / "tentar" / "me esforçar" em publicar artigos completos que ajudem a comunidade como um todo!

[3] Comentário enviado por uberalles em 27/04/2010 - 11:00h

Que "putza" app server bacana!! Muito bem detalhado seu artigo e passo a passo.

[4] Comentário enviado por cleysinhonv em 27/04/2010 - 11:33h

Olá Andre Miguel,

Bacana né! Procurei Explicar de forma clara e detalhar o máximo possível! Acredito que este material irá ajudar muitas empresas e pessoas que queiram implemetar esse tipo de solução!

Um abraço!

[5] Comentário enviado por valterrezendeeng em 27/04/2010 - 13:04h

Muito Bom o Artigo
Bem Feito e completo

Parabéns !!!!


Abraço

[6] Comentário enviado por razgriz em 27/04/2010 - 13:10h

Belo artigo Kurumin, continue assim!

[7] Comentário enviado por cleysinhonv em 27/04/2010 - 13:16h

Olá valter! Olá Prof. RazGriz!

Obrigado! Fico grato e com sentimento de dever cumprido. Espero que esse artigo possa ajuda-los de alguma forma, utilize-o e indique-o a quem precisar!

Um abraço!


Contribuir com comentário