Бесплатная панель на nginx без лицензии: требования, установка одной командой, администратор создаётся в браузере на порту 8443, первый сайт, бесплатный SSL, чем отличается от cPanel.
Панель управления - это веб-интерфейс к серверу: сайты, базы данных, SSL и настройки PHP делаются мышкой, без правки конфигов. CloudPanel - бесплатная панель на базе nginx: лёгкая, без рекламы, с прицелом на разработчиков. Из коробки поднимает сайты на PHP, Node.js, Python, статике и WordPress, плюс обратный прокси. В инструкции - как поставить CloudPanel на чистый VPS, создать администратора, завести первый сайт и выпустить бесплатный сертификат.
Коротко. CloudPanel ставится на Ubuntu 22.04/24.04 и Debian 11/12. Нужен чистый сервер, от 2 ГБ памяти (нужна СУБД), root и доступ по SSH. Лицензия не нужна - панель бесплатна полностью. Установка: одна команда, 8-12 минут. Вход -
https://АДРЕС:8443, учётную запись администратора вы создаёте прямо в браузере при первом заходе.
Панель оправдана, если вы держите на сервере несколько сайтов, часто заводите домены, хотите SSL, бэкапы и переключение версий PHP в пару кликов и не хотите вручную писать vhost-ы nginx.
Панель не нужна, если проект один и вы уверенно работаете в терминале: панель ставит свой стек и свою структуру каталогов. Про такой путь - Как развернуть сервис на сервере.
Создайте новый сервер HIP на Ubuntu 24.04 (как - в статье Как создать сервер в панели HIP) или возьмите существующий, на котором ещё ничего не развёрнуто. Зайдите по SSH под root.
Дождитесь, пока сервер закончит первичную настройку (иначе установщик CloudPanel столкнётся с фоновым apt и упадёт):
cloud-init status --wait
Обновите пакеты:
apt update && apt -y upgrade
Отдельно настраивать файрвол на этом шаге не нужно - при желании ограничите доступ к порту 8443 позже, из самой панели или через ufw.
Скачайте официальный установщик Community Edition и запустите его:
curl -sSL https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh
bash install.sh
По умолчанию установщик поднимет MySQL. Если хотите MariaDB, задайте перед запуском переменную окружения:
DB_ENGINE=MARIADB_11.4 bash install.sh
Дальше установщик работает сам: ставит nginx, PHP всех поддерживаемых версий (с 7.1 по 8.5), СУБД, Node.js, Python и саму панель. Это 8-12 минут. Если SSH может оборваться, запускайте команду внутри screen: apt install -y screen && screen -S clp, вернуться потом - screen -r clp.
В конце установщик сообщит, что панель доступна по адресу https://АДРЕС:8443. Отдельных логина и пароля он не выдаёт - вы создадите администратора при первом входе.
Откройте в браузере https://АДРЕС:8443, где АДРЕС - IP сервера. Браузер предупредит о самоподписанном сертификате - для первого входа это нормально, соединение всё равно шифруется. Продолжите.
Откроется форма Admin User Creation: имя и фамилия, имя пользователя, email, пароль, часовой пояс. Заполните, отметьте согласие с условиями и нажмите Create User. Это учётная запись администратора всей панели.
После создания вас перекинет на страницу входа - зайдите под только что заданными логином и паролем. Откроется список сайтов, пока пустой.
Нажмите + ADD SITE. CloudPanel спросит тип сайта: WordPress, PHP, Node.js, статический HTML, Python или обратный прокси.
Для обычного сайта на PHP выберите Create a PHP Site и заполните форму:
Generic для произвольного кода, либо готовый шаблон (Laravel, Symfony и т.д.).Нажмите Create. Панель создаст пользователя, каталог сайта (/home/ПОЛЬЗОВАТЕЛЬ/htdocs/ДОМЕН), запись nginx и самоподписанный сертификат.
Дальше сайтом управляют через кнопку Manage - вкладки Settings (домен, корневой каталог, версия и лимиты PHP), Vhost (конфиг nginx), Databases, SSL/TLS, SSH/FTP, File Manager, Cron Jobs, Logs.
Откройте у сайта вкладку SSL/TLS и нажмите New Let's Encrypt Certificate. В списке доменов будут сам домен и www-поддомен; добавьте другие при необходимости и нажмите Create and Install.
Сертификат выпустится, если домены уже указывают A-записью на этот сервер, установится в nginx автоматически и будет продлеваться сам.
.htaccess не работают - правила пишут в конфиге nginx.cloud-init status --wait и запустите установку заново.:8443 не открывается. Порт закрыт файрволом. Внутри сервера: ufw allow 8443/tcp. Проверьте и внешний файрвол.