#!/bin/bash #=============================================================================== # ШАГ 11: СОЗДАНИЕ АДМИНИСТРАТОРА GITEA #=============================================================================== # Запуск: sudo bash 02-k-git-server-deploy.11.sh #=============================================================================== SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd) source "$SCRIPT_DIR/02-k-git-server-deploy.00.sh" init_log check_root print_header "ШАГ 11: СОЗДАНИЕ АДМИНИСТРАТОРА GITEA" #------------------------------------------------------------------------------- # 11.1 Проверка Gitea #------------------------------------------------------------------------------- print_subheader "Проверка Gitea" if ! service_running gitea; then print_error "Gitea не запущена!" print_info "Сначала выполните шаг 06: bash 02-k-git-server-deploy.06.sh" exit 1 fi print_success "Gitea запущена" #------------------------------------------------------------------------------- # 11.2 Генерация пароля #------------------------------------------------------------------------------- print_subheader "Генерация пароля" GITEA_PASS=$(generate_password) print_success "Пароль сгенерирован" #------------------------------------------------------------------------------- # 11.3 Проверка существования пользователя #------------------------------------------------------------------------------- print_subheader "Проверка пользователя" if su -c "$GITEA_BIN admin user list --config $GITEA_CONFIG" git 2>/dev/null | grep -q "$GITEA_ADMIN"; then print_warning "Пользователь $GITEA_ADMIN уже существует" read -p "Задать новый пароль? [y/N]: " NEW_PASS if [[ "$NEW_PASS" =~ ^[Yy]$ ]]; then read -s -p "Введите новый пароль: " GITEA_PASS echo "" su -c "$GITEA_BIN admin user change-password --username '$GITEA_ADMIN' --password '$GITEA_PASS' --config $GITEA_CONFIG" git print_success "Пароль изменён" else print_info "Пароль оставлен без изменений" fi save_admin_credentials "$GITEA_ADMIN" "(не изменён)" print_success "Шаг 11 завершён" exit 0 fi #------------------------------------------------------------------------------- # 11.4 Создание пользователя-администратора #------------------------------------------------------------------------------- print_subheader "Создание администратора" print_info "Создание пользователя: $GITEA_ADMIN" print_info "Email: $GITEA_ADMIN_EMAIL" if su -c "$GITEA_BIN admin user create \ --username '$GITEA_ADMIN' \ --email '$GITEA_ADMIN_EMAIL' \ --password '$GITEA_PASS' \ --admin \ --config '$GITEA_CONFIG'" git 2>&1; then print_success "Администратор создан" else print_error "Не удалось создать администратора" print_info "Попробуйте создать через веб-интерфейс: https://$GIT_DOMAIN" exit 1 fi #------------------------------------------------------------------------------- # 11.5 Сохранение учётных данных #------------------------------------------------------------------------------- print_subheader "Сохранение учётных данных" save_admin_credentials "$GITEA_ADMIN" "$GITEA_PASS" #------------------------------------------------------------------------------- # 11.6 Вывод информации #------------------------------------------------------------------------------- echo "" echo -e "${YELLOW}============================================================${NC}" echo -e "${YELLOW} ДАННЫЕ АДМИНИСТРАТОРА GITEA${NC}" echo -e "${YELLOW}============================================================${NC}" echo "" echo " URL: https://$GIT_DOMAIN" echo " Логин: $GITEA_ADMIN" echo " Пароль: $GITEA_PASS" echo "" echo -e "${RED}ВАЖНО: Смените пароль после первого входа!${NC}" echo -e "${RED}Данные сохранены в /root/.gitea-admin-credentials${NC}" echo "" print_success "Шаг 11 завершён: Администратор создан"