erro de apache e logs de acesso estão faltando, qual poderia ser a causa e como posso recriá-los?

3

Recebi uma tarefa para entender por que 2 servidores web CentOS rodando o apache 2.2.3 estão tendo cargas muito altas em ocasiões específicas. A primeira coisa que verifiquei foi /var/log/messages , mas percebi que o rsyslog está desativado por algum motivo, então eu iniciei e liguei usando chkconfig . Então, eu queria verificar o erro do apache e acessar os logs, então eu naveguei para /var/log/httpd mas achei a pasta vazia. Eu verifiquei /etc/httpd/conf/httpd.conf e vi estas linhas:

ErrorLog logs/error_log
CustomLog logs/access_log combined

Até onde eu sei, refere-se a /var/log/httpd/ mas como dito antes a pasta está vazia. Enquanto escrevia esta pergunta, procurei a versão do httpd no servidor e executei httpd -v , e essa é a resposta que recebi:

[root@domU-IP httpd]# httpd -v
Server version: Apache/2.2.3
Server built:   May  4 2011 06:51:15
Unable to open logs

Minhas perguntas são:

 1. What could cause the logs to disappear? (It is possible they were never created in the first place)
 2. How can I recreate the logs and make sure data is written to them?
 3. Which permissions should be set on '/var/log/httpd'? (current permissions are: drwx------ 2 root root)

Obrigado antecipadamente

    
por Itai Ganot 07.07.2014 / 14:49

2 respostas

4

Quando as referências de caminho em uma configuração do Apache não são absolutas (ou seja, não comece com / ), elas são relativas ao diretório definido na diretiva ServerRoot . Um padrão comum para o ServerRoot é /etc/httpd making /etc/httpd/logs do seu diretório de log.

A maioria das versões empacotadas do Apache cria um link simbólico de /etc/httpd/logs a /var/log/httpd . O diretório atual em / etc / httpd está faltando (ou o sistema de arquivos raiz está cheio) ou o link simbólico pode estar faltando na sua configuração.

O Apache é iniciado pelo root e abre os arquivos de log como root antes de eliminar os privilégios para que as permissões de diretório em / var / log / httpd pareçam corretas.

    
por 07.07.2014 / 15:13
1

Meu problema é que não havia uma diretiva de registro para o log de acesso. Eu segui as instruções aqui link que basicamente diz:

No Ubuntu, você deve ter um arquivo chamado /etc/apache2/conf.d/other-vhosts-access-log com o seguinte conteúdo:

# Define an access log for VirtualHosts that don't define their own logfile
CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined

Eu estava sentindo falta disso, e é por isso que não recebi os registros.

    
por 23.01.2017 / 12:33