Подскажите, можно ли в apache2 сделать вывод лога загрузка одного файла из папки? Например, софт soft.exe. Сколько раз пользователи его скачали. Ну или хотя бы просто пытались скачать.
В апаче такой возможности нет. CustomLog в <Location> не воткнёшь. Можно сделать просто. Добавь файл download.php с содержимым: PHP: <?phpini_set('display_errors', 'off');$logEntry = date('d.m.Y H:i:s') . "\t" . $_SERVER['REMOTE_ADDR'] . "\n";file_put_contents('download.log', $logEntry, FILE_APPEND);$fileName = 'soft.exe';header('Content-Length: ' . filesize($fileName));header('Content-Type: application/octet-stream');header('Content-Disposition: attachment; filename=' . $fileName);readfile($fileName); И качай файл через скрипт. Также, с помощью mod_rewrite, можешь замаскировать download.php под soft.exe и никто ничего не заметит.
правда глюк все равно. прописывая в файле apache2.conf данные строки, создается пустой файл но туда ничего не пишется: SetEnvIf Request_URI \.exe$ exe-image CustomLog "/var/log/apache2/exe-requests.log" common env=exe-image
лол а грепать типа уже не модно))? cat apache2.log | grep soft.exe | wc -l если линк всегда download.php то реально проще тогда как pas9x сказал, в сам файл логирование добавить, имхо не надо извращаться с апачом, не та это задача
t0ma5 лог грепать не совсем то. нужен отдельный файл. да и чтоб нагрузки меньше на систему. вообщем нашел такой выход: в конфиг добавить. апачь перезапустить SetEnvIf Request_URI "^soft\.exe$" crawler CustomLog logs/crawlers.log combined env=crawler и главное работает. показывает все запросы к файлу