Достаточно часто в конфигурациях Apache я вижу схему, когда в httpd-vhosts.conf для одного и того же сайта делают 2 секции: одну для HTTP на порту 80 (с отдельной директивой Location для /.well-known/acme-challenge/ и редиректом на HTTPS версию сайта во всех остальных случаях) и другую для HTTPS на порту 443. Если веб-сервер обслуживает один-единственный сайт, то использование подобной схемы вполне оправдано, но если речь идёт об условной дюжине интернет ресурсов, то я предлагаю вариант получше.
Отключаем логгирование локальных 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>
Такой редирект всем хорош, кроме того, что не сохраняется тело запроса.
-
Свежие записи
Свежие комментарии
- Gabe Logan Newell к записи Редактор файла Hosts
Архивы
- Апрель 2026
- Март 2026
- Февраль 2026
- Январь 2026
- Декабрь 2025
- Ноябрь 2025
- Октябрь 2025
- Сентябрь 2025
- Август 2025
- Июль 2025
- Июнь 2025
- Май 2025
- Апрель 2025
- Март 2025
- Февраль 2025
- Январь 2025
- Июль 2024
- Ноябрь 2023
- Сентябрь 2023
- Август 2023
- Июль 2023
- Март 2023
- Ноябрь 2022
- Октябрь 2022
- Сентябрь 2022
- Июль 2022
- Июнь 2022
- Май 2022
- Март 2022
- Декабрь 2021
- Октябрь 2021
- Сентябрь 2021
- Август 2021
- Июль 2021
- Февраль 2021
- Январь 2021
- Апрель 2020
- Январь 2019
- Декабрь 2018
- Июнь 2018
- Январь 2018
- Ноябрь 2017
- Октябрь 2017
- Сентябрь 2017
- Август 2017
- Июнь 2017
- Май 2017
Рубрики
Мета
