ispmanager 6 lite, pro, host

Конфигурация веб-сервера

В статье описаны настройки для веб-серверов Apache и Nginx. Все изменения вносятся в конфигурационный файл /usr/local/mgr5/etc/ispmgr.conf

  1. Информация о настройках сайта хранится во внутренней базе ispmanager. Т.е. никакие изменения, вносимые в конфигурационные файлы вручную, не влияют на состояние, отображаемое в панели, и могут быть потеряны при изменении параметров из панели, если настройки, сделанные вручную, и настройки, сделанные из панели, конфликтуют. Тем не менее вы можете вносить изменения в конфигурацию сервера вручную. Эти изменения будут сохранены при редактировании домена, если это возможно.
  2. Все настройки отдельного сайта находятся в отдельном файле. Файлы раскладываются по каталогам по имени владельца сайта.
  3. Настройки доступа к каталогам (diraccess) записываются в конфигурационный файл веб-сервера, в тот же файл, что и настройки соответствующего сайта (раньше для этого использовался .htaccess).
  4. PHP может работать как через Apache, так и через nginx (используется PHP-FPM). В связи с тем, что появилась возможность пользоваться PHP, не используя Apache, при совместном использовании Apache и nginx сервер Apache может быть не запущен, если запрос может быть обработан средствами nginx.
  5. Появилась возможность использовать несколько IP-адресов для сайта.
  6. При включении SSL в настройках nginx создается отдельная секция server.
  7. Для ротации журналов запросов и ошибок используется 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