
# Primeros pasos

## Requisitos

- PHP 8.2+
- WordPress 6.4+
- MySQL o MariaDB mediante la conexión normal a la base de datos de WordPress
- un `wp-config.php` con permisos de escritura al activar el plugin

## Instalación

Instale Rudel con Composer y actívelo como un plugin normal de WordPress.

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

Composer instala Rudel en `vendor/rudel/rudel`, salvo que su proyecto asigne los plugins de WordPress a `wp-content/plugins` (por ejemplo, con `composer/installers`). El plugin debe estar en el directorio de plugins para que `wp plugin activate rudel` lo encuentre.

## Qué hace la activación

La activación crea las tablas de Rudel, programa el evento de limpieza cada hora y añade una línea de inicialización a `wp-config.php`, justo antes de la línea que carga `wp-settings.php`. Esa línea permite que Rudel seleccione un entorno aislado antes de que termine de cargarse WordPress. Primero, Rudel escribe una copia de seguridad llamada `wp-config.php.rudel-backup-{timestamp}`.

No hay un comando de instalación independiente. Si `wp-config.php` no permite escritura, la activación falla. La desactivación elimina la línea y el evento programado.

Compruebe el estado del entorno de ejecución:

```bash
wp rudel status
```

`Bootstrap installed` debería indicar `yes`.

## Crear un entorno aislado

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

Rudel muestra el ID generado del entorno aislado, por ejemplo, `alpha-3be7`. Clona las tablas de WordPress del sitio anfitrión con un prefijo de tablas propio, copia el tema al directorio del entorno aislado y guarda el registro en la base de datos de WordPress del sitio anfitrión. En los ejemplos siguientes se usa `alpha-3be7`; utilice el ID que mostró su comando.

## Usar WP-CLI dentro de un entorno aislado

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

Sin `RUDEL_ENVIRONMENT`, WP-CLI se comunica con el sitio anfitrión.

## Dirigir HTTP a un entorno aislado

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

En una sesión del navegador, establezca una cookie de `rudel_environment` con el ID del entorno aislado. Rudel lee la cookie, pero nunca la establece ni la borra. Elimine la cookie para volver al sitio anfitrión.

El entorno aislado se ejecuta en el URL del sitio anfitrión. Sin el encabezado o la cookie, el mismo URL sirve el sitio anfitrión.

## Pasos siguientes

- [Crear entornos](https://rudel.inline0.dev/es/docs/environments/creating)
- [Gestionar entornos](https://rudel.inline0.dev/es/docs/environments/managing)
- [Aislamiento](https://rudel.inline0.dev/es/docs/environments/isolation)
- [CLI](https://rudel.inline0.dev/es/docs/cli)
