Table of Contents
지난 2편에서 고성능 미니 PC 세팅을 마쳤으니, 이제 본격적으로 서버를 굴릴 환경을 만들 차례다.
1. 고민의 시작: OS는 뭘로 하지?
처음엔 서버니까 당연히 우분투 서버(Ubuntu Server)를 깔까 고민했다. 하지만… 나는 뼛속까지 윈도우(Windows) 유저다.
리눅스 커맨드 라인이 익숙하긴 해도, GUI 환경에서 오는 그 편안함을 포기할 순 없었다. 게다가 메인 PC로도 쓸 거라서 리눅스 데스크톱은 좀…
그래서 내린 결론!
“기본 OS는 Windows 11 Pro로 가고, 개발 환경은 리눅스로 돌리자!”
이게 무슨 혼종이냐 싶겠지만, 우리에겐 MS가 내려준 축복, WSL2(Windows Subsystem for Linux 2)가 있다.
2. 궁극의 조합: Windows + WSL2 + Docker
WSL2는 윈도우 위에서 리눅스 커널을 가상화 기술로 돌려주는 건데, 성능 저하가 거의 없이 찐 리눅스 환경을 쓸 수 있게 해준다.
나의 최종 테크트리는 이렇다.
- 메인 OS: Windows 11 Pro
- 리눅스 환경: WSL2 (Ubuntu 22.04 LTS)
- 컨테이너 엔진: Docker Desktop (WSL2 기반으로 실행)
- 개발 도구: VS Code (Remote – WSL 확장 기능 활용)
🛠️ 왜 이렇게 구성했나?
이번 마이그레이션의 목표는 단순히 AWS EC2에 있던 워드프레스를 로컬 서버로 복붙하는 게 아니다.
“인프라를 컨테이너 환경(Docker Compose)으로 옮기고, 설정값들을 코드로 관리하고 싶었다.”
- IaC (Infrastructure as Code) 흉내 내기: 서버 설정을
docker-compose.yml파일 하나로 관리하면, 나중에 서버를 날려 먹어도 이 파일만 있으면 금방 복구할 수 있다. - 배포 자동화의 초석: 코드로 관리하면 나중에 CI/CD 붙이기도 쉽다. (물론 개인 블로그 레벨에서 CI/CD까진 좀 뇌절인 거 같아서 Git으로 버전 관리 정도만 할 생각이다.)
3. 환경 세팅 실전
세팅 과정은 생각보다 너무 간단해서 길게 쓸 것도 없다.
🐧 WSL2 & Ubuntu 설치
CLI로 wsl --install 한 방이면 끝나지만, 그것도 귀찮으면 그냥 Microsoft Store에서 ‘Ubuntu’ 검색해서 ‘딸깍’ 설치하면 된다. 세상 참 좋아졌다.
🐳 Docker Desktop & WSL2 연동
Docker Desktop을 설치하고 처음 실행하면, WSL2가 활성화되어 있으니 연동할 거냐고 묻는다.
만약 WSL 터미널에서 docker 명령어를 쳤을 때 아래처럼 에러가 난다면, 연동 설정이 제대로 안 된 거다.
Bash
simon00102@jklee-mini-pc:~/jklee-home-server$ docker compose up -d
The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.
...
Docker Desktop 설정(Settings) -> Resources -> WSL integration 메뉴로 가서, 내가 설치한 Ubuntu 배포판(Distro)의 스위치를 켜주면 된다.
이제 Ubuntu 터미널에서 도커 명령어가 아주 잘 먹힐 거다. 굳이 배포판을 여러 개 나눠서 복잡하게 쓸 필요 없이, 우분투 하나에서 도커 데몬도 돌리고 개발도 다 할 예정이다.
💻 VS Code & Remote Development
개발 도구는 Visual Studio Code 하나면 끝이다. Visual Studio는 나중에 C계열 개발할 때나 깔아봐야지… ㅠ_ㅠ
VS Code 설치 후, 확장(Extensions) 탭에서 ‘WSL’이나 ‘Remote Development’ 팩을 설치해 주자.
설치가 끝나면 왼쪽 사이드바에 ‘Remote Explorer’ 탭이 생긴다. 들어가 보면 내가 설치한 WSL 배포판이 보인다.
저기서 ‘Connect to WSL’ 버튼을 누르면, VS Code가 리눅스 환경 내부에서 실행되는 마법 같은 경험을 하게 된다.
터미널(Ctrl + `)을 열어보면 윈도우의 CMD나 PowerShell이 아니라, 리눅스의 상징인 배시 셸(Bash Shell)이 반겨줄 것이다.
이로써 윈도우의 편리함과 리눅스의 강력함을 모두 갖춘 완벽한 하이브리드 개발 환경이 완성되었다.
📅 다음 편 예고
모든 준비는 끝났다. 이제 진짜 본게임이다.
- 4편: AWS에서 워드프레스 DB & 파일 덤프 떠오기 (ft. 삽질의 서막)
- 5편: Docker Compose로 로컬에 워드프레스 완벽 구현하기
댓글 남기기응답 취소