
# Aloitus

## Vaatimukset

- PHP 8.2+
- WordPress 6.4+
- MySQL tai MariaDB tavallisen WordPress-tietokantayhteyden kautta
- kirjoitettava `wp-config.php`, kun lisäosa aktivoidaan

## Asennus

Asenna Rudel kohteella Composer ja aktivoi se tavallisen WordPress-lisäosan tapaan.

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

Composer asentaa kohteen Rudel kohteeseen `vendor/rudel/rudel`, ellei projektisi sijoita kohteen WordPress lisäosia kohteeseen `wp-content/plugins` (esimerkiksi kohteen `composer/installers` avulla). Lisäosan on oltava lisäosahakemistossa, jotta `wp plugin activate rudel` löytää sen.

## Mitä aktivointi tekee

Aktivointi luo kohteen Rudel taulut, ajastaa tunnin välein tapahtuvan siivouksen ja lisää yhden käynnistysrivin kohteeseen `wp-config.php` suoraan kohteen `wp-settings.php` lataavan rivin yläpuolelle. Rivi antaa kohteelle Rudel mahdollisuuden valita hiekkalaatikon ennen kuin WordPress on latautunut. Rudel kirjoittaa ensin varmuuskopion nimellä `wp-config.php.rudel-backup-{timestamp}`.

Erillistä asennuskomentoa ei ole. Jos kohteeseen `wp-config.php` ei voi kirjoittaa, aktivointi epäonnistuu. Käytöstä poistaminen poistaa rivin ja ajastetun tapahtuman.

Tarkista ajonaikainen tila:

```bash
wp rudel status
```

`Bootstrap installed`-arvon pitäisi olla `yes`.

## Hiekkalaatikon luominen

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

Rudel tulostaa luodun hiekkalaatikon tunnuksen, esimerkiksi `alpha-3be7`. Se kloonaa isännän WordPress-taulut hiekkalaatikkokohtaisella taulun etuliitteellä, kopioi teeman hiekkalaatikon hakemistoon ja tallentaa tietueen isännän WordPress-tietokantaan. Alla olevissa esimerkeissä käytetään tunnusta `alpha-3be7`; käytä komentosi tulostamaa tunnusta.

## Käytä WP-CLI hiekkalaatikon sisällä

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

Ilman `RUDEL_ENVIRONMENT`-otsaketta WP-CLI ottaa yhteyden isäntään.

## Ohjaa HTTP hiekkalaatikkoon

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

Selainistuntoa varten aseta `rudel_environment`-evästeeseen hiekkalaatikon tunnus. Rudel lukee evästeen mutta ei koskaan aseta tai tyhjennä sitä. Palaa isäntään poistamalla eväste.

Hiekkalaatikko toimii isännän URL-palvelimella. Ilman otsaketta tai evästettä sama URL palvelee isäntää.

## Seuraavat vaiheet

- [Ympäristöjen luominen](https://rudel.inline0.dev/fi/docs/environments/creating)
- [Ympäristöjen hallinta](https://rudel.inline0.dev/fi/docs/environments/managing)
- [Eristäminen](https://rudel.inline0.dev/fi/docs/environments/isolation)
- [CLI](https://rudel.inline0.dev/fi/docs/cli)
