지난 편에서 정한 구조의 첫 조각입니다 — 워드프레스를 호스팅에 올리지 않고 내 맥 안에서만 돌리는 것. 이걸 해주는 도구가 Local이라는 무료 앱이고, 실제 설치는 5분이면 끝납니다. 다만 그 뒤에 겪게 되는 함정 몇 개는 5분짜리가 아니라서, 이 글에 미리 적어둡니다.
왜 Local인가
맥에서 워드프레스를 돌리는 방법은 여럿입니다. Docker로 직접 구성할 수도 있고, MAMP 같은 전통 스택도 있죠. 그중 Local을 고른 이유는 하나입니다 — 관리할 게 없습니다.
- PHP, MySQL, 웹서버가 앱 안에 통째로 번들돼 있어서 따로 설치·설정할 게 없습니다
- 사이트 생성이 클릭 몇 번입니다. 만들면
사이트명.local주소로 바로 열립니다 - PHP 버전을 드롭다운으로 바꿉니다 (저는 8.2 → 8.5.3으로 클릭 한 번에 올렸습니다)
- 무료입니다
Docker가 익숙하면 그쪽도 좋은 선택입니다. 다만 이 시리즈의 원칙은 “관리 비용 최소화”라서, 인프라를 직접 조립할 이유가 없었습니다.
설치 — 실제로 5분
- localwp.com에서 앱 다운로드, 설치
- Create a new site → 사이트 이름 입력 (저는
aimakelog) - 환경 선택은 기본값(Preferred) 그대로
- 관리자 아이디·비밀번호 설정 → 완료. 로컬 설치는 이게 전부입니다
끝나면 브라우저에서 aimakelog.local이 열리고, /wp-admin으로 관리자에 들어갑니다. 파일은 전부 ~/Local Sites/사이트명/app/public에 있습니다 — 이 경로는 다음 편들에서 계속 나오니 기억해두면 좋습니다.
겪어봐야 아는 함정 3개
설치보다 이게 본론입니다. 전부 제가 실제로 밟은 것들입니다.
함정 ① — .local 주소로는 외부 서비스 인증이 안 됩니다. 구글 Site Kit 같은 플러그인을 연결하려 하면 “development sites not supported”라며 거부당합니다. 구글 인증 프록시가 .local 같은 개발용 도메인을 아예 안 받거든요. 우리 구조에선 어차피 실서비스가 정적 사이트라 문제가 안 되지만, 로컬 워드프레스에 외부 연동 플러그인을 깔아봤자 대부분 헛수고라는 건 미리 아는 게 좋습니다. 애널리틱스·서치콘솔은 배포된 실제 도메인에 직접 붙이면 됩니다.
함정 ② — PHP 버전을 바꾸면 경로가 통째로 바뀝니다. Local은 PHP를 버전별 폴더(lightning-services/php-8.5.3+1/...)에 담아둡니다. 앱 안에서야 드롭다운으로 끝나지만, 터미널에서 그 PHP를 직접 쓰고 있었다면(아래 WP-CLI처럼) 스크립트가 옛 버전 경로를 계속 바라봅니다. 저는 8.5.3으로 올리고도 CLI가 8.2.29라고 우기는 걸 보고서야 알았습니다.
함정 ③ — DB 백업은 소켓 경로를 넘겨야 합니다. Local의 MySQL은 일반적인 포트가 아니라 앱 전용 소켓 파일로 붙습니다. 그냥 mysqldump를 치면 /tmp/mysql.sock을 찾다 실패합니다. 소켓 경로는 사이트마다 다르게 생성되고, ~/Library/Application Support/Local/run/<사이트ID>/mysql/mysqld.sock 꼴입니다.
터미널에서 다루기 — WP-CLI 래퍼
이 시리즈의 최종 목표는 발행·배포를 Claude Code에 맡기는 건데, 그 기반이 WP-CLI(워드프레스 명령줄 도구)입니다. Local의 번들 PHP와 소켓을 쓰도록 래퍼 스크립트를 하나 만들어두면 함정 ②·③이 한 번에 정리됩니다. 실제로 쓰고 있는 스크립트의 뼈대입니다.
#!/bin/bash
# tools/wp.sh — Local 환경용 WP-CLI 래퍼
# PHP 버전을 바꾸면 PHPBIN 경로도 같이 바꿔야 한다 (함정 ②)
PHPBIN="$HOME/Library/Application Support/Local/lightning-services/php-8.5.3+1/bin/darwin-arm64/bin/php"
SOCK="$HOME/Library/Application Support/Local/run/<사이트ID>/mysql/mysqld.sock"
PHAR="./tools/wp-cli.phar" # wp-cli.org 에서 받은 실행 파일
# wp db export가 부르는 mysqldump도 Local 번들에서 찾도록 (함정 ③)
MYSQLBIN="$HOME/Library/Application Support/Local/lightning-services/mysql-8.4.0/bin/darwin-arm64/bin"
export PATH="$MYSQLBIN:$PATH"
exec "$PHPBIN" -d mysqli.default_socket="$SOCK" "$PHAR" --path="$HOME/Local Sites/aimakelog/app/public" "$@"
이제 터미널에서 이렇게 됩니다.
./tools/wp.sh post list # 글 목록
./tools/wp.sh plugin list # 플러그인 목록
./tools/wp.sh db export # DB 백업 (소켓 문제 해결된 상태로)
참고로 최신 PHP에서 wp-cli가 deprecated 경고를 쏟아내면 래퍼의 PHP 호출에 -d error_reporting="E_ALL & ~E_DEPRECATED"를 붙이면 조용해집니다.
클릭 대신 명령으로 워드프레스를 다룰 수 있다는 건, 곧 AI에게 시킬 수 있다는 뜻입니다. 이 래퍼 하나가 뒤 편들에서 발행 자동화의 손발이 됩니다.
정리
- Local 앱 — PHP·MySQL·웹서버 번들, 무료, 설치 5분. 관리할 인프라가 없다
- 함정 ① —
.local주소는 외부 서비스 인증 불가. 연동 플러그인은 헛수고 - 함정 ② — PHP 버전 교체 시 번들 경로가 바뀐다. CLI 스크립트도 같이 고칠 것
- 함정 ③ — DB는 소켓 접속.
mysqldump엔 소켓 경로를 명시할 것 - WP-CLI 래퍼 — 로컬 환경의 함정 ②·③을 스크립트 한 장으로 봉인하고, AI 자동화의 기반을 만든다
다음 편은 디자인입니다 — 이 빈 워드프레스에 지금 보고 있는 이 블랙 에디토리얼 테마를 입힌 과정을 다룹니다.