본문으로 건너뛰기

시작하기

요구 사항

  • PHP 8.2+
  • WordPress 6.4+
  • 일반 WordPress 데이터베이스 연결을 통한 MySQL 또는 MariaDB
  • 플러그인 활성화 시 쓰기 가능한 wp-config.php

설치

Composer을 사용해 Rudel을 설치하고 일반 WordPress 플러그인처럼 활성화하세요.

셸
composer require rudel/rudel
wp plugin activate rudel

Composer은 프로젝트에서 WordPress 플러그인을 wp-content/plugins에 매핑하지 않는 한 vendor/rudel/rudel에 Rudel을 설치합니다(예: composer/installers). wp plugin activate rudel이 플러그인을 찾으려면 플러그인 디렉터리에 있어야 합니다.

활성화 시 수행되는 작업

활성화하면 Rudel의 테이블이 생성되고, 매시간 실행되는 정리 이벤트가 예약되며, wp-settings.php을 불러오는 줄 바로 위에 wp-config.php에 부트스트랩 줄이 추가됩니다. 이 줄을 통해 Rudel은 WordPress 로딩이 끝나기 전에 샌드박스를 선택할 수 있습니다. 먼저 Rudel가 wp-config.php.rudel-backup-{timestamp}이라는 이름으로 백업 사본을 작성합니다.

별도의 설치 명령은 없습니다. wp-config.php에 쓸 수 없으면 활성화에 실패합니다. 비활성화하면 해당 줄과 예약된 이벤트가 제거됩니다.

런타임 상태를 확인하세요:

셸
wp rudel status

Bootstrap installed에 yes이라고 표시되어야 합니다.

샌드박스 만들기

셸
wp rudel create --name=alpha --theme=twentytwentyfour

Rudel은 생성된 샌드박스 ID를 출력합니다(예: alpha-3be7). 호스트의 WordPress 테이블을 샌드박스 전용 테이블 접두사 아래에 복제하고, 테마를 샌드박스 디렉터리에 복사한 다음 호스트 WordPress 데이터베이스에 레코드를 저장합니다. 아래 예에서는 alpha-3be7를 사용합니다. 명령이 출력한 ID를 사용하세요.

샌드박스 안에서 WP-CLI 사용하기

셸
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname

RUDEL_ENVIRONMENT이 없으면 WP-CLI은 호스트에 연결됩니다.

HTTP을 샌드박스로 라우팅하기

셸
curl -H 'X-Rudel-Environment: alpha-3be7' http://localhost:8000/

브라우저 세션에서는 샌드박스 ID가 담긴 rudel_environment 쿠키를 설정하세요. Rudel은 쿠키를 읽기만 하고 설정하거나 지우지는 않습니다. 호스트로 돌아가려면 쿠키를 삭제하세요.

샌드박스는 호스트 URL에서 실행됩니다. 헤더나 쿠키가 없으면 동일한 URL이 호스트를 제공합니다.

다음 단계