[웹 보안] 환경 구축 (VMware + Ubuntu + LAMP)
🐢 안녕하세요, 카메입니다.
앞서 말씀 드렸던 것처럼 웹 보안 수업 때 진행하는 웹 보안 기법을 티스토리에 정리하며 진행을 하려고 합니다. 오늘은 첫 단추로 환경을 구축하도록 하겠습니다.
1. VMware과 Ubuntu 설치 상태
저는 이미 전에 VMware + Ubuntu 모두 설치를 해 둔 상태입니다. WMware workstation에서 여러 번 실습을 해본 경험도 있습니다. 그래서 이 부분은 넘어가도록 하겠습니다.

2. LAMP 스택 설치
그러면 다음으로 LAMP 스택 설치로 넘어가도록 하겠습니다. 우선, Ubuntu 터미널을 열고 다음 순서를 따라가면 됩니다.
Step 1: 패키지 목록 업데이트
가장 먼저 패키지 목록을 최신으로 업데이트 합니다.
sudo apt update
sudo apt upgrade -y
Step 2: Apache 설치
sudo apt install apache2 -y
설치 후 제대로 설치가 되었는지 확인을 합니다.
sudo systemctl status apache2
이미지처럼 `active (running)` 이라고 뜨면 성공입니다.
Ubuntu 브라우저 (저는 Firefox를 사용합니다) 를 열고 주소창에 `http://localhost` 라고 입력하면 원래는 기본 페이지가 자동으로 생기는데 Ubuntu 버전에 따라 안 생기는 경우도 있다고 합니다. 원래는 "Apache2 Ubuntu Default Page"라는 페이지가 떠야 하는데 저는 다음과 같은 403 Forbidden 페이지가 떴어요.

해당 페이지에 Apache는 잘 돌아가고 있고 서버는 작동하는데 기본 페이지 파일이 없어서 다음과 같이 뜬 것 같아서 일단은 넘어가줍니다.
-> Apache 설치 완료!
Step 3: MySQL 설치
sudo apt install mysql-server -y
설치 후 제대로 설치가 되었는지 확인을 합니다.
sudo systemctl status mysql
이미지처럼 `active (running)` 이라고 뜨면 성공입니다.

Step 4: PHP 설치
PHP 본체와 MySQL 연동 모듈을 함께 설치합니다.
sudo apt install php libapache2-mod-php php-mysql -y
설치 후 Apache를 재시작해서 PHP 모듈을 적용합니다.
sudo systemctl restart apache2
Step 5: PHP 동작 확인
제대로 설치가 됐는지 테스트 파일을 만들어서 확인해보도록 하겠습니다.
sudo nano /var/www/html/test.php
nano 에디터에 다음 내용을 입력합니다.

여기까지 마치고 브라우저에 `http://localhost/test.php`에 접속하면 PHP 정보 페이지가 떠야 하는데 저는 아까처럼 403 Forbidden 페이지가 떴습니다.
cat /etc/apache2/apache2.conf | grep -A 5 "/var/www"
다음 명령어를 통해 Apache 설정 파일을 확인해보니 Deny from 127.0.0.1 이라는 라인이 있어서 localhost에서의 접속을 차단하고 있던 것이었습니다...

sudo nano /etc/apache2/apache2.conf
파일이 열리면 Ctrl + W를 눌러서 Deny from 127.0.0.1을 검색하여 해당 라인을 찾아 주석 처리를 해줍니다.

해당 파일을 저장하고 Apache 를 재시작한 후 재접속합니다.

LAMP 스택 설치가 전부 완료되었습니다!