Добавлена генерация пароля для БД
This commit is contained in:
43
install.sh
43
install.sh
@@ -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 ""
|
||||||
Reference in New Issue
Block a user