Настройки системы
В этом модуле вы можете устанавливать параметры работы сервера и панели, такие как имя сервера (hostname), регион и часовой пояс, по которому сервер должен считать свое время, автоматическое обновление программного обеспечения и др.
Настройки сервера
- Имя сервера — укажите название сервера. Это доменное имя, которое используется некоторыми приложениями. Значением должно быть доменное имя не ниже второго уровня.
- Часовой пояс — выберите время, которое будет отображаться на сервере с ISPmanager — UTC или местное. Для определения местного времени выберите Регион и Местоположение.
- Обновлять ПО автоматически — ежедневно запускать задание планировщика, автоматически устанавливающее обновления программного обеспечения с помощью менеджера пакетов ОС. Задание по умолчанию запускается в 3:10 ночи по времени сервера, изменить время запуска можно в планировщике. Обновляется все программное обеспечение, установленное на сервере с помощью пакетного менеджера, как наше, так и серверное ПО.
- Разрешить доступ поддержке — предоставить административный доступ к серверу команде технической поддержки ISPsystem. В целях безопасности клиентов мы не запрашиваем, и, соответственно, нигде не храним пароли клиентов. Включая и выключая данную галочку, клиент сам определяет, когда разрешить и когда запретить доступ на сервер для наших специалистов (обычно это необходимо на время решения каких-то вопросов в рамках технической поддержки). Технически, при включении галочки, система скачивает ssh-ключ нашей команды поддержки и разрешает root доступ к вашему серверу как в shell, так и в панель управления. При отключении галочки данный ключ просто удаляется. Кроме того наши партнеры имеют возможность активировать ключи своей поддержке вместо нашей, в этом случае на подсказке к галочке будет указано имя партнера, которому вы предоставляете доступ.
Настройки панели
Настройки данной секции сохраняются отдельно для каждой панели управления, установленной на вашем сервере
Уровень сложности пароля — панель вычисляет сложность вводимых паролей, вы можете использовать этот параметр для запрета использования слабых паролей. Подробнее о параметрах, отвечающих за генерацию и сложность пароля, см. в статье Параметры конфигурационного файла (параметры PWGenCharacters, PWGenLen, PWStrength).
Источник
Конфигурация web сервера
Поддерживаемое ПО
На данный момент ISPmanager работает со следующими серверами:
- Nginx версии не ниже 1.1.15
- Apache 2.2 и apache 2.4
Отличия от предыдущей реализации
- Информация о настройках web домена хранится во внутренней базе ISPmanager. Т.е. никакие изменения, вносимые в конфиги вручную, не влияют на состояние, отображаемое в панели, и могут быть потеряны при изменении параметров из панели, если настройки, сделанные вручную, и настройки, сделанные из панели, конфликтуют. Тем не менее вы можете вносить изменения в конфигурацию сервера вручную. Эти изменения будут сохранены при редактировании домена, если это возможно.
- Все настройки отдельного web домена находятся в отдельном файле. Файлы раскладываются по каталогам по имени владельца домена
- Настройки доступа к каталогам (diraccess) записываются в конфиг web сервера, в тот же файл что и настройки соответствующего web домена (раньше для этого использовался .htaccess)
- PHP может работать как через apache, так и через nginx (используется php-fpm). В связи с тем, что появилась возможность пользоваться php, не используя apache, при совместном использовании apache и nginx сервер apache может быть не запущен, если запрос может быть обработан средствами nginx.
- Появилась возможность использовать несколько IP адресов для web домена
- При включении SSL в настройках nginx создается отдельная секция server
- Для ротации журналов запросов и ошибок используется logrotate
Настройка web-сервера
Следующая группа параметров используется вне зависимости от того, какой web сервер вы используете
path php-cgi
Путь до исполняемого файла php-cgi
WebDefaultAliases
Набор дополнительных имен, которые будут предложены автоматически при создании web домена. Вы можете использовать макрос _name_, чтобы подставить в строку основное имя домена
BackendBind
Адрес, на котором будет поднят backend (web сервер, на который будет передавать запросы frontend сервер). При одновременной установке nginx и apache backend — apache.
WebModules
Список используемых web серверов
WebUser
Имя пользователя, с правами которого работает web сервер (необходимо указывать именно имя, а не uid)
WebGroup
Группа, с правами которой работат web сервер (необходимо указывать именно имя, а не gid)
WebRestartDelay
Минимальное время, которое должно проходить между перезапусками web сервера
SSLSecureProtocols
Список протоколов, указываемых web-серверу для использования в случае, если используется повышенная безопасность SSL (например, SSLSecureProtocols TLSv1 TLSv1.1 TLSv1.2)
SSLSecureChiphers
Список шифров в формате openssl, указываемых web-серверу для использования в случае, если используется повышенная безопасность SSL (например, SSLSecureChiphers HIGH:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!EXP:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2)
ApsExtRepository
Путь до xml-файла внешнего репозитория APS
Option ApsRepositoryUpdated
Наличие этой опции указывает, что при старте панели управления не нужно выполнять обновления списка APS-скриптов
Option DisableSecurePhpBin
Наличие этой опции отключает создание защищенной директории php-bin (DefaultHomeDir/php-bin/username) для пользователя и создание хардлинок для php и php.ini из домашней директории пользователя в защищенную директорию (применяется в режимах работы php как CGI или FastCGI (Apache)). Вместо этого php и php.ini будут создаваться в директории php-bin пользователя
Список доступных кодировок web домена берется из файла etc/charset. По умолчанию в нем указана только utf-8.
Настройка Apache
Во время запуска панели происходит опрос загруженных модулей apache. Так мы определяем список возможных настроек
cgi_module
возможность работы с CGI скриптами
fastcgi_module или fcgid_module
возможность работы с php в режиме fastcgi
php5_module
возможность работы c php через модуль apache
Если есть поддержка CGI и найден файл, указанный в path php-cgi, появляется возможность работы с php в режиме CGI
Далее приведен список параметров, используемых для настройки панели под конкретную конфигурацию apache.
Option ApacheITK
Добавляется, если используется apache ITK. При этом в конфиг вместо директивы SuexecUserGroup пишется AssignUserID
path apachectl
Путь до программы/скрипта, используемого для перезапуска apache. Должен уметь обрабатывать следующие параметры: -M (получить список модулей), graceful (мягкая перезагрузка), restart (жесткая перезагрузка, используется при добавлении/удалении IP адресов)
path apache-vhosts
Имя каталога, в котором будут создаваться файлы с настройками web доменов
path apache.conf
Путь до основного файла конфигурации apache. В него будут записываться директивы Listen и NameVirtualHost
ApacheWidePorts
Для указанных портов в apache будет добавляется Listen для всех IP адресов сервера. По умолчанию: 80 443. Это позволяет уменьшить количество жестких перезапусков apache.
Настройка Nginx
Во время запуска панели проверяется наличие сервиса php-fpm. Если он найден, будет доступно использовать в настройках web доменов php в режиме fastcgi.
Далее приведен список параметров, используемых для настройки панели под конкретную конфигурацию nginx.
path nginx-vhosts
Имя каталога, в котором будут создаваться файлы с настройками web доменов
path nginx-vhosts-includes
Пути до файлов с дополнительными настройками, которые будут добавлены в секцию server каждого web домена (используется директива Include)
path fpm-pool.d
Имя каталога, в котором будут создаваться файлы с настройками php-fpm
path fpm-service
Имя сервиса php-fpm. Используется для его перезапуска при добавлении новых пользователей.
path nginx-static
Используется для определения файлов, которые nginx должен отдавать самостоятельно.
path nginxctl
Используется для перезапуска nginx при добавлении новых web доменов. Должна обрабатывать параметры: reload (перечитать настройки web доменов), restart (перезапустить nginx, используется при добавлении/удалении IP адресов), stop/start (запустить nginx, используется при конвертации настроек в случае добавления/удаления web сервера)
path nginx-configtest
Используется для проверки корректности содержимого конфигурационных файлов Nginx. По умолчанию равна [path nginxctl] configtest
path nginx
Используется при запуске панели для проверки работоспособности nginx. Должна корректно обрабатывать параметр -V
ForwardedSecret
Используется для защиты от подделки IP адреса.
Пример
То создастся location
ForwardedSecret
В случае, если вы переправляете запросы из nginx в панель, мы определяем обратный адрес по HTTP заголовку X-Forwarded-For. Злоумышленник получает возможность подменить обратный адрес, используя этот заголовок, что, в свою очередь, позволяет ему воспользоваться чужими COOKIE для выполнения запросов от имени другого пользователя. Панель игнорирует заголовок X-Forwarded-For, если запрос не содержит заголовка X-Forwarded-Secret с таким же значением, как то, что записано в конфиге.
Перезапуск web сервера
Попытка перезапуска web сервера происходит через 2 секунды после последнего изменения настроек. Если в течение этого времени происходят другие изменения, то перезапуск будет отложен еще на 2 секунды. Дополнительно вы можете задать параметр WebRestartDelay — минимальную задержку между последовательными перезапусками web сервера.
В случае, если изменения не затрагивали списка прослушиваемых IP адресов/портов, делается мягкая перезагрузка web сервера, в противном случае сервер перезапускается полностью.
Ротация журналов
Все журналы web сервера записываются в каталог httpd-logs, недоступный пользователям. В домашнем каталоге пользователя создается каталог logs куда создаются жесткие ссылки на журналы посещений и ошибок web доменов пользователя. Кроме того, в каталог logs сохраняются старые копии журналов после ротации.
ISPmanager 6 использует logrotate для ротации журналов web сервера.
path logrotate.d
Указывает каталог, куда будут сохраняться настройки logrotate (отдельные файлы для каждого web домена)
LogrotateInfiniteValue
Указывает количество хранимых архивов, если в панели указано бесконечное значение
Анализаторы журналов
Теоретически, ISPmanager может работать с любыми анализаторами журналов. На данный момент через интерфейс могут быть установлены:
path analyzer.d
Указывает каталог, куда будут сохраняться скрипты для анализа журналов (отдельные файлы для каждого web домена)
При установке анализатора журналов в конфиг панели записывается следующая секция:
ConfPath
указывает путь, куда будут сохраняться настройки анализатора для конкретного web домена
BinPath
указывает путь до исполняемого файла
Lang
указывает поддерживаемые языки. Секция Analyzer может содержать любое количество таких строк
При включении анализатора журналов из каталога etc/template берется соответствующий шаблон скрипта (имя файла совпадает с именем анализатора). В нем происходит подстановка всех макросов (список макросов можно узнать, включив дебаг для модуля web) и копируется в каталог analyzer.d. Дополнительно формируется конфиг. Из etc/template берется соответствующий файл с расширением .conf, в нем так же заменяются все макросы и он сохраняется в файл, имя которого указано в ConfPath (вместо _NAME_ подставляется имя web домена).
Полученный скрипт вызывается всякий раз при ротации журнала через logrotate. Если вы задали периодический анализ, вызов этого скрипта будет добавлен в планировщик.
Для правильной настройки отображения статистики при настройке web-домена также используются следующие параметры конфигурационного файла панели управления:
- AwstatsEncoding — кодировка генерируемых awstats html-страниц отчетов
- WebalizerEncoding — кодировка генерируемых webalizer html-страниц отчетов
По умолчанию данные параметры имеют значение «utf-8»
Переконфигурирование web-сервера
В процессе эксплуатации web-сервера и панели управления может возникнуть ситуация, когда нужно произвести полную переконфигурацию web-сервера. При этом действии конфигурационные файлы всех созданных с помощью панели управления web-доменов будут созданы заново.
Для выполнения операции последовательно нужно выполнить следующие функции:
Пример выполнения с пом ощь ю mgrctl для ISPmanager Business:
Источник
Установка веб-сервера
Веб-сервер обслуживает запросы пользователей к сайтам на сервере с ISPmanager.
ISPmanager работает с веб-серверами:
- Nginx — обслуживает запросы статического содержимого;
- Apache — обслуживает запросы статического и динамического содержимого.
Рекомендуем использовать оба веб-сервера, так как Nginx лучше справляется с большой нагрузкой на сервер, чем Apache, но при этом не обрабатывает динамическое содержимое. Тогда Nginx будет обслуживать запросы статического содержимого, а Apache — динамического. Статическое содержимое передаётся пользователю в том же виде, в каком оно представлено на сервере. Динамическое содержимое перед отправкой пользователю изменяется скриптами.
Веб-серверы могут работать с несколькими WWW-доменами на одном IP-адресе. В Apache для этого используется механизм виртуальных хостов (VirtualHost), в Nginx — несколько секций server в конфигурационном файле. В конфигурационных файлах веб-серверов указываются все необходимые параметры работы сайтов. Эти параметры настраиваются на основе информации, указанной при создании WWW-домена. Подробнее см. в статье Создание WWW-домена.
Чтобы установить веб-сервер:
- Перейдите в Настройки → Конфигурация ПО → выберите Веб-сервер(WWW) → Изменить.
- Выберите тип установки Apache:
- не использовать;
- Apache MPM-Prefork — Apache с модулем Prefork. При запуске создаёт несколько процессов для обработки запросов. При большом количестве запросов это позволяет быстрее их обрабатывать. Процессы работают от имени пользователя, под которым запущен Apache. В связи с этим менее безопасен по сравнению с Apache MPM-ITK и требует больше прав на файлы сайтов;
- Apache MPM-ITK — Apache с модулем ITK. Создаёт отдельный процесс на каждый запрос. Процесс запускается под отдельным пользователем (uid) и группой пользователя (gid). За счёт этого он более изолирован и позволяет избежать проблем с доступом процесса к файлам сайта пользователя.
- Установите для Apache необходимые модули:
- Модуль PHP для поддержки режимов PHP «модуль Apache» и «FastCGI (Apache)». Подробнее см. в статье Режимы работы PHP.
- Анализаторы статистических журналов: Веб-статистика awstats и Веб-статистика webalizer. Подробнее см. в статье Настройка сбора статистики запросов к сайтам.
- Включите опцию Nginx, чтобы установить его.
- Установите для Nginx PHP-FPM FastCGI, чтобы поддерживался режим работы PHP «FastCGI (Nginx + PHP-FPM)». Подробнее см. в статье Режимы работы PHP.
- Включите опцию Ротация логов для архивирования и удаления старых журналов веб-серверов. Подробнее см. в статье Настройка сбора статистики запросов к сайтам.
- Нажмите Применить изменения и дождитесь окончания установки.
Источник