워드프레스 설치 방법을 검색하면 카페24 자동 설치와 FTP 업로드 글이 먼저 나온다.
나는 둘 다 안 했다. 빈 우분투 서버를 빌리고, 서버 세팅은 클로드 코드에 맡겼다. 이 방식으로 블로그 2개를 같은 서버에 올렸다.
이 글을 끝까지 따라 하면 HTTPS가 걸린 워드프레스 사이트 한 개가 남는다. 단계마다 “이 화면이 나오면 정상”과 “여기서 막히면”을 한 줄씩 붙였다.
목차
시작 전에 확인할 것 3가지
아래 세 줄만 알고 시작하면 중간에 되돌아오는 일이 없다.
- 도메인이
.dev라면 HTTPS가 붙기 전까지 브라우저에서 아예 안 열린다. 4단계까지 기다리면 된다 - 서버는 Vultr 서울 1GB면 충분하다. 기본 선택값이 월 43달러짜리라 플랜 화면에서 꼭 바꿔야 한다
- 결제와 계정 로그인이 걸린 일만 직접 하고, 서버 설정은 클로드 코드에 맡긴다. 어느 일이 어느 쪽인지는 아래 판단표에 정리했다
워드프레스 설치 준비물은 3개면 된다
준비물은 도메인, 호스팅 계정, 클로드 코드다. 이 셋이 있으면 나머지는 순서 문제다.
- 도메인. 나는 가비아에서 산
seoin.dev를 쓴다. 어디서 샀든 DNS 레코드(도메인 이름을 서버 주소에 잇는 설정)를 직접 고칠 수 있으면 된다. 이 설정은 3단계에서 손댄다. - 호스팅 계정. Vultr에 해외 결제 카드를 등록한다. 2026년 8월 기록 기준 1GB 서버 6달러에 자동 백업 1.2달러, 월 7.2달러였다.
- 클로드 코드. 아직 설치하지 않았다면 클로드 코드 맥 설치 글부터 보는 편이 낫다.
워드프레스 공식 요구사항은 PHP 8.3 이상, MariaDB 10.11 이상 또는 MySQL 8.0 이상, 그리고 HTTPS 필수다.
공식 요구사항 페이지에서 2026년 8월 28일에 확인했다. 이 버전 숫자는 외울 필요가 없다. 2단계에서 클로드 코드가 맞춘다.

출처: wordpress.org, Requirements (2026-08-28 캡처)
왜 Vultr인지는 호스팅 편에 적었다.
워드프레스 설치 방법 7단계, 서버 만들기부터 필수 페이지까지
순서는 서버 만들기 → 서버 세팅 → 도메인 연결 → HTTPS → 워드프레스 설치 → 기본 설정 → 필수 페이지다.
사람이 화면을 눌러야 하는 건 1·3·5·7단계다. 2·4단계는 클로드 코드가 SSH로 한다. SSH는 내 컴퓨터의 터미널(컴퓨터에 글로 명령을 넣는 창)에서 멀리 있는 서버에 접속하는 방식이다.
1단계, Vultr 서울에 1GB 인스턴스 만들기
이 단계를 마치면 워드프레스를 올릴 빈 서버 한 대와 접속용 IP 주소가 생긴다. 인스턴스는 Vultr에서 빌리는 가상 서버 한 대를 부르는 말이다.
Vultr 공식 문서 순서 그대로 만든다. Products → Compute → Deploy → Shared CPU → 위치 Seoul → 플랜 → Configure Software → OS → SSH Keys → Deploy.
내가 고른 값은 Shared CPU의 High Frequency 1 vCPU / 1GB / NVMe 32GB, Ubuntu LTS, Auto Backups 켬이다. 글 위주 블로그 2개에 충분하다.
- 이 화면이 나오면 정상 인스턴스 목록에 서울 서버가 Running으로 뜨고 IP가 보인다. 이 IP는 2·3단계에서 계속 쓴다.
- 여기서 막히면 기본 선택이 Dedicated CPU 8GB Atlanta(월 43달러)다. 왼쪽에서 Shared CPU로 바꾸고 위치를 다시 고른다.
SSH 키에도 함정이 하나 있다. SSH 키는 비밀번호 대신 서버 접속에 쓰는 열쇠 파일인데, 배포 시점에만 서버에 들어간다. 배포 후 계정에 키를 등록해도 이미 만든 서버에는 적용되지 않는다. 나는 이걸 몰라서 패널의 root 비밀번호로 접속해 키를 손으로 넣었다.

