
# Memulai

## Persyaratan

- PHP 8.2+
- WordPress 6.4+
- MySQL atau MariaDB melalui koneksi database WordPress biasa
- `wp-config.php` yang dapat ditulisi saat plugin diaktifkan

## Instalasi

Instal Rudel dengan Composer dan aktifkan seperti plugin WordPress biasa.

```bash
composer require rudel/rudel
wp plugin activate rudel
```

Composer menginstal Rudel ke `vendor/rudel/rudel` kecuali proyek Anda memetakan plugin WordPress ke `wp-content/plugins` (misalnya dengan `composer/installers`). Plugin harus berada di direktori plugin agar `wp plugin activate rudel` dapat menemukannya.

## Dampak aktivasi

Aktivasi membuat tabel milik Rudel, menjadwalkan peristiwa pembersihan per jam, dan menambahkan satu baris bootstrap ke `wp-config.php`, tepat di atas baris yang memuat `wp-settings.php`. Baris itu memungkinkan Rudel memilih sandbox sebelum WordPress selesai dimuat. Rudel terlebih dahulu menulis salinan cadangan bernama `wp-config.php.rudel-backup-{timestamp}`.

Tidak ada perintah instalasi terpisah. Jika `wp-config.php` tidak dapat ditulisi, aktivasi gagal. Penonaktifan menghapus baris dan peristiwa terjadwal.

Periksa status runtime:

```bash
wp rudel status
```

`Bootstrap installed` seharusnya menampilkan `yes`.

## Buat sandbox

```bash
wp rudel create --name=alpha --theme=twentytwentyfour
```

Rudel mencetak ID sandbox yang dibuat, misalnya `alpha-3be7`. Perintah ini mengklon tabel host WordPress ke prefix tabel khusus sandbox, menyalin tema ke direktori sandbox, dan menyimpan catatan di database host WordPress. Contoh berikut menggunakan `alpha-3be7`; gunakan ID yang dicetak oleh perintah Anda.

## Gunakan WP-CLI di dalam sandbox

```bash
RUDEL_ENVIRONMENT=alpha-3be7 wp option get blogname
```

Tanpa `RUDEL_ENVIRONMENT`, WP-CLI terhubung ke host.

## Rutekan HTTP ke sandbox

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

Untuk sesi browser, tetapkan cookie `rudel_environment` dengan ID sandbox. Rudel membaca cookie tersebut, tetapi tidak pernah menetapkan atau menghapusnya. Hapus cookie untuk kembali ke host.

Sandbox berjalan di host URL. Tanpa header atau cookie, URL yang sama menyajikan host.

## Langkah berikutnya

- [Membuat Lingkungan](https://rudel.inline0.dev/id/docs/environments/creating)
- [Mengelola Lingkungan](https://rudel.inline0.dev/id/docs/environments/managing)
- [Isolasi](https://rudel.inline0.dev/id/docs/environments/isolation)
- [CLI](https://rudel.inline0.dev/id/docs/cli)
