#!/bin/bash # 공통 설치 스크립트 (Rocky Linux 9) # 현재 사용자 계정 기준으로 웹 루트 생성, Apache + FTP 설치 # Vim 설치 및 Visual 모드 비활성화, Bash 가독성 설정 포함 WEB_USER=$USER WEB_HOME=$(eval echo "~$WEB_USER") WEB_ROOT="$WEB_HOME/www" echo "설치 사용자: $WEB_USER" echo "웹 루트: $WEB_ROOT" # 1. 시스템 업데이트 sudo dnf update -y # 2. www 폴더 생성 mkdir -p "$WEB_ROOT" chmod 755 "$WEB_ROOT" # 3. Apache 설치 및 설정 sudo dnf install -y httpd sudo systemctl enable --now httpd # Apache DocumentRoot 설정 APACHE_CONF="/etc/httpd/conf.d/${WEB_USER}.conf" sudo bash -c "cat > $APACHE_CONF" < ServerAdmin webmaster@localhost DocumentRoot $WEB_ROOT Options Indexes FollowSymLinks AllowOverride All Require all granted ErrorLog logs/${WEB_USER}-error.log CustomLog logs/${WEB_USER}-access.log combined EOF sudo systemctl restart httpd # 4. FTP 설치 및 설정 (vsftpd) sudo dnf install -y vsftpd sudo systemctl enable --now vsftpd sudo sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf sudo sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf sudo bash -c "echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf" sudo systemctl restart vsftpd # 5. Vim 설치 및 Visual 모드 비활성화 sudo dnf install -y vim # visual 모드 없이 편집 가능하도록 기본 설정 echo "set mouse=" >> "$WEB_HOME/.vimrc" echo "set number" >> "$WEB_HOME/.vimrc" # 행 번호 표시 chown $WEB_USER:$WEB_USER "$WEB_HOME/.vimrc" # 6. Bash 가독성 향상 설정 BASHRC="$WEB_HOME/.bashrc" echo "" >> $BASHRC echo "# --- Bash 가독성 설정 ---" >> $BASHRC echo "export PS1='[\u@\h \W]\$ '" >> $BASHRC # 프롬프트 형식 간단하게 echo "alias ll='ls -alF --color=auto'" >> $BASHRC echo "alias la='ls -A --color=auto'" >> $BASHRC echo "alias l='ls -CF --color=auto'" >> $BASHRC echo "export HISTCONTROL=ignoreboth" >> $BASHRC # 중복/공백명령 기록 방지 chown $WEB_USER:$WEB_USER $BASHRC echo "공통 설정 완료! Apache + FTP + Vim + Bash 환경 설정됨."