Конфигурация веб-сервера
В статье описаны настройки для веб-серверов Apache и Nginx. Все изменения вносятся в конфигурационный файл /usr/local/mgr5/etc/ispmgr.conf
- Информация о настройках сайта хранится во внутренней базе ispmanager. Т.е. никакие изменения, вносимые в конфигурационные файлы вручную, не влияют на состояние, отображаемое в панели, и могут быть потеряны при изменении параметров из панели, если настройки, сделанные вручную, и настройки, сделанные из панели, конфликтуют. Тем не менее вы можете вносить изменения в конфигурацию сервера вручную. Эти изменения будут сохранены при редактировании домена, если это возможно.
- Все настройки отдельного сайта находятся в отдельном файле. Файлы раскладываются по каталогам по имени владельца сайта.
- Настройки доступа к каталогам (diraccess) записываются в конфигурационный файл веб-сервера, в тот же файл, что и настройки соответствующего сайта (раньше для этого использовался .htaccess).
- PHP может работать как через Apache, так и через nginx (используется PHP-FPM). В связи с тем, что появилась возможность пользоваться PHP, не используя Apache, при совместном использовании Apache и nginx сервер Apache может быть не запущен, если запрос может быть обработан средствами nginx.
- Появилась возможность использовать несколько IP-адресов для сайта.
- При включении SSL в настройках nginx создается отдельная секция server.
- Для ротации журналов запросов и ошибок используется logrotate.
ForwardedSecret
В случае, если вы переправляете запросы из nginx в панель, мы определяем обратный адрес по HTTP заголовку X-Forwarded-For. Злоумышленник получает возможность подменить обратный адрес, используя этот заголовок, что, в свою очередь, позволяет ему воспользоваться чужими COOKIE для выполнения запросов от имени другого пользователя. Панель игнорирует заголовок X-Forwarded-For, если запрос не содержит заголовка X-Forwarded-Secret с таким же значением, как то, что записано в конфигурационном файле.
Перезапуск веб-сервера
Попытка перезапуска веб-сервера происходит через 2 секунды после последнего изменения настроек. Если в течение этого времени происходят другие изменения, то перезапуск будет отложен еще на 2 секунды. Дополнительно вы можете задать параметр WebRestartDelay — минимальную задержку между последовательными перезапусками веб-сервера.
В случае, если изменения не затрагивали списка прослушиваемых IP-адресов/портов, делается мягкая перезагрузка веб-сервера, в противном случае сервер перезапускается полностью.
Переконфигурирование веб-сервера
В процессе эксплуатации веб-сервера и панели управления может возникнуть ситуация, когда нужно произвести полную переконфигурацию веб-сервера. При этом действии конфигурационные файлы всех созданных с помощью панели управления сайтов будут созданы заново.
Данное действие не сохранит изменения в конфигурационных файлах, внесенные вручную!
Для выполнения операции последовательно нужно выполнить следующие функции:
webreconfigure.initialize с параметром shutdown=on
webreconfigure.restoreПример выполнения с помощью mgrctl для ispmanager:
/usr/local/mgr5/sbin/mgrctl -m ispmgr webreconfigure.initialize shutdown=on
/usr/local/mgr5/sbin/mgrctl -m ispmgr webreconfigure.restoreЧтобы переконфигурировать только конфигурационные файлы сайтов, не затрагивая основной конфигурационный файл веб-сервера, выполните вторую команду с параметром finalize=on:
/usr/local/mgr5/sbin/mgrctl -m ispmgr webreconfigure.restore finalize=on