106 lines
4.5 KiB
Bash
Executable File
106 lines
4.5 KiB
Bash
Executable File
#!/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 завершён: Администратор создан"
|