시작하기
요구 사항
- 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이 호스트를 제공합니다.