
안녕하세요, Mark입니다.
지난 편에서 Ghost와 워드프레스를 비교했는데요. 결론은 에드센스 수익화가 목표라면 워드프레스였죠. 그래서 바로 설치해봤습니다.
Ghost 설치할 때도 느꼈지만, 이번에도 포테이너 스택 덕분에 생각보다 훨씬 빨리 끝났습니다. ㅎㅎ
📦 1단계: 포테이너 스택으로 설치하기
포테이너 접속 후 Stacks → Add Stack으로 이동합니다.
스택 이름을 wordpress 정도로 입력하고, 아래 내용을 Web editor에 붙여넣습니다.
version: '3'
services:
wordpress:
image: wordpress:latest
container_name: wordpress
restart: always
ports:
- 3030:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: [DB_PASSWORD]
WORDPRESS_DB_NAME: wordpress
volumes:
- /home/ubuntu/wordpress/html:/var/www/html
db:
image: mariadb:10.6
container_name: wordpress_db
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wp_user
MYSQL_PASSWORD: [DB_PASSWORD]
MYSQL_ROOT_PASSWORD: [ROOT_PASSWORD]
volumes:
- /home/ubuntu/wordpress/db:/var/lib/mysql
version: '3'
services:
wordpress:
image: wordpress:latest
container_name: wordpress
restart: always
ports:
- 3030:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: [DB_PASSWORD]
WORDPRESS_DB_NAME: wordpress
volumes:
- /home/ubuntu/wordpress/html:/var/www/html
db:
image: mariadb:10.6
container_name: wordpress_db
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wp_user
MYSQL_PASSWORD: [DB_PASSWORD]
MYSQL_ROOT_PASSWORD: [ROOT_PASSWORD]
volumes:
- /home/ubuntu/wordpress/db:/var/lib/mysql
각 항목 설명
| 항목 | 설명 |
|---|---|
wordpress:latest | 항상 최신 버전의 워드프레스를 사용 |
3030:80 | 외부 포트 3030을 내부 80포트로 연결 |
WORDPRESS_DB_USER | 데이터베이스 사용자 이름 |
WORDPRESS_DB_PASSWORD | 본인이 원하는 비밀번호로 설정 |
mariadb:10.6 | MySQL 호환 데이터베이스, 가볍고 안정적 |
volumes | 워드프레스 파일과 DB를 서버에 저장하는 경로 |
💡 Ghost와 다른 점: Ghost는 MySQL을 쓰고 Node.js 기반인 반면, 워드프레스는 MariaDB와 PHP 기반입니다. 둘 다 도커 컨테이너로 돌아가니까 서로 충돌 없이 같은 서버에서 함께 운영할 수 있어요.
내용을 붙여넣고 Deploy the Stack 버튼을 클릭합니다. Ghost보다도 더 빠르게 설치가 완료됩니다.
🔒 2단계: NPM에서 도메인 연결 + SSL 인증서 발급
이제 NPM에서 도메인을 연결합니다. 저는 jp.occultodyssey.com을 워드프레스 주소로 사용했습니다.
NPM 접속(http://서버IP:81) → Proxy Hosts → Add Proxy Host
| 항목 | 입력값 |
|---|---|
| Domain Names | jp.occultodyssey.com |
| Scheme | http |
| Forward Hostname | 서버 IP |
| Forward Port | 3030 |
| Block Common Exploits | ✅ 체크 |
SSL 탭으로 이동해서:
- SSL Certificate →
Request a new SSL Certificate선택 - Force SSL ✅ 체크
- I Agree to the Let’s Encrypt Terms of Service ✅ 체크
- Save 클릭
잠시 후 Let’s Encrypt 인증서가 자동 발급됩니다. 🔒 자물쇠 완성!

🌐 3단계: 워드프레스 초기 설정
브라우저에서 접속합니다.
https://jp.occultodyssey.com
https://jp.occultodyssey.com
처음 접속하면 워드프레스 설치 마법사가 시작됩니다.
- 언어 선택 → 한국어 선택
- 사이트 제목 입력
- 관리자 아이디, 비밀번호, 이메일 설정
- 워드프레스 설치하기 클릭
- 로그인 후 대시보드 입장! 🎉
관리자 페이지는 아래 주소로 접속합니다.
https://jp.occultodyssey.com/wp-admin
https://jp.occultodyssey.com/wp-admin
⚠️ Ghost와 결정적으로 다른 점: 워드프레스는 이메일 인증 없이 바로 관리자 계정이 생성됩니다. Ghost처럼 메일 설정을 미리 안 해도 접속이 됩니다. 훨씬 단순하죠. ㅎㅎ
✅ 핵심 요약
| 단계 | 내용 |
|---|---|
| 1단계 | 포테이너 스택으로 워드프레스 + MariaDB 설치 |
| 2단계 | NPM에서 서브도메인 연결 + Let’s Encrypt SSL 발급 |
| 3단계 | 초기 설정 마법사로 관리자 계정 생성 후 대시보드 입장 |
Ghost 설치와 비교해보면
두 번 설치해보고 나니 차이가 확실히 느껴졌습니다.
| 항목 | Ghost | 워드프레스 |
|---|---|---|
| 설치 난이도 | 메일 설정 필수라 약간 복잡 | 스택 붙여넣고 끝, 단순함 |
| 초기 설정 | 이메일 인증 필요 | 바로 로그인 가능 |
| 대시보드 | 깔끔하고 단순 | 기능이 많아서 처음엔 복잡해 보임 |
| 포트 | 2369 | 3030 |
워드프레스 대시보드는 처음 보면 메뉴가 엄청 많아서 살짝 압도되는 느낌이 있습니다. 근데 에드센스 붙이고 플러그인 설치하고 하다 보면 그 많은 메뉴들이 하나씩 이해되더라고요. ㅎㅎ
마치며
Ghost에 이어 워드프레스까지, 이제 서버에 블로그가 두 개 돌아가고 있습니다. 같은 서버에서 충돌 없이 각자의 포트로 사이좋게 운영 중이에요.
다음 편에서는 서버에 올라간 프로그램들이 잘 돌아가고 있는지 24시간 감시해주는 업타임 쿠마(Uptime Kuma)를 설치해보겠습니다. 블로그가 다운됐는데 내가 모르고 있으면 안 되니까요. ㅎㅎ
Mark의 한마디: “Ghost는 메일 설정 안 하면 나중에 낭패를 봅니다. 워드프레스는 그런 거 없이 바로 됩니다. 이 차이 하나가 초보자한테는 꽤 크게 느껴지더라고요. ㅎㅎ”