Создание WWW-домена
Сайт — страница или группа страниц, которые транслируются в интернет и доступны пользователям по URL-адресу. Внешний вид и содержимое сайта формируются из его исходных файлов. Чтобы добавить в ISPmanager сайт, перейдите в Домены → WWW-домены → Создать и укажите параметры создания.
Основные настройки
- Укажите Имя WWW-домена. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляется строка:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка:server_name <имя WWW-домена>;
Конфигурационный файл Apache
ServerName <имя WWW-домена>
- Укажите Псевдонимы — дополнительные имена, которые будут использоваться для доступа к WWW-домену. По умолчанию после ввода имени WWW-домена указывается псевдоним "www.<имя домена>". Для псевдонима автоматически создастся ресурсная A-запись. Подробнее см. в статье Создание ресурсных записей доменной зоны. ПоясненияВ конфигурационном файле Nginx для WWW-домена в строке
Конфигурационный файл Nginx
добавляются псевдонимы WWW-домена:server_name <имя WWW-домена>;
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка:server_name <имя WWW-домена> <псевдонимы WWW-домена>;
Конфигурационный файл Apache
ServerAlias <псевдонимы WWW-домена>;
- Укажите Корневую директорию сайта. В ней хранятся файлы сайта на сервере. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляются строки:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка:set $root_path <путь к корневой директории>; root $root_path;
Конфигурационный файл Apache
DocumentRoot <путь к корневой директории>
- Выберите систему для управления содержимым сайта (CMS) в поле Выбор скрипта. CMS используют для наполнения сайта содержимым (статьи, фотографии, страницы и т. п.) Без неё для добавления нового или изменения существующего содержимого потребуется редактировать исходные файлы сайта. ISPmanager поддерживает CMS Drupal, Prestashop, WordPress, joomla, phpBB.
- Выберите Владельца WWW-домена — пользователя ISPmanager. ПоясненияВ <путь к директории Nginx>/vhosts создаётся директория с логином пользователя. В этой директории создаётся конфигурационный файл Nginx для WWW-домена с названием вида
.conf .В <путь к директории Apache>/conf/vhosts создаётся директория с логином пользователя. В этой директории создаётся конфигурационный файл Apache для WWW-домена с названием вида. - Выберите IP-адрес из списка добавленных в Настройки кластера → IP-адреса. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляется строка:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка:listen <IP-адрес>:<порт>;
Конфигурационный файл Apache
По умолчанию используются 80 порт для незащищённого соединения и 443 для защищённого.<VirtualHost <IP-адрес>:<порт>>
- Укажите E-Mail администратора — адрес электронной почты, который будет отображаться на страницах ошибок веб-сервера для WWW-домена. ПоясненияВ конфигурационном файле Apache для WWW-домена добавляется строка:
Конфигурационный файл Apache
ServerAdmin <Email администратора>
- Выберите Кодировку. Она определяет набор символов, которыми представляются данные сайта:
- Не указывать — будет использоваться значение по умолчанию для базы данных.
- utf-8 — включает все символы стандарта Юникод, в том числе латинские и кириллические. Рекомендуем использовать эту кодировку, т. к. она универсальная.
ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляется строка:Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка:charset <кодировка>;
Конфигурационный файл Apache
AddDefaultCharset <кодировка>
Обратите внимание!Чтобы изменить список кодировок, создайте файл /usr/local/mgr5/etc/charset и укажите в нём нужные значения. - Укажите Индексную страницу сайта. Эта страница открывается у пользователя, который переходит на сайт по доменному имени и не указал конкретной страницы. Например, при запросе www.example.com или www.example.com/test вместо www.example.com/index.php. Можно указать несколько страниц в порядке убывания значимости через пробел. Если первой указанной страницы не существует, то будет проверяться наличие второй страницы и т. д. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляется строка:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка:index <индексные страницы>;
Конфигурационный файл Apache
DirectoryIndex <индексные страницы>
- Включите опцию SSI, чтобы перед показом страниц сайта пользователю обрабатывались SSI-команды. SSI — язык программирования для динамической "сборки" страниц на сервере перед их показом. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляется строка:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка:ssi on;
Конфигурационный файл Apache
Options +Includes
- Если нужно, включите опцию Приоритетный. Используется, если на одном IP-адресе доступны несколько сайтов и пользователь запрашивает сайт по IP-адресу, а не доменному имени. В таком случае откроется приоритетный сайт. Если ни один сайт не указан приоритетным, откроется тот, доменное имя которого первое по алфавиту. При этом для кириллических доменов используются имена в кодировке punycode. ПоясненияВ конфигурационном файле Nginx для WWW-домена строка
Конфигурационный файл Nginx
изменяется наlisten <IP-адрес>:<порт>;
Конфигурационный файл Apache
В <путь к директории Apache>/conf/vhosts-default/ создаётся символическая ссылка на конфигурационный файл Apache для WWW-домена.listen <IP-адрес>:<порт> default;
Обратите внимание!Если включить опцию Приоритетный, то проверяется наличие на IP-адресе, который указан для домена, уже существующего приоритетного домена. Если такой домен существует, то он перестанет быть приоритетным. - Выберите способ создания Автоподдоменов. Эта функция позволяет автоматически создавать поддомены, не внося изменений в конфигурацию. Использование автоматических автоподдоменов освобождает от дополнительных операций. Поддомены автоматически добавляются при создании поддиректорий в корневой директории сайта:
- отключено — не создавать поддомены.
- в отдельной директории — файлы поддоменов нужно создавать в поддиректориях /var/www/www-root/data/www/ с именем поддомена. Например, для поддомена www.test.example.com, корневая директория которого расположена в /var/www/www-root/data/www/example.com файлы поддоменов нужно создавать в /var/www/www-root/data/www/test.example.com. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляются строки вида:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка вида:set $root_path /var/www/www-root/data/www; set $subdomain <имя WWW-домена>; if ($host ~* ^((.*).<имя WWW-домена>)$) { set $subdomain $1; } root $root_path/$subdomain;
Конфигурационный файл Apache
VirtualDocumentRoot /var/www/www-root/data/www/%0
- в поддиректории домена — файлы поддоменов нужно создавать в поддиректориях корневой директории сайта. Например, для поддомена www.test.example.com, корневая директория которого расположена в /var/www/www-root/data/www/example.com файлы поддоменов нужно создавать в /var/www/www-root/data/www/example.com/test. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляются строки вида:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляется строка вида:set $root_path /var/www/www-root/data/www/<имя WWW-домена>; set $subdomain ""; if ($host ~* ^((.*).<имя WWW-домена>)$) { set $subdomain $2; } root $root_path/$subdomain;
Конфигурационный файл Apache
VirtualDocumentRoot /var/www/www-root/data/www/<имя WWW-домена>/%1
Обратите внимание!При выборе способа создания автоподдоменов "в отдельной директориии" или "в поддиректории домена" в поле Псевдонимы добавляется значение "*.<имя домена>".
Обратите внимание!Возможность создания Автоподдоменов доступна, если опция Приоритетный отключена для домена. - Если нужно, укажите Комментарий. Он будет отображаться в списке WWW-доменов в столбце Комментарий.
Настройка защищённого соединения
Чтобы обезопасить данные, передаваемые между браузером пользователя и сайтом, включите опцию Защищённое соединение (SSL). Для защищённой передачи и шифрования данных используется протокол SSL. При этом требуется наличие сертификата для сайта.
Конфигурационный файл Nginx
ssl_certificate "/var/www/httpd-cert/www-root/<имя WWW-домена>.crt";
ssl_certificate_key "/var/www/httpd-cert/www-root/<имя WWW-домена>.key";
ssl_ciphers EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_dhparam /etc/ssl/certs/dhparam4096.pem
listen [<IP-адрес>]:<порт> ssl http2;
В конфигурационном файле Apache для WWW-домена создаётся вторая секция server. В ней добавляются строки вида: Конфигурационный файл Apache
SSLEngine on
SSLCertificateFile "/var/www/httpd-cert/www-root/<имя WWW-домена>.crt"
SSLCertificateKeyFile "/var/www/httpd-cert/www-root/<имя WWW-домена>.key"
SSLHonorCipherOrder on
SSLProtocol +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite EECDH:+AES256:-3DES:RSA+AES:!NULL:!RC4
Настройте параметры защищённого соединения:
- Включите опцию HSTS, чтобы при попытке открыть сайт по незащищённому соединению принудительно открывалось защищённое соединение. Перенаправление срабатывает, только если браузер пользователя уже подключался к сайту по защищённому соединению и запомнил это. При перенаправлении сервер возвращает код ответа "301 Moved Permanently". ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляется строка:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляются строки:add_header Strict-Transport-Security "max-age=31536000;"
Конфигурационный файл Apache
<IfModule headers_module> Header always set Strict-Transport-Security "max-age=31536000; preload" </IfModule>
- Включите опцию Перенаправлять HTTP-запросы в HTTPS, чтобы при попытке открыть сайт по незащищённому соединению принудительно открывалось защищённое соединение. Перенаправление срабатывает всегда. При перенаправлении сервер возвращает код ответа "301 Moved Permanently". ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляется строка:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляются строки:return 301 https://$host:443$request_uri
Конфигурационный файл Apache
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
- Если нужно, измените SSL-порт. Он используется для открытия защищённого соединения. По умолчанию — "443". ПоясненияПорт указывается в конфигурационном файле Nginx для WWW-домена в строке:
Конфигурационный файл Nginx
и в конфигурационном файле Apache для WWW-домена в строке:listen [<IP-адрес>]:<порт> ssl http2;
Конфигурационный файл Apache
<VirtualHost <IP-адрес>:<порт>>
- Выберите способ создания SSL-сертификата. Он используется для шифрования данных между браузером пользователя и сайтом:
- Новый самоподписанный — бесплатный недоверенный сертикат. Если его использовать для публичных сайтов, то соединение не будет считаться безопасным.
- Новый Let's Encrypt сертификат — бесплатный доверенный сертификат.
Настройка проксирования запросов
Включите опцию Nginx-прокси, чтобы перенаправлять запросы к пользовательским приложениям (например, phpMyAdmin, phpPGAdmin, Roundcube и т.д.).
Настройте параметры проксирования:
- Укажите IP-адреса nginx-прокси из списка добавленных в Настройки кластера → IP-адреса.
- Чтобы при перенаправлении открывался ISPmanager, включите опцию Проксировать запросы в панель. Иначе будет открываться содержимое сайта по доменному имени.
Подробнее см. в статье Nginx-прокси.
Настройка защиты от DDoS-атак
Чтобы настроить блокировку IP-адресов, с которых поступает большое количество запросов, Включите защиту от DDOS-атаки. В блоке настроек Защита от DDoS-атаки укажите параметры защиты:
- Количество запросов в секунду — при превышении этого количества запросов от одного IP-адреса, он блокируется на 5 минут.
- Максимальный размер всплеска — при превышении максимального количества запросов в секунду новые запросы блокируются. ПоясненияИспользуется модуль ngx_http_limit_req_module. Подробнее см. в статье Настройка защиты от DDoS-атак.
Поддержка динамического содержимого
PHP-скрипты
Если для сайта нужна поддержка скриптов на языке PHP, включите опцию PHP и настройте его работу:
- Выберите Режим работы PHP:
- модуль Apache — динамическое содержимое обрабатывает модуль PHP веб-сервера Apache.
- CGI — динамическое содержимое обрабатывает Apache в режиме CGI.
- FastCGI (Apache) — динамическое содержимое обрабатывает Apache в режиме FastCGI.
- FastCGI (Nginx + PHP-FPM) — динамическое содержимое обрабатывает PHP-FPM.
- Для режимов "CGI" и "FastCGI (Apache)" выберите нужную версию PHP (CGI).
- Для режима "модуль Apache" отключите опцию Использовать open_basedir, если нужно разрешить PHP-скриптам доступ ко всем директориям сервера. Если опция включена, доступ ограничен корневой директорией WWW-домена.
Подробнее см. в статье Режимы работы PHP.
CGI-скрипты
Если для сайта нужна поддержка CGI-скриптов, включите опцию CGI-скрипты и укажите Расширения файлов CGI-скриптов.
Конфигурационный файл Nginx
location / {
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
try_files $uri $uri/ @fallback;
}
location / {
try_files /does_not_exists @fallback;
}
}
location @fallback {
proxy_pass http://127.0.0.1:8080;
proxy_redirect http://127.0.0.1:8080 /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
access_log off;
}
В конфигурационном файле Apache для WWW-домена добавляются строки: Конфигурационный файл Apache
ScriptAlias /cgi-bin/ /var/www/<имя владельца WWW-домена>/data/www/<имя домена>/cgi-bin/
Options +ExecCGI
AddHandler cgi-script <расширения файлов>
Настройка журналов
- Чтобы ISPmanager собирал статистику запросов к веб-серверу, включите опцию Журнал запросов.
- Подключите анализатор журналов запросов для WWW-домена:
- Выберите Генератор отчётов.
- Укажите Период сбора статистики по запросам.
- Выберите Язык отчёта.
- Если нужно, включите опцию Ограничить доступ к статистике, укажите Пароль для доступа к статистике и его Подтверждение. В качестве логина будет использоваться имя владельца WWW-домена.
- Чтобы ISPmanager собирал статистику ошибок веб-сервера для WWW-домена, включите опцию Журнал ошибок.
- Выберите Период ротации журналов.
- В поле Хранить архивов укажите количество файлов журналов, которое будет храниться в заархивированном виде. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляются строки вида:
Конфигурационный файл Nginx
В конфигурационном файле Apache для WWW-домена добавляются строки вида:access_log /var/www/httpd-logs/<имя WWW-домена>.access.log; error_log /var/www/httpd-logs/<имя WWW-домена>.error.log notice;
Конфигурационный файл Apache
CustomLog /var/www/httpd-logs/<имя WWW-домена>.access.log combined ErrorLog /var/www/httpd-logs/<имя WWW-домена>.error.log
Обратите внимание!Дисковое пространство, занимаемое архивами, входит в квоту владельца WWW-домена. Подробнее см. в статье Подключение дисковых квот.
Для просмотра записей в журналах перейдите в Настройки web-сервера → WWW-журналы.
Для просмотра сгенерированных отчётов по статистике перейдите в Домены → WWW-домены → Статистика.
Подробнее см. в статье Настройка сбора статистики запросов к сайтам.
Настройка оптимизации
Настройка оптимизации доступна, только если установлен веб-сервер Nginx. Настройте её, чтобы уменьшить время загрузки сайта у пользователей:
- Включите опцию Настроить сжатие, чтобы статический контент сайта сжимался. К статическому контенту сайта относятся файлы, которые редко изменяются: изображения, звуки, музыка, видео и т. д. Такие файлы, как правило, занимают большой объём и замедляют загрузку сайта. Укажите Уровень сжатия. Максимальное значение — 9. Минимальное — 1. Рекомендуем — 5. ПоясненияВ конфигурационном файле Nginx для WWW-домена добавляются строки вида:
Конфигурационный файл Nginx
Подробнее см. в статье Настройка сжатия для WWW-домена.gzip on; gzip_comp_level <уровень сжатия>; gzip_disable "msie6"; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript
- Включите опцию Настроить кэширование, чтобы контент сайта кэшировался. Укажите Период кэширования и Значение периода, чтобы настроить время, в течение которого данные хранятся в кэше. При кэшировании результат медленных операций, которые выполняются при открытии сайта, сохраняется на указанный период времени. Это позволяет выполнять меньше операций, показывая пользователям заранее сохранённые данные. Однако, если на сайте изменился контент, который был ранее закэширован, пользователи будут получать старые данные из кэша пока не истечёт период его действия. ПоясненияВ конфигурационном файле Nginx для WWW-домена в секции location для статических файлов
Конфигурационный файл Nginx
location / { location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { try_files $uri $uri/ @fallback; }
добавляется строка:Конфигурационный файл Nginx
Например:expires <время кэширования>;
Конфигурационный файл Nginx
location / { location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { expires 2h; try_files $uri $uri/ @fallback; }