Добавлена генерация пароля для БД

This commit is contained in:
2025-08-10 03:28:00 +03:00
parent 2461bd0e0d
commit 95a716cad9

View File

@@ -23,8 +23,14 @@ NC='\033[0m'
log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; } log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; }
log_error() { echo -e "${RED}[ERROR]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; }
# Функция генерации безопасного пароля
generate_password() {
# Генерируем пароль длиной 16 символов из букв, цифр и безопасных спецсимволов
openssl rand -base64 32 | tr -d "=+/" | cut -c1-16
}
full_uninstall() { full_uninstall() {
echo -e "${YELLOW}[INFO]${NC} Начинаем полное удаление..." echo -e "${YELLOW}[INFO]${NC} Начинаем полное удаление LAMP-окружения..."
systemctl stop nginx apache2 httpd php*-fpm mariadb mysql redis 2>/dev/null || true systemctl stop nginx apache2 httpd php*-fpm mariadb mysql redis 2>/dev/null || true
@@ -82,6 +88,10 @@ if [ "$UNINSTALL" = true ]; then
full_uninstall full_uninstall
fi fi
# Генерируем пароль для базы данных
DB_PASSWORD=$(generate_password)
echo -e "${YELLOW}[INFO]${NC} Сгенерирован пароль для базы данных"
systemctl stop nginx httpd apache2 php*-fpm 2>/dev/null || true systemctl stop nginx httpd apache2 php*-fpm 2>/dev/null || true
systemctl disable nginx httpd 2>/dev/null || true systemctl disable nginx httpd 2>/dev/null || true
@@ -289,12 +299,13 @@ if [ -f "$PHP_INI_PATH" ]; then
sed -i 's/;*log_errors = .*/log_errors = On/' "$PHP_INI_PATH" sed -i 's/;*log_errors = .*/log_errors = On/' "$PHP_INI_PATH"
fi fi
cat > "$WEBROOT/db_config.php" << 'EOF' # Создаем конфигурационный файл БД с сгенерированным паролем
cat > "$WEBROOT/db_config.php" << EOF
<?php <?php
$db_host = 'localhost'; \$db_host = 'localhost';
$db_user = 'root'; \$db_user = 'root';
$db_pass = 'muJh9tNY8sg0'; \$db_pass = '$DB_PASSWORD';
$db_name = 'ALTCor'; \$db_name = 'ALTCor';
define('OFFICE', '/usr/bin/libreoffice'); define('OFFICE', '/usr/bin/libreoffice');
define('DB_CHARSET', 'utf8mb4'); define('DB_CHARSET', 'utf8mb4');
@@ -425,9 +436,9 @@ chmod 644 "$WEBROOT/.htaccess" 2>/dev/null || true
chmod 600 "$WEBROOT/db_config.php" chmod 600 "$WEBROOT/db_config.php"
MYSQL_TMP_SCRIPT="/tmp/mysql_setup_$(date +%s).sql" MYSQL_TMP_SCRIPT="/tmp/mysql_setup_$(date +%s).sql"
cat > "$MYSQL_TMP_SCRIPT" << 'MYSQL_SCRIPT' cat > "$MYSQL_TMP_SCRIPT" << MYSQL_SCRIPT
ALTER USER IF EXISTS 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('muJh9tNY8sg0'); ALTER USER IF EXISTS 'root'@'localhost' IDENTIFIED VIA mysql_native_password USING PASSWORD('$DB_PASSWORD');
CREATE DATABASE IF NOT EXISTS ALTCor CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE DATABASE IF NOT EXISTS ALTCor CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
@@ -495,6 +506,19 @@ if ! php -r "echo phpversion();" >/dev/null 2>&1; then
exit 1 exit 1
fi fi
DB_CREDENTIALS_FILE="/root/.altcor_db_credentials"
cat > "$DB_CREDENTIALS_FILE" << EOF
# Учетные данные базы данных ALTCor
# Сгенерировано: $(date)
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=$DB_PASSWORD
DB_NAME=ALTCor
EOF
chmod 600 "$DB_CREDENTIALS_FILE"
IP_ADDR=$(hostname -I | awk '{print $1}') IP_ADDR=$(hostname -I | awk '{print $1}')
echo "" echo ""
@@ -502,4 +526,7 @@ echo "Установка Altcor успешно завершена."
echo " Доступ к сайту:" echo " Доступ к сайту:"
echo " • http://localhost/" echo " • http://localhost/"
echo " • http://$IP_ADDR/" echo " • http://$IP_ADDR/"
echo ""
echo -e "${YELLOW}[INFO]${NC} Пароль базы данных сохранен в файле: $DB_CREDENTIALS_FILE"
echo -e "${YELLOW}[INFO]${NC} Пароль БД: $DB_PASSWORD"
echo "" echo ""