Обзор развертывания OpenPanel на сервере¶
Предпосылки и предварительные требования¶
- Сервер должен быть запущен под пользователем root (или пользователем с правами
sudo). - Установлен доступ к Интернету, чтобы можно было скачать установочный скрипт.
- На сервере установлена оболочка
bash. - Параметры
prefix,server_id,zoneи переменнаяansible_ssh_passпередаются скриптом запуска.
Структура файлов и каталогов¶
После выполнения плейбука в каталоге /root/ появится файл:
installation_script.sh– основной скрипт установки OpenPanel.- Файл загружается по URL
https://openpanel.orgи получает права исполняемого файла (+x).
Остальная структура создаётся самим установочным скриптом (подробности зависят от его внутренней логики).
Права доступа и безопасность¶
- Файл
installation_script.shимеет разрешенияrwxr-xr-x(пользователь root может читать и выполнять). - При выполнении скрипта используется переменная
ansible_ssh_pass, но все символы, не являющиеся буквами или цифрами, удаляются (regex_replace("[^a-zA-Z0-9]", "")). Это гарантирует, что пароль будет состоять только из безопасных символов.
Базы данных¶
Информация о настройке баз данных не указана в предоставленных файлах. Скрипт установки самостоятельно создает и настраивает необходимые базы, если это требуется для работы OpenPanel.
Контейнеры Docker и их запуск¶
Никакой информации о Docker‑контейнерах в файлах плейбука нет. Следовательно, OpenPanel устанавливается без использования контейнеров – всё производится в нативной среде сервера.
Прокси серверы (Nginx, Traefik и т.п.)¶
В файлах плейбука нет описания настройки прокси‑серверов. Если OpenPanel требует HTTPS‑прокси, это делается внутри самого установочного скрипта.
Настройки прав, запуск, остановка и обновление¶
-
Запуск
-
Остановка
-
Перезапуск
-
Обновление
Для обновления необходимо заново запустить плейбук или вручную выполнить скачивание последней версии скрипта и выполнить его с теми же параметрами:
get_url:
url: https://openpanel.org
dest: /root/installation_script.sh
mode: "o+x"
./installation_script.sh --domain={{ prefix }}{{ server_id }}.{{ zone }} \
--username=admin \
--password="{{ ansible_ssh_pass | regex_replace("[^a-zA-Z0-9]", "") }}"
Скрипт самостоятельно обработает необходимые миграции и обновит приложение.