From 95a716cad9786be9448070f4b80bab6463bb54e2 Mon Sep 17 00:00:00 2001 From: hosh1 Date: Sun, 10 Aug 2025 03:28:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B3=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=BF=D0=B0=D1=80=D0=BE=D0=BB=D1=8F=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20=D0=91=D0=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/install.sh b/install.sh index 4141a9b..c86768d 100644 --- a/install.sh +++ b/install.sh @@ -23,8 +23,14 @@ NC='\033[0m' log_success() { echo -e "${GREEN}[SUCCESS]${NC} $1"; } log_error() { echo -e "${RED}[ERROR]${NC} $1"; } +# Функция генерации безопасного пароля +generate_password() { + # Генерируем пароль длиной 16 символов из букв, цифр и безопасных спецсимволов + openssl rand -base64 32 | tr -d "=+/" | cut -c1-16 +} + 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 @@ -82,6 +88,10 @@ if [ "$UNINSTALL" = true ]; then full_uninstall fi +# Генерируем пароль для базы данных +DB_PASSWORD=$(generate_password) +echo -e "${YELLOW}[INFO]${NC} Сгенерирован пароль для базы данных" + systemctl stop nginx httpd apache2 php*-fpm 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" fi -cat > "$WEBROOT/db_config.php" << 'EOF' +# Создаем конфигурационный файл БД с сгенерированным паролем +cat > "$WEBROOT/db_config.php" << EOF /dev/null || true chmod 600 "$WEBROOT/db_config.php" 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; @@ -495,6 +506,19 @@ if ! php -r "echo phpversion();" >/dev/null 2>&1; then exit 1 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}') echo "" @@ -502,4 +526,7 @@ echo "Установка Altcor успешно завершена." echo " Доступ к сайту:" echo " • http://localhost/" echo " • http://$IP_ADDR/" +echo "" +echo -e "${YELLOW}[INFO]${NC} Пароль базы данных сохранен в файле: $DB_CREDENTIALS_FILE" +echo -e "${YELLOW}[INFO]${NC} Пароль БД: $DB_PASSWORD" echo "" \ No newline at end of file