# Laravel Herd: helyi PHP-környezet WordPresshez

> A Laravel Herd egy natív helyi PHP-környezet macOS-re és Windowsra: WordPress- és Bedrock-oldalak .test domainen, PHP-verzióváltás, HTTPS, és mi tartozik a Pro változathoz.

A [Laravel Herd](https://herd.laravel.com) helyi PHP-fejlesztői környezet macOS-re és Windowsra. A PHP, az nginx és a Node.js a gépen fut, nem külön virtuális gépben vagy konténerben. Laravelre készült, de a hivatalos doksi szerint a WordPress-oldalakhoz is használható: támogatja a hagyományos WordPress-telepítést és a [Bedrockot](https://hub.hellowp.io/hu/knowledge-base/developer-tools/bedrock/) is.

Van ingyenes és Pro változata. A cikk jelzi, mi melyikben van.

## Telepítés

1. Töltsd le a Herdet a [herd.laravel.com/download](https://herd.laravel.com/download) oldalról.
2. Indítsd el. Az első indításkor a Herd letölti a legújabb PHP- és Node.js-verziót, és telepít egy háttérszolgáltatást, ami az nginxet és a dnsmasq-ot kezeli. Ehhez rendszergazdai jogosultság kell.

Követelmény macOS-en: macOS 14.6 vagy újabb, Apple Silicon. Windowson: Windows 10 vagy újabb.

A telepítés után a terminálból elérhető a `herd` parancs. Windowson ugyanígy a `php`, a `composer`, a `laravel` és a `node`.

## Oldalak: park és link

A Herd alapból a `~/Herd` könyvtárat „parkolja”. Minden PHP-alkalmazás, amit ide teszel, automatikusan elérhető a mappa nevéből képzett `.test` domainen. A `~/Herd/peldaoldal` mappa tehát a `peldaoldal.test` címen fut.

Más helyen lévő projektet linkelhetsz:

```bash title="Terminál"
cd ~/Projektek/peldaoldal
herd link
```

A `herd link` a mappa nevét használja domainnek. Saját név is megadható: `herd link masik-nev`. Grafikus felületen: **New Application** (macOS-en `⌘N`), majd **Link Existing App**. További parkolt könyvtárat az általános beállításokban vehetsz fel. A Herd doksija a `herd park` parancsot nem írja le, ezért itt nem szerepel.

Jó, ha a mappa neve megegyezik a kívánt domainnel, és nem `www.`-val kezdődik.

## WordPress telepítése

A WordPress adatbázist igényel (MySQL vagy MariaDB). A Herd doksija szerint ezt megkaphatod az ingyenes DBngin eszközzel vagy a Herd Pro szolgáltatásaival.

1. Hozz létre egy adatbázist.
2. Töltsd le a WordPressből a legújabb kiadást, és csomagold ki egy parkolt könyvtárba.
3. Nevezd át a mappát a kívánt domainre.
4. Nyisd meg a `mappanev.test` címet, és fuss végig a telepítőn.

A Herd doksija szerint a Herd használatakor az adatbázis felhasználóneve `root`, jelszó nincs. Ha az adatbázispéldányod nem az alapértelmezett porton fut, az adatbázis-host mezőben add meg a portot is.

Multisite-nál több domaint köthetsz egyetlen WordPress-telepítéshez. A webhely mappájából futtasd:

```bash title="Terminál"
herd link masodik-domain
```

### Bedrock

A doksi szerint a Herd a Bedrock eltérő mappaszerkezetét is támogatja. A webroot (`web/`) beállításáról a hivatalos doksi nem ír, ezért erre itt nem adunk útmutatót. Ha a projekted 404-et ad, a doksi szerint egyedi driver kellhet: [Custom Drivers](https://herd.laravel.com/docs/macos/extending-herd/custom-drivers).

## PHP-verzió váltása

A Herd több PHP-verziót tud kezelni. Telepíteni és frissíteni a beállítások **PHP** fülén lehet egy kattintással, vagy parancssorból:

```bash title="Terminál"
herd php:list          # elérhető és telepített verziók
herd php:install 8.3   # verzió telepítése
herd php:update 8.4    # legfrissebb javítókiadásra frissítés
herd use 8.2           # globális verzió váltása
```

Alapból minden oldal a globális verziót használja. Egy oldalnak saját verziót az oldal mappájából adhatsz:

```bash title="Terminál"
herd isolate 8.0
herd isolated      # az elkülönített oldalak listája
herd unisolate     # vissza a globális verzióra
```

Grafikus felületen ugyanez az **Applications** ablak oldalpanelének **Environment** részében van. A `herd php` és a `herd composer` parancs az adott mappához beállított PHP-verziót használja, így a `herd composer install` a projekt verziójával fut. Ez jól jön, ha egy régebbi bővítményt új PHP-n kell tesztelned, vagy fordítva.

## HTTPS

Az oldalak alapból HTTP-n futnak. HTTPS-t az **Applications** ablakban kapcsolhatsz: válaszd ki az oldalt, és a **HTTPS** kapcsolót állítsd be az **Environment** részben. Parancssorból:

```bash title="Terminál"
herd secure            # az oldal mappájából
herd secure peldaoldal # bárhonnan, név szerint
herd unsecure          # vissza HTTP-re
herd secured           # a tanúsítvánnyal rendelkező oldalak és lejáratuk
```

Ha visszakapcsolod a HTTP-t, indítsd újra a böngészőt, mert például a Chrome megjegyezheti az átirányítást. Ne feledd átírni az oldal címét a WordPressben (**Beállítások → Általános**, vagy Bedrockban a `WP_HOME` és `WP_SITEURL`), ha http-ről https-re váltasz.

## Adatbázis és levelek: ingyenes vagy Pro

| Funkció | Változat |
|---|---|
| PHP, nginx, `.test` domainek, park/link, PHP-váltás, HTTPS | alap Herd |
| MySQL- és MariaDB-példány a Herdből (egykattintásos) | Herd Pro |
| Helyi levélfogó (SMTP szerver, alapból a 2525-ös porton) | Herd Pro |
| `dump` segéd, az eredmény az Insights ablakban | Herd Pro |

A MySQL vagy MariaDB a Pro nélkül is használható: telepítheted a gyártó csomagjából, vagy használhatod az ingyenes DBngin eszközt.

### Levelek tesztelése

A Herd Pro helyi levélfogója a kimenő leveleket nem küldi el, hanem megmutatja a Herd levelezőkliensében. A Herd doksija WordPresshez ezt a kódot adja a téma `functions.php` fájljába:

```php title="functions.php"
function herd_mailer($phpmailer) {
    $phpmailer->isSMTP();
    $phpmailer->Host = '127.0.0.1';
    $phpmailer->SMTPAuth = true;
    $phpmailer->Port = 2525;
    $phpmailer->Username = 'WordPress';
    $phpmailer->Password = '';
}
add_action('phpmailer_init', 'herd_mailer');
```

Kipróbálni a jelszó-visszaállítással lehet. A fogott leveleket a `herd mail:*` parancsok is listázzák.

Bedrock- vagy Sage-projektben ezt a kódot ne a témába, hanem egy helyi, nem verziózott mu-pluginba tedd, hogy ne kerüljön éles környezetbe.

## Mire figyelj

- **Csak helyi fejlesztésre való.** A `.test` domainek csak a te gépeden működnek. Az oldal megosztásáról a [Sharing Sites](https://herd.laravel.com/docs/macos/sites/sharing-sites) oldal szól.
- **Nem egyezik az éles szerverrel.** A Herd a gépen fut, nem a tárhelyed környezetét másolja. A PHP-verziót és a kiterjesztéseket (**PHP Extensions**) az éles környezethez igazítsd.
- **Ha a környezetet a csapattal kell egyeztetni**, vagy MySQL helyett pontosan a tárhely adatbázis-motorja kell, nézd meg a [DDEV](https://hub.hellowp.io/hu/knowledge-base/developer-tools/ddev/) és a [LocalWP](https://hub.hellowp.io/hu/knowledge-base/developer-tools/localwp/) cikket is.

## Hasznos linkek

- [Laravel Herd dokumentáció](https://herd.laravel.com/docs)
- [WordPress útmutató (macOS)](https://herd.laravel.com/docs/macos/guides/wordpress)
- [Oldalak kezelése](https://herd.laravel.com/docs/macos/sites/managing-sites)
- [PHP-verziók kezelése](https://herd.laravel.com/docs/macos/technology/php-versions)
- [Oldalak védelme (HTTPS)](https://herd.laravel.com/docs/macos/sites/securing-sites)
- [Adatbázisok](https://herd.laravel.com/docs/macos/getting-started/databases)
- [Levélfogó (Mail, Herd Pro)](https://herd.laravel.com/docs/macos/herd-pro-services/mail)
- [Windows dokumentáció](https://herd.laravel.com/docs/windows/getting-started/installation)
