コンテンツへスキップ

はじめに

必要条件

  • PHP 8.2以上
  • WordPress 6.4以上
  • 通常のWordPressデータベース接続経由のMySQLまたはMariaDB
  • プラグインの有効化時に書き込み可能なwp-config.php

インストール

ComposerでRudelをインストールし、通常のWordPressプラグインと同様に有効化します。

シェル
composer require rudel/rudel
wp plugin activate rudel

プロジェクトでWordPressプラグインをwp-content/pluginsにマッピングしている場合(例: composer/installers)を除き、ComposerはRudelをvendor/rudel/rudelにインストールします。wp plugin activate rudelが見つけられるよう、プラグインはプラグインディレクトリ内に置く必要があります。

有効化時の処理

有効化すると、Rudelのテーブルを作成し、毎時のクリーンアップイベントをスケジュールして、wp-settings.phpを読み込む行の直前に、wp-config.phpへブートストラップの行を1つ追加します。この行により、WordPressの読み込みが完了する前にRudelがサンドボックスを選択できます。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_environmentCookieを設定します。RudelはCookieを読み取りますが、設定も削除もしません。ホストに戻るにはCookieを削除してください。

サンドボックスはホストURL上で動作します。ヘッダーまたはCookieがない場合、同じURLがホストを提供します。

次のステップ