Версия:
Настройка нового сервера на Rocky Linux 8
Важно!
Текущая версия скриптов рассчитана на различные версии Linux, но прежде всего Debian.
Общая идея осталась прежней, но установка идет теперь немного подругому.
Для нового сервера смотри более свежую версию.
Эта версия будет полезна для работы с уже существующими сервисами.
В данном руководстве описан процесс подготовки и настройки нового сервера для развертывания приложений на базе GoCore. Рекомендуемая операционная система — Rocky Linux 8.
1. Заказ сервера
- ОС: Rocky Linux 8.
- Безопасность: Сохраните пароль root в надежном месте.
2. Подготовка кода и базы данных
- Определите рабочую ветку репозитория.
- Подготовьте дамп базы данных (рекомендуемое имя:
DB/ccs.init.sql). Убедитесь в отсутствии персональных данных и соответствие законодательству.
3. Настройка доменного имени
- Пропишите A запись (IPv4) и AAAA запись (IPv6). Наличие IPv6 критично для корректной работы
certbotпри выпуске сертификатов. - Для получения IPv6 подключитесь к серверу и выполните
ip addr. Ищите строку видаinet6 ... scope global.
4. Первичная настройка ОС
- Смена пароля root:
- Сгенерируйте пароль:
pwgen -1 32 -cny - Смените пароль:
passwd
- Сгенерируйте пароль:
- Установка vim:
dnf install -y vim - Подготовка окружения:
- Создайте файл
prepare.sh, скопируйте в него содержимое изCCS.Deployment/prepareOS/prepare.sh. - Выдайте права и запустите:
chmod u+x prepare.sh && ./prepare.sh - Следуйте указаниям скрипта для создания системного пользователя (например,
ccs_app).
- Создайте файл
5. Конфигурация сервисов (CCS.Deployment)
Развертывание выполняется с помощью podman контейнеров на основе шаблонов.
- Файл конфигурации: Пример лежит в
CCS.Deployment/config_template.sh. При первом запускеstart.shон будет скопирован вconfig.sh. - Настройка параметров:
ccs_app_git_url: SSH URL репозитория (начинается сgit@).ccs_app_git_branch: ветка проекта.ccs_app_init_sql: имя файла дампа базы.ccs_app_domains: список доменов через пробел.services: перечислите нужные сервисы, например:declare services=("db" "ccs_app" "nginx" "backup").
6. Установка и запуск
- Под пользователем приложения:
- Сгенерируйте SSH-ключ:
ssh-keygen && cat ~/.ssh/id_rsa.pub - Добавьте ключ в репозиторий
CCS.Deployment. - Клонируйте проект:
git clone -b master git@github.com:CCSMSKRU/CCS.Deployment.git
- Сгенерируйте SSH-ключ:
- Запуск установки:
- Скопируйте скрипт запуска:
cp ~/CCS.Deployment/start_template.sh ~/start.sh && chmod u+x ~/start.sh - Настройте
config.sh, установитеconfig_is_ready=1. - Запустите установку:
./start.sh install db ccs_app nginx backup
- Скопируйте скрипт запуска:
7. Установка SSL-сертификатов
- Под root:
- Создайте и заполните
cert.sh(можно взять изCCS.Deployment). - Запустите:
./cert.sh ccs_app(указав имя пользователя приложения).
- Создайте и заполните
- Переустановка Nginx:
- Вернитесь под пользователя приложения и выполните:
./start.sh install nginx
- Вернитесь под пользователя приложения и выполните:
8. Полезные команды start.sh
- Логи:
./start.sh log <имя_сервиса> - Перезапуск:
./start.sh restart <имя_сервиса> - Обновление кода:
./start.sh update <имя_сервиса>
Важно: При перезапуске приложения рекомендуется также перезапускать nginx:
./start.sh restart ccs_app nginx.