Либо используя пароль, либо по публичному ключу.
Как получить публичный ключ на вашем компьютере:{
cat ~\.ssh\id_rsa.pubcat ~/.ssh/id_rsa.pubcat ~/.ssh/id_rsa.pub (Если ключа нет, создайте его командой: ssh-keygen)Сгенерировать новый пароль (не забудьте сохранить его себе)
openssl rand -base64 16 Установить новый пароль (если вы только получили пароль от провайдера на чистую ОС)
passwd На минимальной установке Linux (например, Debian minimal) выполните следующие команды:
# Под root
# Создаем мастер-скрипт установки и делаем его исполняемым. Внутрь копируем содержимое prepareOS/first.sh vi first.sh && chmod +x first.sh
# Запускаем установку
./first.sh Скопируйте содержимое скрипта prepareOS/first.sh из репозитория или документации.
# Запускаем установку
./first.sh
Скрипт first.sh автоматически выполнит:
# Интерактивный режим (рекомендуется)
./first.sh
# Использование готовой конфигурации
./first.sh /path/to/config.cfg
Управление паролями:
.ccs_install_envPASS_USERNAME="generated_password"В конце скрипт спросит, начать ли установку под пользователем. В текущей реализации она ничего не делает, так как вам нужно самостоятельно переподключиться под пользователем и выполнить указанные действия (см. инструкцию дальше).
Повторный вызов безопасен. Скрипт не будет делать повторно, то что уже сделано и спросит о всех значимых действиях.
# Скрипт автоматически найдет и предложит использовать # существующие конфигурации при повторном запуске
./first.sh
./first.sh /path/to/ccs_install_20250911_123456.cfg
vim ~/config.sh
# заполните параметры (см. ниже) и установите
config_is_ready=1 Конфиг разбит на несколько блоков
Блоки ваших сервисов
ccs_app_front
nginx
# Под root
sudo /home/ccs_voda/ccs-prepare/open_ports_for_coturn.sh ccs_voda
Для тех доменов, которые вы указали в конфиге необходимо прописать A и AAAA записи вашего сервера. AAAA может быть не обязательн, но если он есть, то должен указывать корректно. В противном случае certbot не сможет корректно подтвердить владение сервером и не выпустит сертификаты.
Во время установки, система запрашивает образы из docker. Если образов много, или если вы делаетенесколько попыток (так как забыли что-то указать в конфиге или еще по каким причинам), вы можете столкнуться с лимитом на неавторизованные запросы.
You have reached your unauthenticated pull rate limit. https://www.docker.com/increase-rate-limit
Чтобы избежать этого, или по факту, авторизуйтесь в докере (вам нужен аккаунт на docker.com):
# Скрипт использует podman, а не docker, поэтому используем его podman login docker.io
Чтобы запустить установку, наберите start.sh имякоманды списоксервисовккоторымприменитькоманду
Вы всегда можете просто запустить ./start.sh и получить помощь по командам и синтаксису. А также список прописанных в конфиге сервисов "Available services:"
./start.sh install db nginx ccs_app ccs_app_front backup Следуйте инструкциям скрипта.
Рассмотрим на примере сервиса Voda. Ключевые параметры уже заполнены, такие как настройки подключения к БД и прочее.
./start.sh restart ccs_app nginx
После установки сервисов, включая nginx, и настройки DNS для указанных доменов, можно выпускать сертификаты.
Это делается под root пользователем из домашней директории.
# под root #./cert.sh <имя_пользователя>
./cert.sh ccsuser
Необходимо ответить на стандартные вопросы certbot, указав почту администратора и согласившись с лицензией.
После успешного выпуска, нужно снова зайти под пользователем (не через su, а отдельной сессией) и выполнить повторную установку сервиса nginx.
# Под пользователем ccsuser (или того, которого вы создали на начальном этапе)
./start.sh install nginx
При этом скрипт, обнаружив в нужной директории сертификаты, подготовит новые конфиги уже для работы по https, а http будет перенаправляться на https.
./cert.sh <имя_пользователя>.~/config.sh пользователя (массивы *_domains из nginx_services)./etc/letsencrypt/live/<domain>/.${nginx_ssl_path}/<domain>/./usr/local/bin/ccs-cert-deploy.sh, который при продлении:nginx внутри контейнера: мягкий nginx -s reload с проверкой конфига и fallback podman restart./etc/cron.d/ccs-cert-renew.03:17 и 15:17.certbot renew --quiet --deploy-hook /usr/local/bin/ccs-cert-deploy.sh./var/log/letsencrypt/letsencrypt.log./var/log/ccs-cert-deploy.log.certbot renew --dry-run --deploy-hook /usr/local/bin/ccs-cert-deploy.sh Обновление производится через тот же скрипт ./start.sh и предусмотрено несколько режимов:
После обновления обязательно перезапустить nginx
./start.sh update2 ccs_app && ./start.sh restart nginx
Платформа GoCore на которой построено приложение большую часть профайлов различных сущностей хранит в базе данных. Поэтому при крупных доработках, требуется также обновление базы.
Автоматизированного механизма миграций в текущей версии продукта не имеется, однако разработчик может смерджить необходимые таблицы встроенными средствами. Это может быть сделано на компьютере разработчика, но для этого потребуется скачивать актуальную базу. Или это можно сделать через удаленное подключение к базе на сервере через ssh тунель. Ниже будет описано, как настроить такой доступ.
./services/backup/scripts/ccs_app_backup.sh day
./start.sh restart ccs_app nginx
# Пробрасываем локальный порт 3306 к серверному 127.0.0.1:33060
ssh -N -L 3306:127.0.0.1:33060 user@your.server
# Затем подключаемся клиентом к localhost:3306 # host: localhost # port: 3306 # user/pass: согласно настройкам/приложению Важно:
db_publish_bind_address=127.0.0.1 правила firewall не требуются.0.0.0.0, если это не необходимо. Если всё же нужно —db_ext_port),