📘 Day 7 (2025.06.30.MON) - 백업 파일 업로드, 가상 호스팅
📋 전날 점검
- 전날 패킷 이상 유무 확인
- 서버 로그 확인
- 서버 백업 유무 확인
ip addr
ls
cd ~ # 홈 디렉토리 이동
cd /home/master
sudo nano /etc/hostname → st
sudo reboot
🛠 서버 점검 (백업 파일 빼주기)
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에 저장하여 부팅 가능하도록 만들 것