Update setup_common.sh
This commit is contained in:
@ -1,7 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# 공통 설치 스크립트 (Rocky Linux 9)
|
# 테스트 서버용 공통 설치 스크립트 (Rocky Linux 9)
|
||||||
# 현재 사용자 계정 기준으로 웹 루트 생성, Apache + FTP 설치
|
# Tailscale 호환, 외부 미노출 아님, 최소 권한, Apache + FTP + Vim + Bash 설정
|
||||||
# Vim 설치 및 Visual 모드 비활성화, Bash 가독성 설정 포함
|
|
||||||
|
|
||||||
WEB_USER=$USER
|
WEB_USER=$USER
|
||||||
WEB_HOME=$(eval echo "~$WEB_USER")
|
WEB_HOME=$(eval echo "~$WEB_USER")
|
||||||
@ -13,11 +12,17 @@ echo "웹 루트: $WEB_ROOT"
|
|||||||
# 1. 시스템 업데이트
|
# 1. 시스템 업데이트
|
||||||
sudo dnf update -y
|
sudo dnf update -y
|
||||||
|
|
||||||
# 2. www 폴더 생성
|
# 2. firewalld 비활성화
|
||||||
mkdir -p "$WEB_ROOT"
|
sudo systemctl stop firewalld
|
||||||
chmod 755 "$WEB_ROOT"
|
sudo systemctl disable firewalld
|
||||||
|
echo "firewalld 비활성화 완료"
|
||||||
|
|
||||||
# 3. Apache 설치 및 설정
|
# 3. www 폴더 생성, 소유자/권한 제한
|
||||||
|
mkdir -p "$WEB_ROOT"
|
||||||
|
chmod 750 "$WEB_ROOT"
|
||||||
|
chown $WEB_USER:$WEB_USER "$WEB_ROOT"
|
||||||
|
|
||||||
|
# 4. Apache 설치
|
||||||
sudo dnf install -y httpd
|
sudo dnf install -y httpd
|
||||||
sudo systemctl enable --now httpd
|
sudo systemctl enable --now httpd
|
||||||
|
|
||||||
@ -28,7 +33,7 @@ sudo bash -c "cat > $APACHE_CONF" <<EOF
|
|||||||
ServerAdmin webmaster@localhost
|
ServerAdmin webmaster@localhost
|
||||||
DocumentRoot $WEB_ROOT
|
DocumentRoot $WEB_ROOT
|
||||||
<Directory $WEB_ROOT>
|
<Directory $WEB_ROOT>
|
||||||
Options Indexes FollowSymLinks
|
Options -Indexes +FollowSymLinks
|
||||||
AllowOverride All
|
AllowOverride All
|
||||||
Require all granted
|
Require all granted
|
||||||
</Directory>
|
</Directory>
|
||||||
@ -39,31 +44,39 @@ EOF
|
|||||||
|
|
||||||
sudo systemctl restart httpd
|
sudo systemctl restart httpd
|
||||||
|
|
||||||
# 4. FTP 설치 및 설정 (vsftpd)
|
# 5. FTP 설치 및 설정 (vsftpd)
|
||||||
sudo dnf install -y vsftpd
|
sudo dnf install -y vsftpd
|
||||||
sudo systemctl enable --now vsftpd
|
sudo systemctl enable --now vsftpd
|
||||||
|
|
||||||
|
# FTP 설정
|
||||||
sudo sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf
|
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 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 bash -c "echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf"
|
||||||
|
sudo bash -c "echo 'listen_address=127.0.0.1' >> /etc/vsftpd/vsftpd.conf"
|
||||||
sudo systemctl restart vsftpd
|
sudo systemctl restart vsftpd
|
||||||
|
|
||||||
# 5. Vim 설치 및 Visual 모드 비활성화
|
# 6. SSH 설정 강화
|
||||||
|
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
|
||||||
|
sudo sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config
|
||||||
|
sudo systemctl restart sshd
|
||||||
|
|
||||||
|
# 7. Vim 설치 및 Visual 모드 비활성화
|
||||||
sudo dnf install -y vim
|
sudo dnf install -y vim
|
||||||
# visual 모드 없이 편집 가능하도록 기본 설정
|
|
||||||
echo "set mouse=" >> "$WEB_HOME/.vimrc"
|
echo "set mouse=" >> "$WEB_HOME/.vimrc"
|
||||||
echo "set number" >> "$WEB_HOME/.vimrc" # 행 번호 표시
|
|
||||||
chown $WEB_USER:$WEB_USER "$WEB_HOME/.vimrc"
|
chown $WEB_USER:$WEB_USER "$WEB_HOME/.vimrc"
|
||||||
|
|
||||||
# 6. Bash 가독성 향상 설정
|
# 8. Bash 가독성 향상 설정
|
||||||
BASHRC="$WEB_HOME/.bashrc"
|
BASHRC="$WEB_HOME/.bashrc"
|
||||||
echo "" >> $BASHRC
|
echo "" >> $BASHRC
|
||||||
echo "# --- Bash 가독성 설정 ---" >> $BASHRC
|
echo "# --- Bash 가독성 설정 ---" >> $BASHRC
|
||||||
echo "export PS1='[\u@\h \W]\$ '" >> $BASHRC # 프롬프트 형식 간단하게
|
echo "export PS1='[\u@\h \W]\$ '" >> $BASHRC
|
||||||
echo "alias ll='ls -alF --color=auto'" >> $BASHRC
|
echo "alias ll='ls -alF --color=auto'" >> $BASHRC
|
||||||
echo "alias la='ls -A --color=auto'" >> $BASHRC
|
echo "alias la='ls -A --color=auto'" >> $BASHRC
|
||||||
echo "alias l='ls -CF --color=auto'" >> $BASHRC
|
echo "alias l='ls -CF --color=auto'" >> $BASHRC
|
||||||
echo "export HISTCONTROL=ignoreboth" >> $BASHRC # 중복/공백명령 기록 방지
|
echo "export HISTCONTROL=ignoreboth" >> $BASHRC
|
||||||
chown $WEB_USER:$WEB_USER $BASHRC
|
chown $WEB_USER:$WEB_USER $BASHRC
|
||||||
|
|
||||||
echo "공통 설정 완료! Apache + FTP + Vim + Bash 환경 설정됨."
|
# 9. SELinux 웹 루트 접근 허용
|
||||||
|
sudo chcon -R -t httpd_sys_content_t "$WEB_ROOT"
|
||||||
|
|
||||||
|
echo "테스트 서버용 공통 설정 완료! Apache + FTP + Vim + Bash 환경 구성됨."
|
||||||
|
|||||||
Reference in New Issue
Block a user