From aadc6ed125f0b96f481495e2d7be118476150b4e Mon Sep 17 00:00:00 2001 From: siane Date: Tue, 23 Dec 2025 11:33:23 +0900 Subject: [PATCH] Update setup_db.sh --- setup_db.sh | 97 ++++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 50 deletions(-) diff --git a/setup_db.sh b/setup_db.sh index a21c296..1d7b473 100644 --- a/setup_db.sh +++ b/setup_db.sh @@ -1,87 +1,87 @@ #!/bin/bash # Rocky Linux 9 LXC - MariaDB 설치 및 초기 설정 # root 계정에서 실행 -# 사용자/DB/비밀번호 모두 입력 방식 +# Linux / DB 계정 통합 여부 선택 가능 +# vimrc / bashrc는 git에서 다운로드 set -e +DOTFILES_BASE_URL="https://git.siane.kr/firstgarden/cafe24-testserver/main" + echo "=== LXC MariaDB 초기 세팅 시작 ===" # ------------------------------------------------- -# 1. 사용자 입력 +# 0. Timezone 설정 # ------------------------------------------------- -read -p "Linux 사용자 이름을 입력하세요: " LINUX_USER +timedatectl set-timezone Asia/Seoul +echo "Timezone set to Asia/Seoul" + +# ------------------------------------------------- +# 1. 필수 패키지 사전 설치 +# ------------------------------------------------- +dnf update -y +dnf install -y sudo vim wget curl + +# ------------------------------------------------- +# 2. Linux 사용자 정보 입력 +# ------------------------------------------------- +read -p "Linux 사용자 이름: " LINUX_USER read -s -p "Linux 사용자 비밀번호: " LINUX_PW echo "" read -s -p "Linux 사용자 비밀번호 확인: " LINUX_PW_CONFIRM echo "" -if [ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]; then +if [[ "$LINUX_PW" != "$LINUX_PW_CONFIRM" ]]; then echo "Linux 사용자 비밀번호가 일치하지 않습니다." exit 1 fi -read -p "MariaDB DB 이름을 입력하세요: " DB_NAME -read -p "MariaDB 사용자 이름을 입력하세요: " DB_USER +# ------------------------------------------------- +# 3. MariaDB 계정을 동일하게 사용할지 여부 +# ------------------------------------------------- +read -p "MariaDB 계정을 Linux 계정과 동일하게 사용할까요? (Y/n): " SAME_ACCOUNT +SAME_ACCOUNT=${SAME_ACCOUNT:-Y} -read -s -p "MariaDB 사용자 비밀번호: " DB_PW -echo "" -read -s -p "MariaDB 사용자 비밀번호 확인: " DB_PW_CONFIRM -echo "" +if [[ "$SAME_ACCOUNT" =~ ^[Yy]$ ]]; then + DB_USER="$LINUX_USER" + DB_PW="$LINUX_PW" + echo "→ DB 사용자/비밀번호를 Linux 계정과 동일하게 사용합니다." +else + read -p "MariaDB 사용자 이름: " DB_USER + read -s -p "MariaDB 사용자 비밀번호: " DB_PW + echo "" + read -s -p "MariaDB 사용자 비밀번호 확인: " DB_PW_CONFIRM + echo "" -if [ "$DB_PW" != "$DB_PW_CONFIRM" ]; then - echo "MariaDB 비밀번호가 일치하지 않습니다." - exit 1 + if [[ "$DB_PW" != "$DB_PW_CONFIRM" ]]; then + echo "MariaDB 비밀번호가 일치하지 않습니다." + exit 1 + fi fi +read -p "MariaDB DB 이름: " DB_NAME + # ------------------------------------------------- -# 2. Linux 사용자 생성 +# 4. Linux 사용자 생성 # ------------------------------------------------- if ! id "$LINUX_USER" &>/dev/null; then useradd -m -s /bin/bash "$LINUX_USER" echo "$LINUX_USER:$LINUX_PW" | chpasswd echo "Linux 사용자 $LINUX_USER 생성 완료" -else - echo "Linux 사용자 $LINUX_USER 이미 존재" fi -# sudo 권한 -dnf install -y sudo usermod -aG wheel "$LINUX_USER" -# ------------------------------------------------- -# 3. 시스템 업데이트 -# ------------------------------------------------- -dnf update -y - -# ------------------------------------------------- -# 4. vim 설치 + visual mode 비활성화 -# ------------------------------------------------- -dnf install -y vim - USER_HOME="/home/$LINUX_USER" -cat > "$USER_HOME/.vimrc" <> "$USER_HOME/.bashrc" <<'EOF' +wget -qO "$USER_HOME/.vimrc" "$DOTFILES_BASE_URL/vimrc" +wget -qO "$USER_HOME/.bashrc" "$DOTFILES_BASE_URL/bashrc" -# --- Bash 가독성 설정 --- -export PS1='[\u@\h \W]\$ ' -alias ll='ls -alF --color=auto' -alias la='ls -A --color=auto' -alias l='ls -CF --color=auto' -export HISTCONTROL=ignoreboth -EOF - -chown "$LINUX_USER:$LINUX_USER" "$USER_HOME/.bashrc" +chown "$LINUX_USER:$LINUX_USER" "$USER_HOME/.vimrc" "$USER_HOME/.bashrc" # ------------------------------------------------- # 6. MariaDB 10.6 설치 @@ -114,9 +114,7 @@ CREATE DATABASE IF NOT EXISTS \`${DB_NAME}\` COLLATE utf8mb4_unicode_ci; CREATE USER IF NOT EXISTS '${DB_USER}'@'%' IDENTIFIED BY '${DB_PW}'; - GRANT ALL PRIVILEGES ON \`${DB_NAME}\`.* TO '${DB_USER}'@'%'; - FLUSH PRIVILEGES; EOF @@ -131,10 +129,9 @@ EOF echo "" echo "=== LXC MariaDB 설정 완료 ===" -echo "" echo "Linux 사용자 : $LINUX_USER (sudo 가능)" echo "DB 이름 : $DB_NAME" echo "DB 사용자 : $DB_USER" echo "" -echo "VM 접속 예시:" -echo " mysql -h -u $DB_USER -p $DB_NAME" +echo "접속 예시:" +echo "mysql -h -u $DB_USER -p $DB_NAME"