diff --git a/vm/setup_common.sh b/vm/setup_common.sh index 18ab85a..eb85c8a 100644 --- a/vm/setup_common.sh +++ b/vm/setup_common.sh @@ -51,15 +51,20 @@ fi echo "시스템 업데이트 중..." sudo dnf update -y || { echo "❌ dnf update 실패"; exit 1; } -# 2. firewalld 비활성화 (이미 비활성화된 경우 무시) +# 2. 필수 패키지 설치 +echo "필수 패키지 설치 중..." +sudo dnf install -y vim curl wget tar || { echo "❌ 필수 패키지 설치 실패"; exit 1; } +echo "✓ 필수 패키지 설치 완료" + +# 3. firewalld 비활성화 (이미 비활성화된 경우 무시) sudo systemctl stop firewalld 2>/dev/null || true sudo systemctl disable firewalld 2>/dev/null || true echo "✓ firewalld 비활성화 완료" -# 3. 홈 디렉토리 권한 조정 (Apache가 진입 가능하도록) +# 4. 홈 디렉토리 권한 조정 (Apache가 진입 가능하도록) chmod 711 "$WEB_HOME" -# 4. www 폴더 생성, 소유자/권한 제한 +# 5. www 폴더 생성, 소유자/권한 제한 if [ ! -d "$WEB_ROOT" ]; then mkdir -p "$WEB_ROOT" chmod 750 "$WEB_ROOT" @@ -69,7 +74,7 @@ else echo "ℹ️ 웹 루트 디렉토리가 이미 존재합니다" fi -# 5. Apache 설치 +# 6. Apache 설치 if ! command -v httpd &>/dev/null; then echo "Apache 설치 중..." sudo dnf install -y httpd || { echo "❌ Apache 설치 실패"; exit 1; } @@ -128,7 +133,7 @@ echo "✓ Apache 프록시 모듈 확인 완료" sudo systemctl restart httpd || { echo "❌ Apache 재시작 실패"; exit 1; } echo "✓ Apache 재시작 완료" -# 6. FTP 설치 및 설정 (vsftpd) +# 7. FTP 설치 및 설정 (vsftpd) if ! command -v vsftpd &>/dev/null; then echo "vsftpd 설치 중..." sudo dnf install -y vsftpd || { echo "❌ vsftpd 설치 실패"; exit 1; } @@ -147,7 +152,7 @@ else echo "ℹ️ vsftpd 설정이 이미 존재합니다" fi -# 7. SSH 설정 강화 (이미 설정된 경우 무시) +# 8. SSH 설정 강화 (이미 설정된 경우 무시) if grep -q "^PermitRootLogin yes" /etc/ssh/sshd_config; then sudo sed -i 's/^PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sudo systemctl restart sshd @@ -156,7 +161,7 @@ else echo "ℹ️ SSH 설정은 이미 강화되어 있습니다" fi -# 8. Vim 및 Bash 설정 파일 다운로드 (git에서) +# 9. Vim 및 Bash 설정 파일 다운로드 (git에서) DOTFILES_BASE_URL="https://git.siane.kr/firstgarden/cafe24-testserver/raw/branch/main" if command -v curl &>/dev/null; then