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-app1
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 .env1.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' # 워드프레스 코어 위치 URL1
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-name1플러그인 설치:
bashcomposer require wpackagist-plugin/your-plugin-name1your-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의 혁신적인 기능을 활용해 다음 워드프레스 프로젝트를 본격적으로 시작해 보세요!
