1. Введение
CloudPanel — это современная панель управления сервером, разработанная специально для PHP-приложений. Она предоставляет интуитивно понятный веб-интерфейс для управления веб-серверами, облегчая развертывание и поддержку PHP-приложений. Это полное руководство проведет вас через процесс установки и настройки, охватывая все, начиная с базовой установки и заканчивая расширенными возможностями.
2. Системные требования
Перед началом установки убедитесь, что ваша система соответствует этим минимальным требованиям:
- Операционная система: Ubuntu 20.04 LTS или 22.04 LTS (рекомендуется)
- ОПЕРАТИВНАЯ ПАМЯТЬ: Минимум 1 ГБ (рекомендуется 2 ГБ или более)
- ПРОЦЕССОР: 1 ядро (рекомендуется 2 ядра или более)
- Хранение: минимум 20 ГБ
- Сеть: Активное подключение к Интернету
- Чистая установка сервера (не установлены другие панели управления или веб-серверы)
3. Предварительные условия
Перед установкой CloudPanel необходимо подготовить систему. Вот что вам нужно сделать:
Обновить системные пакеты
Сначала обновите список пакетов системы и обновите существующие пакеты:
$ sudo apt update
$ sudo apt upgrade -y
Установите правильный часовой пояс
Убедитесь, что часовой пояс вашего сервера установлен правильно:
$ sudo timedatectl set-timezone UTC
При необходимости замените UTC на предпочитаемый часовой пояс.
Установка основных пакетов
Установите необходимые системные утилиты:
$ sudo apt install -y curl wget git unzip net-tools
4. Процесс установки
Загрузите сценарий установки
CloudPanel предоставляет скрипт автоматической установки. Загрузите его, используя:
$ curl -sSL https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh
Проверка сценария (необязательно, но рекомендуется)
Проверьте целостность сценария:
$ sha256sum install.sh
Сделать сценарий исполняемым
$ chmod +x install.sh
Запустите сценарий установки
$ sudo ./install.sh
Процесс установки займет примерно 5-15 минут, в зависимости от технических характеристик вашего сервера и скорости интернет-соединения. Сценарий выполнит:
- Установит системные зависимости
- Настройте брандмауэр
- Установка и настройка Nginx
- Установите версии PHP
- Установите MySQL
- Настройте интерфейс CloudPanel
Во время установки вы будете видеть различные индикаторы выполнения и, возможно, иногда вам будет предложено ввести данные.
5. Начальная установка и конфигурация
Доступ к панели управления
После завершения установки вы получите следующую информацию:
- URL CloudPanel (https://your-server-ip:8443)
- Учетные данные администратора
Войдите в панель, используя эти учетные данные. При первом входе в систему вам будет предложено:
- Изменить пароль администратора
- Настройка параметров электронной почты
- Настройка предпочтений резервного копирования
Конфигурация электронной почты
Чтобы настроить уведомления по электронной почте:
- Перейдите в раздел Настройки → Электронная почта
- Выберите поставщика услуг электронной почты:
- SMTP
- Amazon SES
- Mailgun
Для настройки SMTP:
$ sudo clp-email-config --smtp-host=smtp.gmail.com \
--smtp-port=587 \
--smtp-encryption=tls \
[email protected] \
--smtp-password='your-password'
6. Управление доменом
Добавление нового домена
- Нажмите «Сайты» в левом меню
- Нажмите «Добавить сайт».
- Введите данные о домене:
- Доменное имя
- Версия PHP
- Корень документа
- Тип приложения
Настройка параметров домена
Для каждого домена можно настроить:
$ sudo clp-domain-config --domain=example.com \
--php-version=8.1 \
--document-root=/home/example.com/public
Настройка поддоменов
Чтобы создать поддомен:
- Перейдите к настройкам домена
- Нажмите «Добавить поддомен».
- Настройте параметры поддомена:
- Имя поддомена
- Корень документа
- Версия PHP (может отличаться от версии основного домена)
7. Управление базой данных
Создание новой базы данных
Через командную строку:
$ sudo clp-db-create --name=mydb \
--user=dbuser \
--password='secure_password'
Или через веб-интерфейс:
- Перейдите в раздел Базы данных
- Нажмите «Добавить базу данных».
- Заполните необходимую информацию:
- Имя базы данных
- Имя пользователя
- Пароль
- Разрешения доступа к хосту
Резервное копирование базы данных
Чтобы создать резервную копию базы данных:
$ sudo clp-backup-db --database=mydb --output=/backup/mydb.sql
Восстановление базы данных
Чтобы восстановить базу данных:
$ sudo clp-restore-db --database=mydb --file=/backup/mydb.sql
8. Конфигурация SSL-сертификата
Интеграция Let’s Encrypt
CloudPanel включает встроенную интеграцию Let’s Encrypt. Чтобы защитить домен:
- Перейдите в раздел Сайты → Ваш домен → SSL
- Нажмите «Установить сертификат Let’s Encrypt».
- Проверка владения доменом
- Дождитесь установки сертификата
Установка SSL-сертификата вручную
Чтобы установить пользовательский SSL-сертификат:
$ sudo clp-ssl-install --domain=example.com \
--cert=/path/to/certificate.crt \
--key=/path/to/private.key \
--chain=/path/to/chain.crt
9. Конфигурация PHP
Управление версиями PHP
CloudPanel поддерживает несколько версий PHP. Чтобы установить новую версию:
$ sudo clp-php-install --version=8.2
Параметры конфигурации PHP
Изменение настроек PHP через веб-интерфейс:
- Перейдите в раздел Сайты → Ваш домен → PHP
- Настройте параметры:
- Ограничение памяти
- Максимальное время выполнения
- Ограничения на размер загружаемых файлов
- Отчеты об ошибках
Или через командную строку:
$ sudo clp-php-config --version=8.1 \
--memory-limit=256M \
--max-execution-time=300
Установка расширений PHP
$ sudo clp-php-ext-install --version=8.1 --extension=imagick
10. Оптимизация сервера
Конфигурация Nginx
Оптимизируйте настройки Nginx:
$ sudo nano /etc/nginx/nginx.conf
Ключевые настройки, которые следует учитывать:
worker_processes auto;
worker_connections 1024;
keepalive_timeout 65;
client_max_body_size 64M;
Оптимизация PHP-FPM
Настройте параметры пула PHP-FPM:
$ sudo nano /etc/php/8.1/fpm/pool.d/www.conf
Рекомендуемые настройки:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
Оптимизация MySQL
Оптимизируйте производительность MySQL:
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Ключевые настройки:
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 150
11. Резервное копирование и восстановление
Настройка автоматического резервного копирования
Настройте ежедневное резервное копирование:
$ sudo clp-backup-config --schedule=daily \
--retention=7 \
--type=full \
--destination=/backup
Резервное копирование вручную
Создайте полную резервную копию системы:
$ sudo clp-backup-create --type=full --destination=/backup
Восстановление резервной копии
Восстановление из резервной копии:
$ sudo clp-backup-restore --file=/backup/backup-2024-01-08.tar.gz
12. Лучшие практики безопасности
Конфигурация брандмауэра
Настройте брандмауэр UFW:
$ sudo ufw allow 22/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 8443/tcp
$ sudo ufw enable
Безопасный доступ по SSH
Изменение конфигурации SSH:
$ sudo nano /etc/ssh/sshd_config
Рекомендуемые настройки:
PermitRootLogin no
PasswordAuthentication no
Port 2222
Регулярные обновления системы безопасности
Настройте автоматические обновления безопасности:
$ sudo apt install unattended-upgrades
$ sudo dpkg-reconfigure --priority=low unattended-upgrades
13. Устранение общих проблем
Расположение файлов журналов
Важные файлы журналов:
- Nginx:
/var/log/nginx/
- PHP-FPM:
/var/log/php/
- MySQL:
/var/log/mysql/
- CloudPanel:
/var/log/cloudpanel/
Общие команды для устранения неполадок
Проверьте состояние службы:
$ sudo systemctl status nginx
$ sudo systemctl status php8.1-fpm
$ sudo systemctl status mysql
Просмотр журналов в реальном времени:
$ sudo tail -f /var/log/nginx/error.log
$ sudo tail -f /var/log/php/8.1/error.log
14. Расширенная конфигурация
Пользовательская конфигурация Nginx
Добавьте пользовательскую конфигурацию Nginx:
$ sudo nano /etc/nginx/conf.d/custom.conf
Пользовательская конфигурация PHP
Создание пользовательской конфигурации PHP:
$ sudo nano /etc/php/8.1/fpm/conf.d/custom.ini
Настройка репликации базы данных
Настройте репликацию MySQL:
$ sudo clp-mysql-replication --master-host=master.example.com \
--master-user=repl \
--master-password='secure_password'
15. Обслуживание и обновления
Обновление CloudPanel
Обновите CloudPanel до последней версии:
$ sudo clp-update
Обслуживание системы
Регулярные задачи по обслуживанию:
$ sudo clp-maintenance --clean-logs
$ sudo clp-maintenance --optimize-databases
$ sudo clp-maintenance --check-services
Мониторинг системных ресурсов
Установите инструменты мониторинга:
$ sudo apt install -y htop iotop
Мониторинг системных ресурсов:
$ htop
$ iotop
Заключение
CloudPanel предоставляет надежный и удобный интерфейс для управления веб-серверами и PHP-приложениями. В данном руководстве рассмотрены основные аспекты установки и настройки, однако CloudPanel предлагает множество других функций и возможностей. Регулярные обновления и обслуживание обеспечат оптимальную производительность и безопасность вашего сервера.