캡션: Vultr 공식 사이트 Cloud Compute 제품 페이지 실제 화면 (2026-08-29 기준)
2단계, 클로드 코드에 서버 세팅 맡기기
이 단계를 마치면 워드프레스가 돌아갈 수 있는 서버 환경이 갖춰진다. 여기서부터 클로드 코드 차례다.
맥은 터미널 앱, 윈도우는 PowerShell을 열고 claude를 입력한다(클로드 코드 사용법 참고). 1단계에서 받은 서버 IP와 접속 방법을 알려준 뒤, 아래 프롬프트를 그대로 붙여 넣는다. 그러면 클로드 코드가 서버에 접속해 웹 서버부터 데이터베이스, 보안 설정까지 한 번에 깔아 준다. 기록을 보고 재구성한 형태이고, 항목은 실제 서버에 들어간 구성 그대로다.
이 우분투 서버에 SSH로 접속해서 워드프레스 돌릴 준비를 해 줘.
nginx + PHP-FPM + MariaDB + certbot 설치하고,
방화벽은 22/80/443만 열고, fail2ban 넣고, 스왑 잡아 줘.
사이트 폴더는 /var/www/<도메인>/public 구조로 만들어서
나중에 블로그를 더 붙일 수 있게 해 줘. 다 되면 뭘 했는지 정리해 줘.
프롬프트에 나온 이름들은 이런 뜻이다. nginx는 웹 서버, PHP-FPM은 워드프레스 코드를 실행하는 프로그램, MariaDB는 글이 저장되는 데이터베이스다. certbot은 HTTPS 인증서를 받아 주는 도구다.
내 서버에는 nginx 1.28, PHP 8.5-FPM, MariaDB 11.8, certbot, wp-cli가 들어갔다. 방화벽, fail2ban(로그인 시도를 반복하는 IP를 차단하는 도구), 스왑 3GB(메모리가 부족할 때 디스크를 대신 쓰는 영역), 1GB 메모리에 맞춘 PHP-FPM 튜닝까지 클로드 코드가 했다.
- 이 화면이 나오면 정상 클로드 코드가 “설치한 것·연 포트·DB 이름”을 요약을 돌려준다. 브라우저에서
http://서버IP를 열면 nginx 기본 페이지가 뜬다. - 여기서 막히면 SSH 실패는 1단계 키 문제다. “root 비밀번호로 접속해 내 공개키를 넣어 줘”라고 시키면 풀린다.
낯선 명령에 허락을 묻는 화면이 뜨는 건 막힌 게 아니다. “이게 뭐 하는 거야”라고 물어보고 진행해도 된다.
3단계, 가비아 DNS에 A 레코드 넣기
이 단계를 마치면 IP 주소 대신 내 도메인 주소로 서버를 가리킬 수 있다. A 레코드는 도메인 이름이 어느 IP를 가리키는지 적는 항목이다.
가비아 DNS 관리 → 레코드 추가에서 A 레코드 두 줄을 넣는다. 호스트는 @와 www, 값은 둘 다 1단계에서 받은 서버 IP다.
- 이 화면이 나오면 정상 클로드 코드에 “내 도메인이 어느 IP를 가리키는지 확인해 줘”라고 물어 1단계 서버 IP와 같으면 된다. 내 경우 몇 분 안에 전파됐다.
- 여기서 막히면 아직 브라우저에서 안 열리는 게 정상이다. 특히
.dev는 4단계 전에는 무조건 안 열린다. DNS 문제가 아니다.

