
# Початок роботи

## Вимоги

- PHP 8.2+
- WordPress 6.4+
- MySQL або MariaDB через звичайне підключення до бази даних WordPress
- доступний для запису `wp-config.php` під час активації плагіна

## Встановлення

Установіть Rudel за допомогою Composer та активуйте його як звичайний плагін WordPress.

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

Composer встановлює Rudel у `vendor/rudel/rudel`, якщо у вашому проєкті плагіни WordPress не розміщуються в `wp-content/plugins` (наприклад, за допомогою `composer/installers`). Щоб `wp plugin activate rudel` знайшов плагін, він має бути в каталозі плагінів.

## Що відбувається під час активації

Під час активації створюються таблиці Rudel, планується щогодинне завдання очищення та додається рядок завантаження до `wp-config.php` безпосередньо перед рядком, що завантажує `wp-settings.php`. Цей рядок дає змогу Rudel вибрати пісочницю до завершення завантаження WordPress. Спочатку Rudel створює резервну копію під назвою `wp-config.php.rudel-backup-{timestamp}`.

Окремої команди встановлення немає. Якщо `wp-config.php` недоступний для запису, активація завершується помилкою. Деактивація видаляє цей рядок і заплановане завдання.

Перевірте стан середовища виконання:

```bash
wp rudel status
```

`Bootstrap installed` має показувати `yes`.

## Створення пісочниці

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

Rudel виводить згенерований ID пісочниці, наприклад `alpha-3be7`. Команда клонує таблиці хосту WordPress у простір імен таблиць пісочниці, копіює тему до каталогу пісочниці та зберігає запис у базі даних хосту WordPress. У прикладах нижче використовується `alpha-3be7`; вкажіть ID, виведений вашою командою.

## Використання WP-CLI у пісочниці

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

Без `RUDEL_ENVIRONMENT` команда WP-CLI звертається до хосту.

## Маршрутизація HTTP у пісочницю

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

Для сеансу браузера задайте cookie `rudel_environment` зі значенням ID пісочниці. Rudel читає cookie, але не встановлює та не очищує його. Видаліть cookie, щоб повернутися до хосту.

Пісочниця працює на хостовому URL. Без заголовка чи cookie той самий URL обслуговує хост.

## Наступні кроки

- [Створення середовищ](https://rudel.inline0.dev/uk/docs/environments/creating)
- [Керування середовищами](https://rudel.inline0.dev/uk/docs/environments/managing)
- [Ізоляція](https://rudel.inline0.dev/uk/docs/environments/isolation)
- [CLI](https://rudel.inline0.dev/uk/docs/cli)
