📘 Day 7 (2025.06.30.MON) - 백업 파일 업로드, 가상 호스팅

📋 전날 점검
  • 전날 패킷 이상 유무 확인
  • 서버 로그 확인
  • 서버 백업 유무 확인
ip addr
ls
cd ~ # 홈 디렉토리 이동
cd /home/master

sudo nano /etc/hostname → st
sudo reboot
hostname 변경
🛠 서버 점검 (백업 파일 빼주기)
100 서버
xshell → sz geumsol_20250630* → 바탕화면/backup 폴더에 저장
EditPlus로 확인

오류 시:

cd /home/geumsol
cat backup.sh
nano backup.sh
💽 파일 복구 · 백업 (NAT로 변경)
  • GNS → Ubuntu 서버
  • VirtualBox → 어댑터 1 NAT로 변경
  • Ubuntu 재부팅 후 IP 확인

웹사이트 접속: http://st.geumsol.kr → 10.0.0.15

xshell → ip addr (10.0.2.15 확인)

sudo nano /etc/hostname → st
sudo reboot
🌐 UserDir 설정(/var/www/html/index.html → /home/master@st)
sudo a2enmod userdir
systemctl restart apache2
접속: http://192.168.0.207/~master
📂 파일 복사 및 사용자 생성
cd /etc/skel
su
sudo passwd root

mkdir public_html
cd public_html
touch index.html index.php
cd ..
touch backup.sh
chmod 777 backup.sh

CodeIgniter 업로드 후:

unzip codeigniter
mv codeigniter dTab CI4
rm -rf 'codeigniter'
adduser geumsol
cd /home
ls

접속: http://192.168.0.207/~geumsol/ → Forbidden 해결:

chmod 711 $HOME
chmod 755 /home/geumsol/public_html
📚 [교재] 이것이 우분투 리눅스이다 - p.689

Apache 관련 디렉토리 구조:

  • /etc/apache2/
  • apache2.conf, ports.conf
  • mods-enabled/*.load, *.conf
  • conf-enabled/*.conf
  • sites-enabled/*.conf
🏷 가상 호스팅 설정

Apache/2.4.58 (Ubuntu) Server at ... Port 80 제거:

ServerSignature Off

nano /etc/apache2/sites-available/hosting.conf

<VirtualHost *:80>
  DocumentRoot /home/geumsol/public_html
  ServerName st.geumsol.kr
  ServerAdmin geumsol@st.geumsol.kr
  ErrorLog /home/geumsol/public_html/logs/error.log
  CustomLog /home/geumsol/logs/access.log combined
</VirtualHost>
a2ensite hosting
systemctl restart apache2

아파치 설정 (성능 향상):

nano /etc/apache2/apache2.conf
MaxKeepAliveRequests 100
KeepAliveTimeout 5
apache2ctl configtest
📝 로그 디렉토리 생성
mkdir logs
cd logs
touch error.log access.log
systemctl restart apache2
🎯 미션 1: 백업 받은 파일 복구하기

tgz 압축 풀기:

tar -xzvf geumsol_20250630101516.tgz

또는 경로 지정:

tar -xzvf geumsol_20250630101516.tgz -C /home/geumsol/public_html

압축 경로 재설정:

zip -r home.zip ./*.*
mv home.zip ../../../
unzip home.zip -A # in public_html
🗄 데이터베이스 복구
mysql
show databases;
create database geumsol;
CREATE USER 'geumsol'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON geumsol.* TO 'geumsol'@'localhost';
flush privileges;
mysql -u geumsol -p geumsol < geumsol_2025063010.sql

삭제:

drop database geumsol;
📌 기타 명령

파일 삭제:

rm -rf ./*.*

100 서버 접속:

ssh 192.168.0.100
cd /backup/geumsol
nano backup.sh # woosuk로 수정
./backup.sh
🚀 미션

다운받은 리눅스 이미지를 USB에 저장하여 부팅 가능하도록 만들 것