캡션: 서버에서 설치·DNS 확인 명령을 실행한 실제 터미널 화면, IP는 마스킹 (2026-08-29 기준)
4단계, Let’s Encrypt로 HTTPS 붙이기
이 단계를 마치면 주소창에 자물쇠가 뜨고, .dev 도메인도 브라우저에서 열린다. Let’s Encrypt는 HTTPS 인증서를 무료로 발급하는 기관이다.
다시 클로드 코드에 시킬 차례다. “certbot으로 내도메인과 www 인증서 발급하고 HTTPS 강제해 줘”라고 요청한다.
클로드 코드가 서버에서 실행하는 명령은 sudo certbot --nginx 한 줄이고, 내가 직접 입력할 일은 없다. certbot 공식 문서 기준으로 인증서 발급과 nginx 설정 수정, 자동 갱신까지 이 한 줄에 들어 있다.
- 이 화면이 나오면 정상
https://내도메인에서 자물쇠 아이콘과 함께 nginx 기본 페이지나 빈 화면이 뜬다. - 여기서 막히면 인증서 발급은 3단계 DNS가 먼저 바뀌어 있어야 한다. Let’s Encrypt가 내 도메인으로 서버에 접속해 확인한다.

캡션: certbot으로 발급된 HTTPS 인증서 목록 실제 터미널 화면 (2026-08-29 기준)
5단계, 워드프레스 5분 설치하기
이 단계를 마치면 워드프레스 관리자 화면에 로그인할 수 있다. 클로드 코드에 “워드프레스 최신 한국어 버전 받아서 DB 만들고 wp-config까지 잡아 줘”라고 시킨다. wp-config는 워드프레스가 데이터베이스 접속 정보를 읽는 설정 파일이다. 워드프레스 공식 설치 가이드의 5단계 중 앞의 4개(다운로드·데이터베이스·wp-config·파일 배치)를 클로드 코드가 한다.
마지막 하나는 내가 브라우저에서 한다. https://내도메인/wp-admin/install.php를 열면 사이트 제목, 관리자 아이디, 비밀번호, 이메일을 묻는다.
- 이 화면이 나오면 정상 “성공!” 화면 뒤 로그인 화면이 나오고, 로그인하면 알림판(관리자 첫 화면)이 뜬다.
- 여기서 막히면 “데이터베이스 연결 오류”는 wp-config 접속 정보가 2단계와 다를 때 난다. 오류 문구를 복사해 클로드 코드에 붙이면 된다.
6단계, 고유주소·시간대·검색엔진 노출 확인하기
이 세 가지만 맞춰 두면 글 주소와 검색 노출 문제를 미리 막을 수 있다. 설치 직후 알림판에서 3가지만 본다. 내 기록에서는 이 셋이 초기 설정의 전부였다.
| 메뉴 | 확인할 것 | 정상 값 |
|---|---|---|
| 설정 → 고유주소 | URL 구조 | 글 이름(%postname%), 기본값 그대로 |
| 설정 → 일반 | 언어·시간대 | 한국어 · Asia/Seoul |
| 설정 → 읽기 | “검색엔진이 이 사이트를 인덱싱하는 것 차단” | 체크 해제 |
- 이 화면이 나오면 정상 글을 하나 발행했을 때 주소가
내도메인/글-이름/형태다. - 여기서 막히면 읽기 설정의 차단이 켜져 있으면 구글에 글이 안 나온다. 검색엔진 등록은 SEO 설정 편에서 이어진다.

