ServBay 환경에서 Bedrock 설치 및 설정하기
개요
이 문서는 ServBay 로컬 개발 환경에서 Bedrock을 설치하고 구성하는 방법을 안내합니다. Bedrock은 Composer를 이용한 의존성 관리, 환경 변수 분리 등 모던 개발 방식을 도입한 최신 WordPress 프로젝트 구조를 제공합니다. 이를 통해 개발, 배포, 유지보수의 효율성과 보안을 크게 강화할 수 있습니다. ServBay의 강력하고 간편한 로컬 환경 관리 기능과 결합하면, Bedrock 개발 환경을 빠르게 구축할 수 있습니다.
Bedrock이란 무엇인가요?
Bedrock은 Roots 팀이 만든 WordPress 프로젝트 구조로, WordPress 개발 경험을 한 차원 끌어올려 줍니다. 기존 워드프레스 구조와는 뚜렷한 차별점을 가지고 있으며, 주요 특징은 다음과 같습니다:
- Composer로 의존성 관리: 워드프레스 코어, 테마, 플러그인을 Composer로 설치/업데이트할 수 있어, 의존성 충돌과 갱신을 쉽게 관리합니다.
- 향상된 환경설정 관리: Twelve-Factor App 원칙을 적용, 환경변수를
.env
파일로 관리하여 코드와 설정을 분리하며, 더 안전하고 유연합니다. - 체계적인 프로젝트 구조: 워드프레스 코어는 별도 서브디렉터리(
web/wp
), 테마·플러그인은web/app
폴더에 관리되어 구조가 명확합니다. - 보안 강화: 코어 파일 경로 숨김 등 기본적인 보안 강화 기능을 내장합니다.
Bedrock은 견고하고, 유지보수가 쉽고, 최신 개발 방법에 부합하는 WordPress 애플리케이션 구축에 최적화된 솔루션입니다.
Bedrock 개발에 ServBay를 선택하는 이유
ServBay는 macOS 사용자를 위한 올인원 로컬 웹 개발 환경 도구로, 주요 웹서버(Caddy/Nginx/Apache), 여러 PHP 버전, 데이터베이스(MySQL/PostgreSQL/MongoDB), Node.js, Python, Go, Java 등 다양한 개발 환경을 통합 제공합니다. 다음과 같은 장점이 있습니다:
- 신속한 환경 구축: Bedrock에 필요한 PHP, Composer, 데이터베이스가 모두 설치되어 있어 별도 셋업이 필요 없습니다.
- 버전 전환 지원: PHP 버전을 쉽게 전환하여, 다양한 버전에서 Bedrock 호환성을 테스트할 수 있습니다.
- 통합 DB 관리: phpMyAdmin 혹은 Adminer와 같이 제공되는 도구로 Bedrock용 데이터베이스를 간편하게 생성/관리할 수 있습니다.
- 간편한 웹사이트 설정: 그래픽 UI에서 Bedrock 프로젝트의 웹사이트(가상호스트)를 쉽게 추가, 웹 루트 경로 지정까지 손쉽게 가능합니다.
- 일괄 관리: 개발에 필요한 각종 패키지와 사이트를 하나의 앱에서 관리할 수 있습니다.
사전 준비 사항
설치 전, 다음 사항을 미리 준비해 주세요:
- macOS에서 ServBay가 설치 및 실행 중이어야 합니다.
- 기본적인 커맨드라인 사용법을 알고 있어야 합니다.
- Composer 사용 방법을 어느 정도 알아야 합니다(본 가이드에 커맨드 예시를 제공합니다).
Bedrock 설치 단계
이 절차에서는 ServBay 환경에서 Bedrock을 설치 및 설정하는 과정을 단계별로 설명합니다.
1단계: 프로젝트 디렉터리 만들기
우선 ServBay의 기본 웹사이트 루트 디렉터리(/Applications/ServBay/www
)로 이동하여, 새로운 프로젝트 폴더를 생성합니다. servbay-bedrock-app
과 같이 프로젝트를 잘 나타내는 이름을 추천합니다.
bash
cd /Applications/ServBay/www
mkdir servbay-bedrock-app
cd servbay-bedrock-app
1
2
3
2
3
이 폴더가 Bedrock 프로젝트의 루트 디렉터리가 됩니다.
2단계: Composer로 Bedrock 프로젝트 생성
ServBay는 이미 Composer를 포함 하고 있으므로, 터미널에서 바로 composer
명령을 사용할 수 있습니다. 방금 만든 프로젝트 디렉터리(/Applications/ServBay/www/servbay-bedrock-app
)에서, 다음 Composer 명령어로 Bedrock을 설치하세요:
bash
composer create-project roots/bedrock .
1
이 명령은 최신 Bedrock 및 의존 패키지를 현재 디렉터리에 다운로드합니다. 네트워크 속도에 따라 약간 시간이 걸릴 수 있습니다.
3단계: 데이터베이스 및 사용자 생성
Bedrock/워드프레스는 사이트 데이터와 설정 저장을 위해 데이터베이스가 필요합니다. 여기서는 ServBay 내장 phpMyAdmin을 사용하여 데이터베이스와 사용자를 생성해 보겠습니다.
ServBay phpMyAdmin 접근하기
브라우저에서 ServBay의 기본 주소 https://servbay.host/ 로 접속 후, 환영 페이지에서
phpMyAdmin
링크 클릭해 데이터베이스 관리 도구로 이동합니다.데이터베이스 사용자 생성
프로젝트별로 독립적인 DB 사용자/데이터베이스를 만드는 것이 안전하고 관리상 편리합니다.
사용자 계정 페이지로 이동
phpMyAdmin 상단 메뉴에서 "사용자 계정"을 클릭합니다.
새 사용자 추가
"사용자 계정 추가" 버튼 클릭 후 아래 항목을 입력합니다:
- 사용자명: 예:
bedrock_user
- 호스트명:
localhost
선택(로컬 접속 제한) - 비밀번호: 안전한 비밀번호 입력(예제에서는
password123
을 사용하지만, 실제로는 강력한 암호 사용 필수) - 비밀번호 확인: 동일 강력 비밀번호 재입력
"데이터베이스를 사용자명과 동일하게 생성하고 모든 권한 부여" 항목을 선택하세요. 이렇게 하면
bedrock_user
라는 데이터베이스와bedrock_user
사용자(모든 권한 포함)가 자동 생성됩니다."모든 권한 부여" 체크박스도 반드시 활성화해야 합니다.
하단 "실행" 버튼 클릭 시 사용자 및 데이터베이스가 생성됩니다.
- 사용자명: 예:
4단계: Bedrock 설정
Bedrock은 환경 변수로 설정을 분리 관리합니다. 일반적으로 프로젝트 루트에 .env
파일을 사용합니다.
환경설정(.env) 파일 복사/생성
Bedrock 루트(
/Applications/ServBay/www/servbay-bedrock-app
)에 있는.env.example
파일을 복사해서.env
로 이름을 변경합니다.bashcp .env.example .env
1.env
는 실제 프로젝트에서 사용하는 설정 파일이며,.env.example
은 예시로만 사용됩니다(민감정보 없음)..env
파일 내용 편집하기선호하는 텍스트 에디터(VS Code, Sublime Text, Nano 등)로
.env
파일을 열고, 데이터베이스 연결 정보를 3단계에서 만든 DB와 사용자 정보에 맞춰 아래 부분을 수정합니다:dotenv# Database DB_NAME='bedrock_user' # 데이터베이스 이름, 사용자와 동일 DB_USER='bedrock_user' # 데이터베이스 사용자명 DB_PASSWORD='password123' # 데이터베이스 비밀번호 DB_HOST='localhost' # 데이터베이스 호스트, ServBay에서는 보통 localhost DB_PREFIX='wp_' # 테이블 접두사, 기본값 권장 # WordPress Environment WP_ENV='development' # 환경(ex: development, staging, production 등) # Site URLs WP_HOME='http://servbay-bedrock.local' # 사이트 URL WP_SITEURL='${WP_HOME}/wp' # 워드프레스 코어 위치 URL
1
2
3
4
5
6
7
8
9
10
11
12
13특히
DB_PASSWORD
값은 phpMyAdmin에서 설정한 실제 비밀번호로 반드시 바꿔야 합니다.WP_HOME
과WP_SITEURL
은 브라우저에서 사이트에 접속할 때 사용할 주소를 정의합니다.servbay-bedrock.local
처럼 흔히 사용하는 로컬 도메인명을 사용해도 좋고, 필요에 따라 변경 가능합니다.WP_SITEURL
은 워드프레스 코어가 위치한 서브디렉터리(web/wp
)로 지정해야 합니다.추가로
.env
파일을 이용해 상수 정의, 메일 발송 등 다른 Bedrock/WordPress 설정도 지정 가능합니다.
5단계: 웹 서버(ServBay 사이트) 설정
Bedrock 프로젝트가 ServBay 웹서버에서 정상 작동하려면, ServBay에서 새 웹사이트(가상호스트)를 등록해야 합니다.
새 웹사이트 추가
ServBay 앱 실행 후, 좌측 메뉴에서 "웹사이트"를 클릭하고, "+", "웹사이트 추가" 버튼 등으로 새 사이트 설정을 시작합니다. 아래 정보를 입력합니다:
- 이름: 예)
My Bedrock Site
(내부 식별용) - 도메인:
.env
의WP_HOME
에 지정한 도메인(ex:servbay-bedrock.local
) - 사이트 유형:
PHP
선택 - PHP 버전: Bedrock과 호환되는 PHP 버전(가급적 최신 안정 버전 권장)
- 웹 루트 디렉터리: 중요: Bedrock의 웹 루트는 프로젝트 루트가 아니라
web
폴더입니다. 즉/Applications/ServBay/www/servbay-bedrock-app/web
로 설정해야 합니다.
- 이름: 예)
설정 저장
모든 정보를 정확히 입력하고 저장을 누르면, ServBay가 자동으로 웹서버 설정을 갱신합니다. 필요 시 안내에 따라 서버를 재시작하세요.
6단계: 워드프레스 설치 완료
이제 Bedrock 프로젝트와 ServBay 웹사이트가 모두 제대로 설정되었습니다. 웹 UI를 통해 워드프레스 설치 마법사를 마칠 수 있습니다.
설치 페이지 접속
브라우저에서
.env
와 ServBay에 설정한WP_SITEURL
주소(ex:http://servbay-bedrock.local/wp
)를 입력합니다. 모두 정상적으로 구성됐다면, 워드프레스 설치 마법사가 보일 것입니다.데이터베이스 정보 입력
설치 마법사의 데이터베이스 설정 단계에서, 3단계에서 생성한 정보로 입력합니다:
- 데이터베이스명:
bedrock_user
- 사용자명:
bedrock_user
- 비밀번호:
password123
(실제로 설정한 비밀번호) - 데이터베이스 호스트:
localhost
- 테이블 접두사:
wp_
(특별한 사정 없으면 기본값 사용)
"제출"을 누르면 DB 연결을 시도합니다.
- 데이터베이스명:
사이트 정보 입력
DB 연결 성공 시, 사이트 정보 설정으로 이동합니다:
- 사이트 제목: 원하는 웹사이트 이름
- 사용자명: 워드프레스 관리자 이름
- 비밀번호: 관리자 비밀번호(강력한 암호 권장)
- 이메일: 관리자 이메일
- 검색 엔진 노출: 로컬 개발 중에는 "검색 엔진이 이 사이트를 인덱싱하지 않도록 함"에 체크하는 것을 추천합니다.
설치 마치기
"워드프레스 설치" 버튼을 누르면, 필요한 테이블이 DB에 생성되고 설치가 끝납니다. 성공 메시지와 함께 로그인 후 워드프레스 관리자 페이지로 바로 접속할 수 있습니다.
7단계: 테마 및 플러그인(Composer 방식) 설치
Bedrock은 테마/플러그인 설치도 Composer로 관리하도록 권장합니다(WordPress 관리자 UI로 업로드·설치도 가능하지만 Composer가 더 현대적인 방식입니다).
Composer 패키지 이름 확인
인기 테마/플러그인의 Composer 패키지 이름은 Packagist(packagist.org), WordPress Packagist(wpackagist.org)에서 검색할 수 있습니다. 패키지명은 보통
vendor/package-name
형태(예:wpackagist-theme/twentytwentyone
,wpackagist-plugin/wordpress-seo
)입니다.Composer로 설치
Bedrock 프로젝트 루트(
/Applications/ServBay/www/servbay-bedrock-app
)에서 아래와 같이 설치하면 됩니다.테마 설치:
bashcomposer require wpackagist-theme/your-theme-name
1플러그인 설치:
bashcomposer require wpackagist-plugin/your-plugin-name
1your-theme-name
/your-plugin-name
은 실제 설치할 패키지 이름으로 교체하세요. 테마는web/app/themes
, 플러그인은web/app/plugins
폴더에 설치됩니다.WordPress 관리자에서 활성화
워드프레스 관리자(예:
http://servbay-bedrock.local/wp/wp-admin/
)에 로그인하여:- 테마: [외모] → [테마]에서 설치한 테마를 찾아 활성화
- 플러그인: [플러그인] → [설치된 플러그인]에서 활성화
Bedrock은 Composer 이용을 권장하지만, 관리자 UI로 .zip 업로드도 지원합니다. 단, Composer 방식이 일관되고 현대적이며 충돌 관리를 쉽게 할 수 있습니다.
Bedrock으로 웹사이트 개발 시작하기
이제 ServBay 환경에서 Bedrock 설치 및 설정이 끝났습니다. 일반 워드프레스와 동일하게 웹사이트를 구축할 수 있지만, Bedrock이 제공하는 최신 개발 워크플로우의 이점도 동시에 누릴 수 있습니다.
- 페이지/글 작성: 워드프레스 관리자 로그인 후 [페이지], [글] 메뉴에서 콘텐츠 생성(일반 WP와 동일)
- 네비게이션(메뉴) 관리: [외모] → [메뉴]에서 사이트 네비게이션 구성
- 위젯 관리: [외모] → [위젯]에서 사이드바 등 영역 관리
- 테마/플러그인 개발: 개발자의 경우,
web/app/themes
,web/app/plugins
폴더에서 직접 개발 가능 - 환경별 설정:
.env
파일로 개발/스테이징/운영 등 다양한 환경에서 손쉽게 설정 관리
자주 묻는 질문 (FAQ)
- Q:
http://servbay-bedrock.local
접속 시 404 오류가 발생합니다.- A: ServBay에서 사이트 도메인 설정이 접속주소와 일치하는지 확인하세요.
- A: 사이트의 웹 루트 경로가
/Applications/ServBay/www/servbay-bedrock-app/web
에 정확히 지정되어 있는지 점검하세요. - A: ServBay 웹서버가 정상 실행 중인지 확인하세요.
- A:
.env
의WP_HOME
값이 올바른지 확인하세요.
- Q:
http://servbay-bedrock.local/wp
접속 시 데이터베이스 연결 오류가 납니다.- A:
.env
의DB_NAME
,DB_USER
,DB_PASSWORD
,DB_HOST
값이 phpMyAdmin에서 생성했던 데이터베이스/사용자 정보와 정확히 일치해야 합니다. - A: ServBay에서 MySQL(또는 해당 DB)이 구동 중인지 확인하세요.
- A: phpMyAdmin에서 만든 DB 사용자에게 해당 데이터베이스에 대한 모든 권한이 부여됐는지 점검하세요.
- A:
- Q: Composer로 설치한 테마/플러그인이 워드프레스 관리자에 보이지 않습니다.
- A: 반드시 프로젝트 루트(
/Applications/ServBay/www/servbay-bedrock-app
)에서composer install
혹은composer require
명령이 성공적으로 실행됐는지 확인하세요. - A: 테마는
web/app/themes
, 플러그인은web/app/plugins
에 제대로 생성됐는지 확인하세요. - A: [외모] → [테마], [플러그인] → [설치된 플러그인] 메뉴에서 해당 아이템을 찾아 활성화하세요.
- A: 반드시 프로젝트 루트(
- Q: Bedrock/워드프레스, 테마, 플러그인 등 패키지 업데이트는 어떻게 하나요?
- A: Bedrock은 Composer 기반이므로, 프로젝트 루트에서
composer update
로 전체 업데이트,composer update vendor/package-name
으로 특정 테마/플러그인만 업데이트할 수 있습니다. 이후 워드프레스 관리자에서 DB 갱신이 요구될 수 있습니다.
- A: Bedrock은 Composer 기반이므로, 프로젝트 루트에서
마무리
위 절차를 통해 ServBay 로컬 개발 환경에서 Bedrock 프로젝트를 무사히 구축할 수 있습니다. ServBay가 제공하는 간편한 환경 관리와 Bedrock의 현대적 워크플로우 조합은 워드프레스 프로젝트의 효율성과 보안을 크게 높여 줍니다. 이제 Bedrock의 혁신적인 기능을 활용해 다음 워드프레스 프로젝트를 본격적으로 시작해 보세요!