initial commit
This commit is contained in:
107
02/02-k-git-server-deploy.07.sh
Executable file
107
02/02-k-git-server-deploy.07.sh
Executable file
@@ -0,0 +1,107 @@
|
||||
#!/bin/bash
|
||||
#===============================================================================
|
||||
# ШАГ 7: УСТАНОВКА NGINX (HTTP ONLY)
|
||||
#===============================================================================
|
||||
# Запуск: sudo bash 02-k-git-server-deploy.07.sh
|
||||
#
|
||||
# Важно: Этот шаг создаёт только HTTP конфигурацию.
|
||||
# SSL-сертификаты получаются на шаге 8.
|
||||
# HTTPS активируется на шаге 9.
|
||||
#===============================================================================
|
||||
|
||||
SCRIPT_DIR=$(cd "$(dirname "$0")" && pwd)
|
||||
source "$SCRIPT_DIR/02-k-git-server-deploy.00.sh"
|
||||
|
||||
init_log
|
||||
check_root
|
||||
|
||||
print_header "ШАГ 7: УСТАНОВКА NGINX (HTTP ONLY)"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 7.1 Установка Nginx
|
||||
#-------------------------------------------------------------------------------
|
||||
print_subheader "Установка Nginx"
|
||||
|
||||
install_packages nginx
|
||||
|
||||
systemctl enable nginx
|
||||
print_success "Nginx установлен"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 7.2 Создание директории для Certbot
|
||||
#-------------------------------------------------------------------------------
|
||||
print_subheader "Создание директории для Certbot"
|
||||
|
||||
create_dir "/var/www/certbot" "www-data:www-data" "755"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 7.3 Создание HTTP-only конфигурации
|
||||
#-------------------------------------------------------------------------------
|
||||
print_subheader "Создание HTTP конфигурации"
|
||||
|
||||
# Временная HTTP-only конфигурация для получения сертификата
|
||||
cat > /etc/nginx/sites-available/gitea << EOF
|
||||
# Gitea HTTP Configuration (временная для получения SSL)
|
||||
# После получения сертификата будет заменена на HTTPS конфигурацию
|
||||
|
||||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
server_name $GIT_DOMAIN;
|
||||
|
||||
# Для Let's Encrypt challenge
|
||||
location /.well-known/acme-challenge/ {
|
||||
root /var/www/certbot;
|
||||
}
|
||||
|
||||
# Проксирование в Gitea
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:3000;
|
||||
proxy_set_header Host \$host;
|
||||
proxy_set_header X-Real-IP \$remote_addr;
|
||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||
|
||||
# Таймауты для git операций
|
||||
proxy_connect_timeout 300;
|
||||
proxy_send_timeout 300;
|
||||
proxy_read_timeout 300;
|
||||
|
||||
# Размер для больших push
|
||||
client_max_body_size 100M;
|
||||
}
|
||||
|
||||
# Логи
|
||||
access_log /var/log/nginx/gitea.access.log;
|
||||
error_log /var/log/nginx/gitea.error.log;
|
||||
}
|
||||
EOF
|
||||
|
||||
print_success "HTTP конфигурация создана"
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 7.4 Активация конфигурации
|
||||
#-------------------------------------------------------------------------------
|
||||
print_subheader "Активация конфигурации"
|
||||
|
||||
# Удалить default если существует
|
||||
rm -f /etc/nginx/sites-enabled/default
|
||||
|
||||
# Активировать gitea
|
||||
ln -sf /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# 7.5 Проверка и перезагрузка
|
||||
#-------------------------------------------------------------------------------
|
||||
print_subheader "Проверка конфигурации"
|
||||
|
||||
if check_nginx_config; then
|
||||
systemctl reload nginx
|
||||
print_success "Nginx перезагружен"
|
||||
else
|
||||
print_error "Ошибка в конфигурации Nginx"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
print_info "Веб-интерфейс доступен на: http://$GIT_DOMAIN"
|
||||
print_success "Шаг 7 завершён: Nginx установлен (HTTP only)"
|
||||
Reference in New Issue
Block a user