Метка: Apache

Отключаем логгирование локальных IP в Apache

Даже при правильно настроенном веб-сервере нужно время от времени читать логи. В идеале с использованием парсера — с группировкой запросов по категориям, статистикой, фильтрацией по адресам и прочими аналитическими функциями. Впрочем, фильтрацию по адресам в логах Apache можно настроить и «нативно» — например, убрать из выдачи все запросы, отправленные из локальной сети, что существенно упростит чтение лога. Для этого потребуется создать «свой» формат лога. На примере виртуального хоста (файл httpd-vhosts.conf) это будет выглядеть так:

<VirtualHost *:443>
. . .
LogFormat "%h %l %u %t \"%r\" %>s %b" common
SetEnvIf Remote_Addr "192\.168\." no_log
CustomLog "Z:/domain.com_access_no_local.log" common env=!no_log
. . .
</VirtualHost>

После сохранения изменений нужно перезапустить веб-сервер.


Стилизованный листинг в Apache

У Apache есть отдельный модуль (mod_autoindex) который отвечает за листинг директорий и файлов. В принципе, его вполне достаточно чтобы организовать простой доступ к размещенному контенту без какой-либо CMS (и даже PHP не нужен). Единственный момент — этому модулю явно не хватает небольшой стилизации, однако это легко исправимо.

ЧИТАТЬ ДАЛЕЕ


Imagick для PHP 8.2.3 под Windows

В декабре прошлого, 2022-го года, вышла очередная версия PHP за номером 8.2. Спустя некоторое время народ начал потихоньку обновляться, правда, оказалось, что после обновления перестал загружаться модуль Imagick, а в логах поселилась ошибка:

PHP Warning: PHP Startup: imagick: Unable to initialize module
Module compiled with module API=20210902
PHP compiled with module API=20220829
These options need to match
in Unknown on line 0

Эта же ошибка встречалась и при использовании популярных пакетов типа WAMP, XAMP и т.д., причем исправлять её никто не спешил. Проблема очевидна — нужно собирать Imagick для актуальной версии PHP. Ниже я привожу ссылки на билд Imagick 7.1.0-62 для PHP 8.2.3, Thread Safe и Non Thread Safe. Традиционно — для платформы MS Windows:
Imagick 7.1.0-62 для PHP 8.2.3 (Win64, NTS)
Imagick 7.1.0-62 для PHP 8.2.3 (Win64, TS)
Собрано в VC16, нужны соответствующие распространяемые наборы библиотек.


Редирект с сохранением URL в Apache

Обычный редирект в Apache не является чем-то необычным. Я приведу пример из файла конфигурации виртуальных хостов, где мы слушаем 80-й порт (http) и делаем перенаправление на 443-й (https):

<VirtualHost *:80>

ServerName domain.com
ServerAlias www.domain.com
Redirect / https://domain.com/

</VirtualHost>

Такой редирект всем хорош, кроме того, что не сохраняется тело запроса.

ЧИТАТЬ ДАЛЕЕ