This commit is contained in:
2025-08-11 01:13:46 +03:00
parent 42d24fe681
commit d2ce5f30d6

View File

@@ -120,7 +120,7 @@ check_existing_installation() {
fi fi
echo "" echo ""
EOF HTACCESS_PHP_CONF_APACHE_CONF_DB_CONFIG_CREDENTIALS_EOF
case $apache_status in case $apache_status in
0) echo -e "Apache: ${GREEN}Установлен и работает${NC}" ;; 0) echo -e "Apache: ${GREEN}Установлен и работает${NC}" ;;
@@ -284,6 +284,7 @@ else
SKIP_PACKAGE_INSTALL=false SKIP_PACKAGE_INSTALL=false
fi fi
# ВАЖНО: Генерируем новый пароль только при полной установке
if [ -f "/root/.db_password" ] && [ "$FORCE_REINSTALL" = false ] && [ "$SKIP_PACKAGE_INSTALL" = true ]; then if [ -f "/root/.db_password" ] && [ "$FORCE_REINSTALL" = false ] && [ "$SKIP_PACKAGE_INSTALL" = true ]; then
DB_PASSWORD=$(grep "DB_PASSWORD=" /root/.db_password | cut -d'=' -f2) DB_PASSWORD=$(grep "DB_PASSWORD=" /root/.db_password | cut -d'=' -f2)
log_info "Используем существующий пароль БД" log_info "Используем существующий пароль БД"
@@ -460,7 +461,7 @@ elif [ "$DISTRO_FAMILY" = "rhel" ]; then
APACHE_CONF="/etc/httpd/conf.d/000-default.conf" APACHE_CONF="/etc/httpd/conf.d/000-default.conf"
WEBSERVER_USER="apache" WEBSERVER_USER="apache"
cat > "/etc/httpd/conf.d/php.conf" << 'EOF' cat > "/etc/httpd/conf.d/php.conf" << 'PHP_CONF_EOF'
LoadModule php_module modules/libphp.so LoadModule php_module modules/libphp.so
LoadModule rewrite_module modules/mod_rewrite.so LoadModule rewrite_module modules/mod_rewrite.so
@@ -474,7 +475,7 @@ log_success "Модули Apache настроены"
log_step "Создание конфигурации виртуального хоста..." log_step "Создание конфигурации виртуального хоста..."
mkdir -p "$WEBROOT" mkdir -p "$WEBROOT"
cat > "$APACHE_CONF" <<EOF cat > "$APACHE_CONF" <<APACHE_CONF_EOF
<VirtualHost *:80> <VirtualHost *:80>
DocumentRoot $WEBROOT DocumentRoot $WEBROOT
ServerName localhost ServerName localhost
@@ -564,6 +565,7 @@ else
log_warning "Файл PHP.ini не найден по пути: $PHP_INI_PATH" log_warning "Файл PHP.ini не найден по пути: $PHP_INI_PATH"
fi fi
# ИСПРАВЛЕНИЕ 1: Всегда пересоздаем конфигурацию БД с актуальным паролем
log_step "Создание конфигурации базы данных..." log_step "Создание конфигурации базы данных..."
if [ "$DISTRO_FAMILY" = "debian" ]; then if [ "$DISTRO_FAMILY" = "debian" ]; then
DB_SOCKET="/var/run/mysqld/mysqld.sock" DB_SOCKET="/var/run/mysqld/mysqld.sock"
@@ -571,9 +573,10 @@ else
DB_SOCKET="/var/lib/mysql/mysql.sock" DB_SOCKET="/var/lib/mysql/mysql.sock"
fi fi
# Удаляем старый конфиг, если есть
rm -f "$WEBROOT/db_config.php" rm -f "$WEBROOT/db_config.php"
cat > "$WEBROOT/db_config.php" << EOF cat > "$WEBROOT/db_config.php" << DB_CONFIG_EOF
<?php <?php
define('DB_HOST', 'localhost'); define('DB_HOST', 'localhost');
define('DB_USER', 'root'); define('DB_USER', 'root');
@@ -585,6 +588,7 @@ define('OFFICE', '/usr/bin/libreoffice');
?> ?>
EOF EOF
# ИСПРАВЛЕНИЕ 2: Устанавливаем правильные права доступа на конфиг БД сразу
chmod 600 "$WEBROOT/db_config.php" chmod 600 "$WEBROOT/db_config.php"
chown root:root "$WEBROOT/db_config.php" chown root:root "$WEBROOT/db_config.php"
log_success "Конфигурация БД создана" log_success "Конфигурация БД создана"