url image

Отключение логов Web-серверов

Журналы, также называемые логами (от англ. log), без ротации разрастались бы до неприличных размеров, занимая весь раздел жёсткого диска, отведённый под их хранение.

Ротация журналов (от англ. log rotation) — управление журналами системы: копирование, очищение, архивация, удаление устаревших архивов и перезапуск процесса, пишущего журнал. Правильно настроенная ротация сильно упростит работу администратора сервера.

Если в какой-то момент жизни сервера под управлением ISPmanager вы решили отказаться от использования данной панели вам необходимо знать, что ротация журналов ошибок и доступа к сайту производилась при помощи ISPmanager. Так как вы отказываетесь от лицензии на ISPmanager подобная ротация перестанет работать, что и приведет к вышеописанному увеличению размера журнала и со временем он может достичь размера, который вы считаете неприемлемым (всё свободное дисковое пространство сервера может быть занято журналом с ошибками, либо журналом доступа если на ваш сервер началась DDoS атака).

Правильнее всего настроить ротацию самостоятельно по статье Ротация журналов без ISPmanager, но если вы хотите вовсе отключить ведение журналов, вы можете продолжить чтение данной статьи.

Содержание

 

ISPmanager 6

Для ротации логов ISPmanager 6 по умолчанию использует утилиту logrotate. Сам logrotate запускается по крону ежедневно — /etc/cron.daily/logrotate . Соответственно, для того, чтобы исправить время запуска logrotate, нужно изменить время запуска cron.daily. Это можно сделать в файле /etc/crontab.

Более подробно механизм ротации и анализа логов описан в официальной документации панели ISPmanager 6 — Как работает ротация логов.

Через интерфейс

В данной версии панели не предусмотрено отключение логов сразу для всех доменов, поэтому отключать нужно для каждого домена отдельно:

  1. Зайти в раздел Сайты.
  2. Выделить домены у который вы хотите отключить логи.
  3. Нажать кнопку Изменить.
  4. В разделе Дополнительные настройки в поле Журналы сайта выберите вариант Не использовать журнал.
  5. Нажать кнопку Сохранить.

Отключение логов Apache вручную

Для того чтобы отключить логи в Apache нужно отредактировать конфигурационные файлы Apache, которые инклудятся. В различных ОС они находятся в разных местах:

Debian/Ubuntu

/etc/apache2/vhosts/<USERNAME>/<DOMAIN.NAME>

CentOS

/etc/httpd/conf/vhosts/<USERNAME>/<DOMAIN.NAME>

В конфигурационных файлах вам нужно найти и закомментировать строки

CustomLog /var/www/httpd-logs/example.com.access.log combined
ErrorLog /var/www/httpd-logs/example.com.error.log

Добавив в начало строки знак #

#CustomLog /var/www/httpd-logs/example.com.access.log combined
#ErrorLog /var/www/httpd-logs/example.com.error.log

После этого перезапустить Apache.

Debian/Ubuntu

systemctl restart apache2

CentOS

systemctl restart httpd


После этих действий Apache перестанет писать логи для всех сайтов. Останутся только его основные логи, которые будут ротироваться системными утилитами.

Отключение логов Nginx вручную

Для того чтобы отключить логи в Nginx нужно отредактировать конфигурационные файлы Nginx, которые добавляются в основной конфиг (Include). В различных ОС они находятся в разных местах:

Debian/Ubuntu/Centos

/etc/nginx/vhosts/<USERNAME>/<DOMAIN.NAME>


В конфигурационном файле вам нужно найти секцию Server для каждого домена на сервере.

В этой секции нужно закомментировать строки

access_log /var/www/httpd-logs/example.com.access.log
error_log /var/www/httpd-logs/example.com.error.log notice

Добавив в начало строки знак #

#access_log /var/www/httpd-logs/example.com.access.log
#error_log /var/www/httpd-logs/example.com.error.log notice

После этого перезапустить Nginx.

Debian/Ubuntu/CentOS

systemctl restart nginx

После этих действий Nginx перестанет писать логи для всех сайтов. Останутся только его основные логи, которые будут ротироваться системными утилитами.

Этот материал был полезен?

Скидка 25% новым клиентам!
Закажи сервер сегодня и получи скидку на первый месяц аренды!