
# Начало работы

## Требования

- 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 выводит созданный идентификатор песочницы, например `alpha-3be7`. Команда клонирует таблицы хоста WordPress в таблицы с отдельным префиксом песочницы, копирует тему в каталог песочницы и сохраняет запись в базе данных хоста WordPress. В примерах ниже используется `alpha-3be7`; укажите идентификатор, выведенный вашей командой.

## Использование 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` с идентификатором песочницы. Rudel считывает файл cookie, но никогда не устанавливает и не удаляет его. Удалите файл cookie, чтобы вернуться к хосту.

Песочница работает на хосте URL. Без заголовка или файла cookie тот же URL обслуживает хост.

## Следующие шаги

- [Создание сред](https://rudel.inline0.dev/ru/docs/environments/creating)
- [Управление средами](https://rudel.inline0.dev/ru/docs/environments/managing)
- [Изоляция](https://rudel.inline0.dev/ru/docs/environments/isolation)
- [CLI](https://rudel.inline0.dev/ru/docs/cli)
