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



1. 전날 패킷의 이상유무 확인

2. 서버 로그 확인

3. 서버 백업 유무 확인




- 서버 점검(백업 파일 빼주기) - 

100
xshell - sz geumsol_20250630*(sz:lrzsz, *:tgz, sql) - 바탕화면/backup 폴더 생성 후 넣어주기 - editplus에서 확인

오류 발생 시!

cd /home/geumsol - cat backup.sh - nano backup.sh





- 파일 복구·백업(NAT로 변경) -

GNS(ubuntu(192.168.1.2)에 백업파일 올리기)

ubuntu server stop - virtualbox - ubuntu 설정 - 네트워크 - 어댑터 1, NAT(GNS 안에서 빠져나오기) - 재실행 - 접속 후 네트워크에서 NAT 변경(수동으로 한번 더!)
=> GNS 안에서 빠져나올 때는 무조건 NAT로 바꿔주기!

ubuntu IP 확인




웹사이트 st.geumsol.kr 접속(방금 접속한 리눅스 서버로 접속 - 10.0.0.15)


xshell 
ls - ip addr(10.0.2.15) 확인


ip addr
ls
cd ~(틸드) : 본인의 홈디렉토리 이동
cd /home/master
master@master:~$
master : 사용자
master : 컴퓨터
~ : 위치
sudo nano /etc/hostname
st
sudo reboot
master@st:~$



/var/www/html/index.html -> /HOME/master@st 변경해주기(일반 사용자가 홈디렉토리 운영하도록 설정)

sudo a2enmod userdir
systemctl restart apache
http://192.168.0.207/~master


파일 복사(디렉토리 만들어놓으면 계정이 추가될 때마다 etc/skel에서 자동으로 복사됨)
cd /etc/skel
su(root로 바꿔주기)
sudo passwd root(password 바꾸기)
mkdir public_html
ls
cd ..
pwd(현재 위치 확인)
touch back.sh
chmod 777 backup.sh
cd public_html/
ls
touch index.html
touch index.php

codeigniter 소스 코드 업로드 후(끌어오기)
ls
unzip codeigniter
ls
mv codeigniter dTab CI4
ls
rm -rf 'codeigniter'
ls


사용자 추가
adduser geumsol

cd /home
ls

http://192.168.0.207/~geumsol/(Forbidden)

chmod 711 $HOME
chmod 755 /home/geumsol/public_html


[교재. 이것이 우분투 리눅스이다]

p. 689

- /etc/apache2/ 디렉터리의 파일 및 폴더 -

/etc/apache2/ - apache2.conf - ports.conf
mods-enabled - *.load, *.conf
conf-enabled - *.conf
sites-enabled - *.conf


가상 호스팅 설정 파일



Apache/2.4.58 (Ubuntu) Server at 192.168.0.207 Port 80 지우는 법

Apache 설정 - ServerSignature Off


- 가상 호스팅 -

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

# create new
# settings for new domain
<Virtualost *: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

아파치 웹 주 설정 파일(MaxKeepAliveRequests 100, KeepAliveTimeout 5 설정)
nano /etc/apache2/apache2.conf
apache2ctl configtest


geumsol

mkdir logs
cd logs
touch error.log
touch access.log


root

mkdir logs
cd logs
touch error.log
touch access.log
systemctl restart apache2


미션1

백업 받은 파일을 복구하여 정상화 시키기!
tgz 압축 풀기
tar -xzvf geumsol_20250630101516.tgz
home/geumsol/public_html/.....(복잡)

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


압축경로를 지정하던가?

이동하던가?
apt -y install zip

zip -r home.zip ./*.*
zip -r home.zip auth includes index.html index.php logs intro packet server static study
mv home.zip ../../../(public_html으로 옮기라는 뜻)
geumsol@st:~/public_html$ unzip home.zip - A




데이터베이스 복구

root@st:/home/geumsol/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;

root@st:/home/geumsol/public_html
mysql -u geumsol -p geumsol < geumsol_2025063010.sql


데이터베이스 삭제 drop database geumsol;




1.
지우기 - geumsol@IP100:/backup/geumsol$ rm -rf ge*

cat /etc/crontab

rm -rf ./*.*


100 서버(ssh 192.168.0.100) - cd /backup - cd geumsol/ - nano backup.sh(woosuk 수정) - 

geumsol@IP100: ./backup.sh


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