Веб-сервер

Используя Plesk SDK API, расширение может изменять конфигурацию веб-сервера.

  • Класс pm_Hook_WebServer позволяет описывать персональные директивы для доменов, которые должны быть добавлены к файлам конфигурации.
  • Класс pm_WebServer используется, чтобы дать инструкции веб-серверу для обновления конфигурации для указанного домена.

Следующий пример проекта предоставлен Plesk, чтобы проиллюстрировать добавление изменений в конфигурационные файлы веб-сервера: https://github.com/plesk/ext-web-server.

Добавление персональной конфигурации

Следующие методы класса pm_Hook_WebServer используются, чтобы описать персональные директивы, добавленные расширением в конфигурационные файлы веб-сервера:

  • getDomainApacheConfig(pm_Domain $domain) – возвращает строку, которая будет добавлена к конфигурации Apache в качестве персональной директивы <VirtualHost></VirtualHost>.
  • getDomainNginxConfig(pm_Domain $domain) – возвращает строку, которая будет добавлена к конфигурации nginx в качестве персональной директивы {...}, когда nginx используется как основной веб-сервер.
  • getDomainNginxProxyConfig((pm_Domain $domain) – возвращает строку, которая будет добавлена к конфигурации nginx в качестве персональной директивы {...}, когда nginx используется в режиме proxy.
  • getDomainIisConfig(pm_Domain $domain) – возвращает XML как строку, которая будет добавлена к конфигуратору Plesk IIS.

Эти методы будут вызываться каждый раз при перенастройке домена.

class Modules_WebServer_WebServer extends pm_Hook_WebServer
{
 public function getDomainApacheConfig(pm_Domain $domain)
 {
 возвращает конфигурацию '# Apache для домена: ' . $domain->getName();
 }
 public function getDomainNginxConfig(pm_Domain $domain)
 {
возвращает конфигурацию '# Nginx для имени домена: ' . $domain->getName();
 }
}

Настройки конфигурации домена

Метод pm_WebServer::updateDomainConfiguration() используется для того, чтобы немедленно обновить конфигурацию указанного домена. Например, это можно сделать после того, как какая-либо дополнительная служба была активирована расширением на этом домене.

$webServerManager = new \pm_WebServer();
$webServerManager->updateDomainConfiguration(new \pm_Domain(1));
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.