Это руководство показывает, как установить SSL-сертификат на Sentora, панель управления веб-хостингом с открытым исходным кодом, созданную как форк ZPanel. В нём рассматривается создание CSR, вставка сертификата, ключа и связки CA в модуль Apache Admin Sentora, а также усиление получившегося виртуального хоста современными настройками TLS.
Примечание о статусе поддержки Sentora
Прежде чем начать: официальная разработка Sentora за последние несколько лет резко замедлилась. Последний стабильный релиз в репозитории sentora/sentora-core — v2.0.2 (май 2024, PHP 7.4); ветка 2.1.x, ориентированная на PHP 8.x, до сих пор помечена как только для разработки и не предназначена для промышленного использования. Существует форк от сообщества, Sentora-NG, но он небольшой. Если вы настраиваете новый сервер, активно поддерживаемым преемником с открытым исходным кодом, на который переходит большинство администраторов, является HestiaCP — форк VestaCP с похожим интерфейсом, актуальной поддержкой PHP и TLS, а также встроенным Let’s Encrypt. Для коммерческой поддержки обычно выбирают Plesk. Приведённые ниже шаги по-прежнему применимы к существующей установке Sentora, и процесс работы с SSL не изменился.
Создание кода CSR на Sentora
Если вы уже создали CSR и получили выпущенный сертификат от вашего CA, перейдите к разделу установки.
Каждый коммерческий SSL/TLS-сертификат начинается с CSR (запроса на подпись сертификата) — блока закодированного текста, который содержит данные вашего домена и контактную информацию и связан с закрытым ключом. У вас есть два варианта:
- Создать CSR автоматически с помощью нашего Генератора CSR. CSR и его закрытый ключ создаются в вашем браузере, поэтому сохраните ключ в надёжном месте: во время установки вы вставите его на сервер как yourdomain.key.
- Создать CSR непосредственно на сервере, следуя нашему руководству как создать CSR на Sentora.
Откройте CSR в любом текстовом редакторе (например, в Блокноте), скопируйте весь блок (включая строки BEGIN CERTIFICATE REQUEST и END CERTIFICATE REQUEST) и вставьте его в форму заказа. После проверки CA отправит вам по электронной почте файлы выпущенного сертификата.
Установка SSL-сертификата на Sentora
В Sentora нет встроенной формы для вставки SSL-сертификата от третьей стороны, как это есть в cPanel или VestaCP. Установка состоит из двух этапов: скопировать файлы сертификата на сервер, а затем подключить их к Apache через модуль Apache Admin Sentora, чтобы панель переписала виртуальный хост при следующей синхронизации.
Шаг 1: Подготовьте файлы SSL
После того как удостоверяющий центр выпустит ваш сертификат, скачайте ZIP-архив и распакуйте его. У вас должно получиться три файла:
- Основной сертификат сервера для вашего домена (файл .crt).
- Закрытый ключ, созданный вместе с CSR (файл .key).
- Связка CA, содержащая промежуточные сертификаты (файл .ca-bundle или .crt от CA).
Некоторые CA предоставляют единый объединённый файл цепочки; другие отправляют корневой и промежуточный сертификаты отдельными файлами. Если они разделены, откройте их в обычном текстовом редакторе и вставьте сначала промежуточный, затем корневой сертификат в один файл, сохранённый как yourdomain.ca-bundle.crt. Не оставляйте пустых строк между сертификатами и убедитесь, что каждый блок сохраняет свои маркеры BEGIN CERTIFICATE и END CERTIFICATE.
Шаг 2: Скопируйте файлы на сервер
Откройте сессию SSH к серверу и получите права root, либо добавляя перед каждой командой sudo, либо открыв корневую оболочку с помощью sudo -i. Создайте каталог SSL в директории Apache и скопируйте туда три файла (используйте scp, sftp или редактор по вашему выбору, чтобы предварительно загрузить их):
sudo mkdir -p /etc/apache2/ssl
sudo cp yourdomain.crt /etc/apache2/ssl/yourdomain.crt
sudo cp yourdomain.key /etc/apache2/ssl/yourdomain.key
sudo cp yourdomain.ca-bundle.crt /etc/apache2/ssl/yourdomain.ca-bundle.crt
sudo chmod 600 /etc/apache2/ssl/yourdomain.key
Ограничение прав доступа к файлу ключа до режима 600 не позволяет другим локальным пользователям читать закрытый ключ.
Шаг 3: Включите модуль SSL для Apache
Если модуль SSL ещё не активен, включите его и перезапустите Apache:
sudo a2enmod ssl
sudo service apache2 restart
Команда a2enmod ssl сама создаёт символические ссылки mods-enabled/ssl.conf и mods-enabled/ssl.load, поэтому создавать их вручную не нужно. Вы можете убедиться, что модуль загружен, с помощью команды apache2ctl -M | grep ssl.
Шаг 4: Добавьте виртуальный хост SSL через Apache Admin
Войдите в Sentora как пользователь-администратор, затем перейдите в Admin > Module Admin > Apache Admin. Вставьте следующий текст в поле Global Sentora entry, скорректировав пути к файлам и имена хостов в соответствии с вашей установкой:
##################################################
# Apache vhost configuration for Sentora
# Adds an HTTPS virtual host that uses your cert
##################################################
<VirtualHost *:443>
ServerAdmin zadmin@localhost
DocumentRoot "/etc/sentora/panel/"
ServerName panel.example.com
ServerAlias sentora.example.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/yourdomain.crt
SSLCertificateKeyFile /etc/apache2/ssl/yourdomain.key
SSLCertificateChainFile /etc/apache2/ssl/yourdomain.ca-bundle.crt
# Modern TLS only. SSLv2, SSLv3, TLS 1.0 and TLS 1.1
# are deprecated and unsafe (POODLE, BEAST).
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
SSLCipherSuite HIGH:!aNULL:!MD5:!3DES:!RC4
SSLCompression off
</VirtualHost>
Замените panel.example.com и имена файлов на ваше действительное имя хоста и пути к сертификату. Сохраните запись. Sentora переписывает конфигурацию Apache при следующей синхронизации демона (и при сохранении), поэтому не редактируйте /etc/apache2/sites-available напрямую: панель перезапишет её.
О SSLProtocol SSLv3: в более старых руководствах по Sentora, включая предыдущие версии этого руководства, в поле Apache Admin вставляется SSLProtocol SSLv3. Не используйте это значение. SSL 3.0 признан скомпрометированным после раскрытия уязвимости POODLE в 2014 году (CVE-2014-3566) и отключён во всех современных браузерах; виртуальный хост Apache, принудительно использующий только SSLv3, будет отвергать современные клиенты, а если бы они его принимали, это было бы небезопасно. Приведённый выше блок ограничивает Apache только TLS 1.2 и 1.3, что является актуальным безопасным стандартом.
Шаг 5: Перезапустите Apache
После сохранения записи в Apache Admin проверьте конфигурацию и перезагрузите службу:
sudo apache2ctl configtest
sudo service apache2 restart
Если configtest сообщает Syntax OK, новый виртуальный хост работает. Откройте панель по адресу https://panel.example.com и проверьте значок замка.
Дополнительно: использование Let’s Encrypt через модуль Sencrypt
Если вам не нужен платный сертификат, модуль сообщества Sencrypt (поддерживается по адресу TGates71/sencrypt одним из первоначальных разработчиков Sentora) выпускает и автоматически продлевает бесплатные сертификаты Let’s Encrypt для панели и для размещённых доменов. Он входит в состав некоторых установок Sentora и доступен как отдельное дополнение для других; после установки перейдите в Admin > Module Admin > Sencrypt SSL (или Sencrypt в разделе управления доменами для размещённого сайта), выберите домен и запустите действие выпуска сертификата. Sencrypt выполняет проверку HTTP-01 через порт 80 и автоматически размещает полученный сертификат, ключ и цепочку. Домен должен уже разрешаться в DNS на этот сервер, чтобы проверка прошла успешно.
Проверка установки SSL
После перезапуска Apache откройте ваш сайт по https:// и проверьте значок замка. Для более глубокой проверки, подтверждающей промежуточную цепочку и поддержку протоколов, запустите проверку имени хоста через наш SSL Checker. Если в отчёте указано на отсутствующий промежуточный сертификат, снова откройте Apache Admin, убедитесь, что путь в SSLCertificateChainFile указывает на связку CA, скопированную в Шаге 2, сохраните и перезапустите Apache ещё раз.
Часто задаваемые вопросы
Официальная разработка Sentora за последние несколько лет резко замедлилась. Последний стабильный релиз в репозитории sentora/sentora-core — v2.0.2 от мая 2024 года (PHP 7.4), а ветка 2.1.x, ориентированная на PHP 8.x, до сих пор помечена как только для разработки, без LTS или активного потока релизов безопасности. Существует форк от сообщества, Sentora-NG, но он небольшой. Большинство администраторов, ищущих активно поддерживаемого преемника с открытым исходным кодом, переходят на HestiaCP; Plesk обычно выбирают для коммерческой поддержки. Существующие установки Sentora продолжают работать, а описанный выше процесс установки SSL всё ещё позволяет установить действующие сертификаты.
Sentora не устанавливает фиксированное расположение для сертификатов от третьих сторон. В этом руководстве используется соглашение /etc/apache2/ssl/yourdomain.crt, yourdomain.key и yourdomain.ca-bundle.crt, на которые ссылается виртуальный хост, добавляемый через Apache Admin. Сертификаты, выпущенные модулем сообщества Sencrypt для Let’s Encrypt, находятся в собственном каталоге данных модуля Sencrypt и автоматически подключаются к Apache.
SSL 3.0 был скомпрометирован атакой POODLE в 2014 году (CVE-2014-3566) и был удалён из всех основных браузеров много лет назад. Указание SSLProtocol SSLv3 заставляет Apache согласовывать только этот протокол, поэтому современные клиенты не смогут подключиться, а любой клиент, который всё же подключился бы, оказался бы под угрозой. Используйте SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1, чтобы разрешить только TLS 1.2 и 1.3 — это актуальный безопасный стандарт.
Нет. sudo a2enmod ssl сама создаёт символические ссылки ssl.conf и ssl.load в каталоге /etc/apache2/mods-enabled/. В более старых руководствах по Sentora приводятся отдельные команды ln -s, но они дублируют то, что уже сделала команда a2enmod. Выполните apache2ctl -M | grep ssl, чтобы убедиться, что модуль загружен.
Можете, но изменение не сохранится. Sentora регенерирует конфигурацию Apache из собственных шаблонов при каждой синхронизации и перезапишет всё, что вы вручную добавили в /etc/apache2/sites-available. Используйте Global Sentora entry модуля Apache Admin для глобальных директив или запись для конкретного домена для отдельного сайта, чтобы Sentora сохраняла ваши изменения при перезаписи конфигурации.
Наиболее распространённая причина — отсутствующий или неверный путь SSLCertificateChainFile в записи Apache Admin. Убедитесь, что путь указывает на файл связки CA, скопированный в Шаге 2, и что связка содержит все промежуточные сертификаты между сертификатом вашего домена и корневым сертификатом, причём каждый блок ограничен маркерами BEGIN CERTIFICATE и END CERTIFICATE. Сохраните запись в Apache Admin, перезапустите Apache, затем снова запустите наш SSL Checker.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10