캡션: 워드프레스 관리자 고유주소 설정 실제 화면 (2026-08-29 기준)
7단계, 필수 페이지 3종 만들기
애드센스 승인 전에 있어야 하는 페이지라 설치 직후에 만들어 두는 편이 낫다. 개인정보처리방침(/privacy-policy/), 이용약관(/terms-of-service/), 소개(/about/) 세 개다.
개인정보처리방침은 페이지를 만든 뒤 설정 → 개인정보 보호에서 정식 페이지로 지정한다.
- 이 화면이 나오면 정상 헤더 메뉴에 세 페이지 링크가 보인다.
- 여기서 막히면 GeneratePress 무료 버전엔 푸터 메뉴 위치가 없다. 나도 못 찾아서 헤더 메뉴에 연결했다. 테마·플러그인은 플러그인 편에 있다.
.dev 도메인은 HTTPS 없이는 접속 자체가 안 된다
서버도 DNS도 멀쩡한데 사이트가 안 열린다면, .dev 도메인 자체가 원인이다. 이 시리즈에서 제일 많은 시간을 잡아먹을 뻔한 함정이다.
get.dev 공식 페이지에 따르면 .dev는 HSTS 프리로드 목록에 포함된 최상위 도메인이다. HSTS(브라우저에 “이 도메인은 HTTPS로만 접속하라”고 미리 새겨 두는 규칙)가 도메인 전체에 미리 걸려 있는 셈이다.
나도 DNS를 바꾼 뒤 인증서 발급까지 몇 분간 사이트가 통째로 안 열렸고, 그건 감수하기로 했다. 3단계와 4단계를 순서대로 하면 한 번에 풀린다.
.com이나 .kr은 이 제약이 없다. 그래도 공식 요구사항이 HTTPS 필수라 4단계는 어느 도메인이든 해야 한다.
클로드 코드에 실제로 준 프롬프트는 이런 형태였다
원문 그대로 남은 대화는 없다. 대신 서버 구성과 작업 순서 기록이 있어서, 거기서 거꾸로 복원한 형태다.
아래는 3단계에서 A 레코드를 바꾼 직후에 4단계 인증서 발급까지 한 번에 시킨 프롬프트다.
가비아에서 A 레코드를 방금 바꿨어. 전파됐는지 확인하고,
됐으면 certbot으로 seoin.dev랑 www.seoin.dev 인증서 받고
HTTP는 전부 HTTPS로 넘기게 해 줘. 끝나면 https로 200 뜨는지 확인해 줘.
핵심은 두 가지다. 지금 상태를 먼저 말해 주고, 끝났을 때 뭘 확인하면 되는지를 같이 적는다. “다 되면 200 확인해 줘”를 붙이면 클로드 코드가 검증까지 하고 보고한다.
새 서버에 엉뚱한 트래픽이 들어와 PHP 워커(요청을 처리하는 PHP 프로세스)가 바닥난 적도 있었다. 이전 주인이 쓰던 IP를 물려받아서였는데, 이건 사고 편에서 따로 쓴다.
직접 할 것과 클로드 코드에 맡길 것
나누는 기준은 하나다. 결제나 계정, 비밀번호가 걸리는 일은 직접 하고, 나머지는 클로드 코드에 맡긴다.
| 작업 | 누가 | 이유 |
|---|---|---|
| Vultr 인스턴스 생성 | 직접 | 결제·플랜 선택, 기본값 함정은 눈으로 확인 |
| SSH 키 첫 등록 | 직접 | 배포 시점 주입이라 사람이 확인 |
| nginx·PHP·MariaDB·방화벽·스왑 | 클로드 코드 | 설정 파일 편집은 손으로 하면 오타가 남 |
| 가비아 A 레코드 | 직접 | 도메인 계정 로그인 필요, 두 줄이면 끝 |
| certbot·HTTPS 강제 | 클로드 코드 | nginx 설정 검증까지 같이 시키는 게 안전 |
| 워드프레스 파일·DB·wp-config | 클로드 코드 | 5분 설치의 앞 4단계, 반복 작업 |
| 설치 화면 입력, 초기 설정 3종 | 직접 | 관리자 비밀번호는 내가 정함 |
| 필수 페이지 3종 | 둘 다 | 초안은 클로드 코드, 확인과 메뉴 연결은 직접 |
이 표가 맞지 않는 경우도 있다. 블로그를 하나만 운영할 계획이고 서버 화면 자체를 보고 싶지 않다면, 카페24 매니지드 워드프레스처럼 설치가 끝나 있는 서비스가 더 맞다. 아래 FAQ에서 차이를 적었다.
사람이 화면을 만지는 시간은 20분 안팎이다. 이 숫자는 기록에서 사람 몫 단계만 추린 추정치다. 기록상 서버 이전 작업 전체는 1~2시간, 대부분 클로드 코드가 서버에서 돌린 시간이다.
자주 묻는 질문
설치 글을 올릴 때마다 받은 질문 4개를 먼저 답해 둔다. 셋은 선택 문제고 하나는 순서 문제다.
설치형 워드프레스로 시작하는 게 맞나?
수익 목적이면 설치형이 맞다. 가입형은 광고·플러그인 제약이 있어 이 시리즈는 처음부터 설치형이다.
전체 지도는 1편에 있다.
윈도우에서도 되나?
된다. 서버는 우분투라 내 컴퓨터 운영체제와 무관하고, 클로드 코드는 윈도우 PowerShell에서도 돌아간다.
카페24 워드프레스와 뭐가 다른가?
설치 난이도와 확장성이 다르다. 카페24 매니지드 워드프레스는 클릭 몇 번으로 설치가 끝나고 국내 서버라 관리가 편하다. 대신 내가 리서치한 기준으로는 트래픽 제한이 있고 블로그를 여러 개 붙이기 어렵다. Vultr 방식은 서버 1대에 블로그를 계속 추가할 수 있고, 추가 비용은 도메인뿐이다.
설치 후 제일 먼저 뭘 해야 하나?
6단계 읽기 설정에서 검색엔진 차단이 꺼져 있는지 확인한다. 그다음이 관리자 아이디 admin 회피와 자동 백업 확인이다.
정리
설치는 7단계, 사람 몫은 그중 4단계다.
- 준비물은 도메인, Vultr 계정, 클로드 코드 3개
- 순서는 서버 → 세팅 → DNS → HTTPS → 설치 → 기본 설정 → 필수 페이지 3종
- 사람이 하는 건 결제·계정·비밀번호가 걸린 1·3·5·7단계, 나머지는 클로드 코드
.dev는 HTTPS 전에는 안 열리는 게 정상이니 DNS를 다시 만지지 않는다- 오늘 5분 과제: 알림판 → 설정 → 읽기에서 검색엔진 차단 체크가 꺼져 있는지 확인하기
시리즈 전체는 바이브코딩으로 워드프레스 블로그 만들기 허브에 있다. 설치 중 어디서 막혔는지 댓글로 알려 주면 다음 글에 반영하겠다.
검증 기준
- 마지막 업데이트일: 2026-09-06
- 확인 환경: 운영 중인 seoin.dev에서 WordPress 7.1·PHP 8.5.4·MariaDB 11.8.6·HTTPS를 확인하고 공식 요구사항과 대조. 서버 신규 생성과 처음부터의 설치는 재실행하지 않았으며, 제목의 20분은 원래 구축 경험이다.
- 주요 근거: WordPress 요구사항 · WordPress 설치 안내
직접 만든 실습 자료와 새 도구 소식
AI 도구로 만든 실습 자료, 달라진 기능과 강의 소식을 준비하고 있습니다. 발송을 시작하면 안내해 드려요. 먼저 확인 메일에서 본인 이메일을 확인해 주세요.
신청하기 전에 첫 소식 미리보기에서 내용과 자료를 확인해 보세요.