#!/bin/bash # Rocky Linux 9 LXC - MariaDB 설치 및 초기 설정 # root 계정에서 실행 # Linux / DB 계정 통합 여부 선택 가능 # dotfiles는 git에서 다운로드 set -e # dotfiles 저장소 # Gitea raw 파일 경로: https://git.siane.kr/firstgarden/cafe24-testserver/raw/branch/path DOTFILES_BASE_URL="https://git.siane.kr/firstgarden/cafe24-testserver/raw/main" echo "=== LXC MariaDB 초기 세팅 시작 ===" # ------------------------------------------------- # 0. Timezone 설정 # ------------------------------------------------- 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 echo "Linux 사용자 비밀번호가 일치하지 않습니다." exit 1 fi # ------------------------------------------------- # 3. MariaDB 계정을 동일하게 사용할지 여부 # ------------------------------------------------- read -p "MariaDB 계정을 Linux 계정과 동일하게 사용할까요? (Y/n): " SAME_ACCOUNT SAME_ACCOUNT=${SAME_ACCOUNT:-Y} 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 fi fi read -p "MariaDB DB 이름: " DB_NAME # ------------------------------------------------- # 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 생성 완료" fi usermod -aG wheel "$LINUX_USER" USER_HOME="/home/$LINUX_USER" # ------------------------------------------------- # 5. dotfiles 다운로드 (git에서) # ------------------------------------------------- echo "dotfiles 다운로드 중..." curl -fsSL -o "$USER_HOME/.vimrc" "$DOTFILES_BASE_URL/dotfiles/vimrc" curl -fsSL -o "$USER_HOME/.bashrc_addon" "$DOTFILES_BASE_URL/dotfiles/bashrc_addon" # 기존 .bashrc 백업 및 추가 설정 적용 if [ -f "$USER_HOME/.bashrc" ]; then cp "$USER_HOME/.bashrc" "$USER_HOME/.bashrc.bak" fi # 새 설정 추가 cat "$USER_HOME/.bashrc_addon" >> "$USER_HOME/.bashrc" rm "$USER_HOME/.bashrc_addon" chown "$LINUX_USER:$LINUX_USER" "$USER_HOME/.vimrc" "$USER_HOME/.bashrc" "$USER_HOME/.bashrc.bak" 2>/dev/null || true # ------------------------------------------------- # 6. MariaDB 10.6 설치 # ------------------------------------------------- echo "MariaDB 10.6 설치 중..." dnf module reset mariadb -y dnf module enable mariadb:10.6 -y dnf install -y mariadb-server systemctl enable --now mariadb # ------------------------------------------------- # 7. MariaDB 보안 초기화 # ------------------------------------------------- mysql -u root < /etc/my.cnf.d/50-server.cnf < -u $DB_USER -p" echo "=========================================="