Intro
드디어 Docker 환경에서도 원활히 wizmall을 설치하고 이용할 수 있게 되었습니다! 두둥
휴.. wizmall 이 워낙에 구 버전이다 보니, 지원하는 이미지를 찾기에는 한계가 있어서,
결국 Apache, PHP 전부 직접 다운로드해서 컴파일하는 것으로 해결하였습니다...!
제가 만든 도커 이미지는 Apache 2.2 버전에 PHP 5.2.17 버전으로 구성했습니다.
실습하는데 있어 무리 없게끔 최대한 Windows 버전의 APMSetup7 환경과 동일하게 만들었습니다.
아 무엇보다 도커에서는 Ubuntu(Linux) 환경으로 구축하였으니,
훨씬 원활한 환경에서 실습해볼 수 있을 것으로 기대해봅니다!
자 그리하여 이제 Docker를 이용해서 Ubuntu(Linux)에서 wizmall 설치하는 법을 알아봅시다.
Docker + docker-compose Installation
Docker 를 이용하려면 당연히 Docker 를 설치해야겠지요? Docker 설치법은 여기서 따로 다루지 않겠습니다.
환경에 맞게 잘 설치하시면 됩니다. Windows에서 저는 Docker Desktop 을 사용합니다.
https://www.docker.com/products/docker-desktop/
요즘 최신 버전의 Docker 에서는 대부분 docker-compose 도 같이 설치가 되는 것으로 알고 있습니다.
아래 과정에서 docker-compose 도 사용되니 혹시 구 버전의 docker 를 설치하신 분이라면 별도로 설치해주시길 바랍니다.
Github Repository Clone or Download
제가 직접 만든 docker image 를 간단한 명령어인 docker compose up 을 이용해서 한 방에 쉽고 빠르게 구축하기 위해서 아래 github repository를 다운로드 해봅시다~
https://github.com/boldagihororok/wizmall-docker
git 을 사용하시는 분은 git 명령어로 clone 을 하셔도 되고, 사용하지 않으신 분들은 위 이미지에 나오는 것처럼 "Download ZIP" 버튼을 눌러서 다운로드 하시면 되겠습니다~
Docker Container Execution
압축을 풀었거나 git clone 을 했다면 위와 같은 파일들을 받아온 것을 볼 수 있는데요.
위 파일들이 있는 폴더에서 터미널/cmd/명령프롬프트를 여셔서 아래와 같은 명령어를 실행하기만 하면 됩니다!
(아 물론 docker 명령어 실행을 위해서는 우선 docker 가 설치되어 있어야 합니다!)
docker compose up -d
docker ps -a
그러면 아래와 같이 실행되는데요.
PS C:\wizmall-docker> docker compose up -d
[+] Running 2/3
- Network wizmall-docker_default Created 0.9s
✔ Container wizmall-docker-db-1 Started 0.4s
✔ Container wizmall-docker-web-1 Started 0.8s
PS C:\wizmall-docker> docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c5973305aa65 wizmall-docker-web "/usr/local/apache2/…" 5 seconds ago Up 4 seconds 0.0.0.0:80->80/tcp wizmall-docker-web-1
2a258adeaecc grugnog/mysql-5.1:latest "/entrypoint.sh mysq…" 5 seconds ago Up 4 seconds 3306/tcp, 33060/tcp wizmall-docker-db-1
이 상태에서 이제 웹 브라우저를 열어서 http://127.0.0.1/index.php 에 접속하게 되면 다음과 같은 화면을 보실 수 있습니다.
이제 체크박스를 클릭해서 동의해주고, 설치 버튼을 누릅니다.
다음 화면에서 MYSQL 호스트를 "db" 로 입력해주고, DB이름과 아이디 그리고 패스워드는 모두 동일하게 "wizmall" 이라고 입력해줍니다.
Admin ID 랑 패스워드도 모두 "admin" 이라고 입력해주고, INSTALL START 버튼을 눌러줍니다.
설치가 끝났다면, 마지막 설정 과정이 있는데요. 상호명, 홈페이지명을 wizmall 로 설정해주고, 관리자 이메일은 admin@admin.com 으로 해주고, wizmall 절대경로는 / 으로 설정해줍시다.
그런 다음 "설정 완료" 버튼을 눌러줍시다.
이렇게 초기 설치와 설정 과정은 끝이 납니다.
이제 메인 페이지로 다시 접속해보시면 다음과 같은 화면이 나오면 정상적으로 wizmall 구축을 완료한 모습이 되겠습니다~
만약에 혹시 어떤 분은 위 화면이 정상적으로 나오지 않고 이미지가 깨지게 보이신다면, 시크릿브라우저 또는 브라우저 캐시 삭제 후 재접속 해보시고, 그래도 계속 이미지가 깨져서 보이지 않는다고 하시면, docker 컨테이너와 이미지를 모두 삭제한 뒤 다시 위 과정을 반복해서 시도 해보시면 해결 될 것 같습니다. (가끔 통신상 문제로 이미지 파일들이 다운로드 또는 복사가 되지 않는 버그가 있는 것 같더라구욥)
잘 안되시거나 질문이 있으시면 여쭤봐주세욥~
다음 글에서는 wizmall 대상 XSS, SQL Injection, Local File Inclusion, File Upload, Remote Code Execution, Deserialization 등등의 취약점을 다뤄볼까합니당~
(수정, 2024.08.30)
8월 30일 이전 버전 글대로 했을 때 회원가입이나 글쓰기 기능이 정상적으로 작동하지 않는 것을 확인했습니다ㅠㅠ
문제는 Mysql 버전이 맞지 않아서 생기는 문제로 확인되었는데요. 다시 Mysql 버전 5.7에서 5.1으로 변경해서 문제 해결 완료했습니다! 위 내용에는 큰 변동사항이 없습니다. 그냥 github 레포지토리만 다시 다운로드해서 이전과 동일하게 하시면 해결되시겠습니다!
'Notes' 카테고리의 다른 글
[Wizmall CMS 분석 - 0] APMSetup7 in Windows (0) | 2024.08.13 |
---|