Назад | Перейти на главную страницу

Отключите ведение журнала доступа для доменов. (Используя CentOS и Apache)

Я пытаюсь отключить ведение журнала доступа для доменов на моем выделенном сервере более чем на 10 ЧАСОВ. Во время поиска я прочитал более 70 страниц. Я спросил на форуме Parallel, я спросил stackoverflow по-другому ... все же я не могу отключить ведение журнала доступа для доменов.

Конфигурация серверов - не моя профессия, многие люди в этой области могут считать меня новичком.

В прошлый раз попробовал отключить, добавив CustomLog /dev/null plesklog в /var/www/vhosts/xxx.com/conf/vhost.conf и запустите /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=xxx.com (источник). Но это не сработало.

Пожалуйста, помогите мне.

Я думаю, что мое решение не является правильным ответом на ОТКЛЮЧЕНИЕ ведения журнала всего домена, но, возможно, вам это нравится, потому что это простое решение ;-)

Моя первоначальная работа заключалась в том, чтобы замаскировать все IP-адреса из-за проблемы с конфиденциальностью. У меня есть два решения в зависимости от вашей версии Plesk. Эти решения были протестированы на apache2 CentOS и Debian.

Я перезаписываю директиву plesklog в «основном» файле конфигурации Apache. Формат "% h" заменяется фиксированным локальным IP-адресом, и расчет пространства Plesk и трафика будет работать, как и раньше.

В Debian squeeze / sid и Plesk 10.x измените файл конфигурации '/etc/apache2/apache2.conf'. Найдите строку: «Включить /etc/apache2/conf.d/» и перезапишите переменную «plesklog» (т.е.% h => 127.0.0.2). Перезагрузите apache2 ... Готово

#
# Hack to get rid of the IP Address in the log files, 
# plesklog HAVE TO defined AFTER the Plesk zz... Include!
#
Include /etc/apache2/conf.d/
<IfModule mod_logio.c>
    LogFormat "127.0.0.2 %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" plesklog
</IfModule>
<IfModule !mod_logio.c>
    LogFormat "127.0.0.3 %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" plesklog
</IfModule>

В CentOS с Plesk 9.5.x вы можете изменить формат в файле '/etc/httpd/conf.d/zz010_psa_httpd.conf' на нужный формат, см. Выше. Это возможно, потому что Plesk 9 не перенастраивает свою основную конфигурацию, как Plesk 10.

Если вы хотите вообще не вести журнал, просто введите минус или что хотите, т.е.

LogFormat "-" plesklog

Все должно быть сделано с правами root, и это повлияет на ВСЕ / ВСЕ домен plesk на этом сервере ;-)

Вам действительно нужно научиться задавать свои вопросы и перестать повторяться (вы открыли несколько сообщений по одному и тому же вопросу, каждая с разными деталями) ...

В вашем вопросе должно быть указано: «Как отключить журналы доступа для всех хостов в Apache, контролируемых Plesk?»

Из того, что я читал, нет простого способа из-за того, что Plesk создает / перезаписывает все файлы apache .conf каждый раз, когда вы что-то изменяете.

Кто-то создал сценарий оболочки, который заменяет все экземпляры «CustomLog» на «#CustomLog» во всех файлах http.include для каждого vhosts, и добавляет этот сценарий в crontab, чтобы он запускался каждые 15 минут.

Смотрите его ветку: http://forums.theplanet.com/lofiversion/index.php/t52435.html

Однако я бы использовал Perl для замены на месте, например, этой. Моя версия также комментирует строки CustomLog только в том случае, если это первое ключевое слово в строке, и я сделал так, чтобы httpd только перезагружался (SIGHUP), а не пытался его запустить, так что лучше:

#!/bin/bash

for FILE in /home/httpd/vhosts/*
do
    perl -p -i -e "s/^[[:space:]]*CustomLog/#CustomLog/" "$FILE/conf/httpd.include"
done
service httpd reload
exit 0

Убедитесь, что он запущен как root.

Чтобы отключить журнал доступа для определенного виртуального хоста, вам нужно будет найти соответствующий CustomLog строчку конфигурации и поставьте перед ней # чтобы превратить его в комментарий.

CustomLog logs/access_log plesklog

становится

#CustomLog logs/access_log plesklog

Как только вы это сделаете, перезапустите apache

service httpd restart

В вашем примере, чтобы передать свой журнал в / dev / null, вам нужно будет определить CusomLog следующим образом

CustomLog   "|/dev/null" plesklog

труба | вначале важно.