aimake.log
인프라

워드프레스 로컬 설치, 서버 없이 맥에서 — Local 앱 5분 세팅과 함정 3개 (만들기 02)

지난 편에서 정한 구조의 첫 조각입니다 — 워드프레스를 호스팅에 올리지 않고 내 맥 안에서만 돌리는 것. 이걸 해주는 도구가 Local이라는 무료 앱이고, 실제 설치는 5분이면 끝납니다. 다만 그 뒤에 겪게 되는 함정…

2026.07.28 7 MIN

지난 편에서 정한 구조의 첫 조각입니다 — 워드프레스를 호스팅에 올리지 않고 내 맥 안에서만 돌리는 것. 이걸 해주는 도구가 Local이라는 무료 앱이고, 실제 설치는 5분이면 끝납니다. 다만 그 뒤에 겪게 되는 함정 몇 개는 5분짜리가 아니라서, 이 글에 미리 적어둡니다.

왜 Local인가

맥에서 워드프레스를 돌리는 방법은 여럿입니다. Docker로 직접 구성할 수도 있고, MAMP 같은 전통 스택도 있죠. 그중 Local을 고른 이유는 하나입니다 — 관리할 게 없습니다.

  • PHP, MySQL, 웹서버가 앱 안에 통째로 번들돼 있어서 따로 설치·설정할 게 없습니다
  • 사이트 생성이 클릭 몇 번입니다. 만들면 사이트명.local 주소로 바로 열립니다
  • PHP 버전을 드롭다운으로 바꿉니다 (저는 8.2 → 8.5.3으로 클릭 한 번에 올렸습니다)
  • 무료입니다

Docker가 익숙하면 그쪽도 좋은 선택입니다. 다만 이 시리즈의 원칙은 “관리 비용 최소화”라서, 인프라를 직접 조립할 이유가 없었습니다.

설치 — 실제로 5분

  1. localwp.com에서 앱 다운로드, 설치
  2. Create a new site → 사이트 이름 입력 (저는 aimakelog)
  3. 환경 선택은 기본값(Preferred) 그대로
  4. 관리자 아이디·비밀번호 설정 → 완료. 로컬 설치는 이게 전부입니다

끝나면 브라우저에서 aimakelog.local이 열리고, /wp-admin으로 관리자에 들어갑니다. 파일은 전부 ~/Local Sites/사이트명/app/public에 있습니다 — 이 경로는 다음 편들에서 계속 나오니 기억해두면 좋습니다.

Local 앱 내부 구조

Local 앱 (무료)PHP 8.5드롭다운으로버전 교체MySQL 8.4DB — 소켓으로접근 (함정 ③)웹서버사이트명.local라우팅~/Local Sites/…/public워드프레스 파일 실체aimakelog.local브라우저 접근 주소서버를 빌린 게 아니라, 서버 한 벌이 통째로 맥 안에 들어 있다 — 인터넷에는 아무것도 노출되지 않는다

겪어봐야 아는 함정 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에게 시킬 수 있다는 뜻입니다. 이 래퍼 하나가 뒤 편들에서 발행 자동화의 손발이 됩니다.

정리

  1. Local 앱 — PHP·MySQL·웹서버 번들, 무료, 설치 5분. 관리할 인프라가 없다
  2. 함정 ①.local 주소는 외부 서비스 인증 불가. 연동 플러그인은 헛수고
  3. 함정 ② — PHP 버전 교체 시 번들 경로가 바뀐다. CLI 스크립트도 같이 고칠 것
  4. 함정 ③ — DB는 소켓 접속. mysqldump엔 소켓 경로를 명시할 것
  5. WP-CLI 래퍼 — 로컬 환경의 함정 ②·③을 스크립트 한 장으로 봉인하고, AI 자동화의 기반을 만든다

다음 편은 디자인입니다 — 이 빈 워드프레스에 지금 보고 있는 이 블랙 에디토리얼 테마를 입힌 과정을 다룹니다.

참고 문서Local — 공식 사이트무료 로컬 워드프레스 개발 환경WP-CLI — 공식 사이트 (한국어)워드프레스 명령줄 도구
Author

재박

AI로 뭔가를 만들다 막힌 지점과, 그걸 어떻게 뚫었는지 기록합니다.

RSS
구독
광고
이어서 읽기
aimake.log AI로 실제 결과물 만드는 실전 기록 RSS