
# Pierwsze kroki

## Wymagania

- PHP 8.2+
- WordPress 6.4+
- MySQL lub MariaDB przez standardowe połączenie z bazą danych WordPress
- zapisywalny `wp-config.php` podczas aktywacji wtyczki

## Instalacja

Zainstaluj Rudel za pomocą Composer i aktywuj go jak zwykłą wtyczkę WordPress.

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

Composer instaluje Rudel w `vendor/rudel/rudel`, chyba że projekt mapuje wtyczki WordPress do `wp-content/plugins` (na przykład za pomocą `composer/installers`). Wtyczka musi znajdować się w katalogu wtyczek, aby `wp plugin activate rudel` mogło ją znaleźć.

## Co robi aktywacja

Aktywacja tworzy tabele Rudel, planuje cogodzinne zdarzenie czyszczące i dodaje jedną linię inicjującą do `wp-config.php`, bezpośrednio nad linią wczytującą `wp-settings.php`. Ta linia pozwala Rudel wybrać środowisko testowe, zanim zakończy się wczytywanie WordPress. Najpierw Rudel zapisuje kopię zapasową o nazwie `wp-config.php.rudel-backup-{timestamp}`.

Nie ma osobnej komendy instalacyjnej. Jeśli `wp-config.php` nie pozwala na zapis, aktywacja kończy się niepowodzeniem. Dezaktywacja usuwa tę linię i zaplanowane zdarzenie.

Sprawdź stan środowiska:

```bash
wp rudel status
```

`Bootstrap installed` powinno wskazywać `yes`.

## Tworzenie środowiska testowego

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

Rudel wyświetla wygenerowany identyfikator środowiska testowego, na przykład `alpha-3be7`. Klonuje tabele hosta WordPress do prefiksu tabel właściwego dla środowiska testowego, kopiuje motyw do jego katalogu i zapisuje rekord w bazie danych hosta WordPress. W poniższych przykładach użyto `alpha-3be7`; użyj identyfikatora wyświetlonego przez swoją komendę.

## Używanie WP-CLI w środowisku testowym

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

Bez `RUDEL_ENVIRONMENT` WP-CLI komunikuje się z hostem.

## Kierowanie HTTP do środowiska testowego

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

W sesji przeglądarki ustaw plik cookie `rudel_environment` z identyfikatorem środowiska testowego. Rudel odczytuje plik cookie, ale nigdy go nie ustawia ani nie usuwa. Usuń plik cookie, aby wrócić do hosta.

Środowisko testowe działa na hoście URL. Bez nagłówka lub pliku cookie ta sama URL obsługuje hosta.

## Następne kroki

- [Tworzenie środowisk](https://rudel.inline0.dev/pl/docs/environments/creating)
- [Zarządzanie środowiskami](https://rudel.inline0.dev/pl/docs/environments/managing)
- [Izolacja](https://rudel.inline0.dev/pl/docs/environments/isolation)
- [CLI](https://rudel.inline0.dev/pl/docs/cli)
