# A vezérlőpult átköltöztetése új doménre vagy aldoménre

> Mit vigyél át, hogyan védd meg a Child-webhelyek URL-jeit a keresés-csere során, mit ellenőrizz utána, és hogyan javítsd a megsérült URL-eket.

A MainWP vezérlőpultot új doménre vagy aldoménre is átviheted (például `dash.example.com` címről `mainwp.example.com` címre), ugyanazon a szerveren vagy másikon. Ha a teljes WordPress-telepítést átviszed, a MainWP beállításai, az ügyfelek, a Child-webhelyek rekordjai és a kiegészítők adatbázisban tárolt adatai megmaradnak, nem kell újrakezdened.

> **Fontos:** a domain keresés-cseréje előtt zárd ki a `wp_mainwp_wp` és a `wp_mainwp_wp_sync` táblát. A `wp_` helyére a saját tábla-előtagodat írd. Ha a csere a Child-webhelyek címére is illeszkedik, megváltoztatja azokat, és megszakad a kapcsolat. A két táblát a mentésbe és az átvitelbe **be kell** venni, csak a keresés-cseréből kell kihagyni.

## Előfeltételek

- Rendszergazdai hozzáférés a vezérlőpulthoz, és szükség esetén a Child-webhelyekhez.
- Hozzáférés a tárhely migrációs eszközeihez, a fájlokhoz és az adatbázishoz, vagy a tárhelyszolgáltatód segítsége.
- Friss, teljes mentés a vezérlőpult fájljairól és adatbázisáról.
- A Child-webhelyek helyes URL-jeinek listája az összehasonlításhoz.

Ha csak a szerver változik, a vezérlőpult címe viszont nem, olvasd el a [vezérlőpult átköltöztetése másik szerverre](https://hub.hellowp.io/hu/plugins/mainwp/halado-szerver-athelyezes/) fejezetet.

## Mi marad meg az átvitelkor

Az adatbázis tartalmazza a MainWP beállításait, az ügyfeleket, a Child-webhelyek rekordjait és beállításait, valamint a kiegészítők adatbázisban tárolt adatait. A fájlok tartalmazzák a WordPressből, a MainWP vezérlőpultból, a telepített kiegészítőkből (például Pro Reports), a feltöltésekből és a titkosítókulcs-fájlokból álló telepítést. Mindkettőt másold át. Csak adatbázist átvinni nem elég: a kiegészítők kódja és a kapcsolati kulcsok visszafejtéséhez szükséges kulcsfájlok hiányoznának.

Őrizd meg a MainWP feltöltési mappáját teljes egészében. Ez általában a `wp-content/uploads/mainwp/`, benne a `pk` mappával. Ha a feltöltések helye egyedi, az ott lévő megfelelő mappát vidd át. Az átvitel után ellenőrizd a kiegészítők licencaktiválását az új címen. Előfordulhat, hogy újra kell aktiválni őket, de az ügyfeleket, a webhelyrekordokat és a jelentésbeállításokat nem kell újra létrehozni.

## Honnan jön a kockázat

A MainWP a Child-webhelyek címeit a `wp_mainwp_wp` táblában tárolja. A keresés-csere csak akkor módosít egy Child-webhely URL-t, ha a keresett szöveg előfordul benne. Ha például az `example.com` szöveget az `example.net` szövegre cseréled az egész adatbázisban, a `https://client.example.com` cím `https://client.example.net` lesz. Ha a Child-webhely továbbra is az eredeti címen van, a vezérlőpult rossz címre próbál csatlakozni. Azok a Child-webhelyek, amelyek címe nem tartalmazza a keresett szöveget, nem változnak.

Egyes migrációs bővítmények és tárhelyek egykattintásos eszközei automatikusan cserélik az URL-eket. Indulás előtt nézd meg, melyik táblákat módosítják, és van-e külön kizárási lehetőségük kifejezetten a keresés-cserére. Az a beállítás, amely a táblát a migrációs mentésből zárja ki, nem helyettesíti ezt.

## Teendők a domain módosítása előtt

1. **Szinkronizáld a webhelyeket, és jegyezd fel az URL-jeiket.** Nyisd meg a **MainWP → Webhelyek → Webhelyek kezelése** oldalt, és a fejlécben kattints a **Szinkronizálás** gombra. Jegyezd fel a Child-webhelyek jelenlegi címeit, vagy exportáld a webhelylistát az összehasonlításhoz. A webhelylista nem helyettesíti a teljes mentést.
2. **Készíts és ellenőrizz teljes mentést.** Mentsd a vezérlőpult teljes adatbázisát, az összes WordPress-fájlt és a beállításokat. Legyen benne a MainWP és a kiegészítők táblája, a telepített kiegészítők fájljai, valamint a MainWP feltöltési mappája a titkosítókulcs-fájlokkal. Mielőtt továbblépsz, győződj meg róla, hogy a mentés lefutott, és tartalmazza ezeket. Ha használod a beépített mentéseket, vidd át a privát mentési mappát is (lásd a [másik szerverre költöztetést](https://hub.hellowp.io/hu/plugins/mainwp/halado-szerver-athelyezes/)).
3. **Erősítsd meg a keresés-csere kizárásait.** Állítsd be az eszközben, vagy kérd meg a tárhelyszolgáltatót, hogy a `wp_mainwp_wp` és a `wp_mainwp_wp_sync` tábla kimaradjon az URL-cseréből. Ellenőrizd, hogy ugyanez érvényes az import vagy a visszaállítás közbeni automatikus cserére is. Ha az eszköz ezt nem tudja, kérj a tárhelytől ellenőrzött, kézi módszert.
4. **Készítsd elő a célhelyet.** Állítsd be az új domaint vagy aldomaint a vezérlőpult telepítésére, és gondoskodj érvényes HTTPS-tanúsítványról. Szerverváltásnál ellenőrizd, hogy az új szerver megfelel a MainWP vezérlőpult követelményeinek.

## A telepítés átvitele

Szerverváltásnál vagy másik WordPress-mappába költözésnél vidd át a teljes adatbázist és a fájlokat. Őrizd meg a MainWP és a kiegészítők adatait és a titkosítókulcs-fájlokat. Ha kell, frissítsd az adatbázis-kapcsolat adatait a `wp-config.php` fájlban. Csak domaint érintő módosításnál a meglévő fájlok és adatbázis a helyén maradnak. Mindkét esetben az alábbi módszerek egyikével frissítsd a vezérlőpult saját WordPress-címeit, és védd meg a Child-webhelyek adatait.

Az eredeti mentést tartsd meg az ellenőrzés végéig. Az átvitel után az új vezérlőpult az aktív telepítés. A régi másolaton állítsd le az ütemezett feladatokat, hogy két példány ne kezelje ugyanazokat a Child-webhelyeket.

## Az URL-ek megsérülésének megelőzése

### 1. módszer: táblák kizárása WP-CLI-vel

Szerverváltásnál a parancsot a célszerveren visszaállított vezérlőpulton futtasd. Csak domainváltásnál a meglévő telepítésen. A példacímeket cseréld a vezérlőpult teljes régi és új címére, a séma (`https://`) és az esetleges mappa is számít. Mindkét táblanévben a `wp_` helyére a saját előtagodat írd. Először szárazon futtatva nézd meg, mit változtatna:

```bash
wp search-replace \
  'https://dash.example.com' \
  'https://mainwp.example.com' \
  --skip-tables=wp_mainwp_wp,wp_mainwp_wp_sync \
  --skip-columns=guid \
  --dry-run
```

Ha a kilistázott táblák és cserék megfelelnek a szándékodnak, futtasd ugyanezt `--dry-run` nélkül:

```bash
wp search-replace \
  'https://dash.example.com' \
  'https://mainwp.example.com' \
  --skip-tables=wp_mainwp_wp,wp_mainwp_wp_sync \
  --skip-columns=guid
```

A példa a WP-CLI alapértelmezett táblaválasztását használja. Ha további táblákat is érinteni kell, kérd ki a tárhelyszolgáltató véleményét, mielőtt bővíted a műveletet. A kizárások csak erre a parancsra vonatkoznak, a migrációs eszköz külön automatikus cseréjét is be kell állítani.

### 2. módszer: a tárhelyszolgáltatóval végeztetett kizárás

Add meg a tárhelynek a vezérlőpult régi és új címét, és kérd meg, hogy:

- a teljes adatbázist és a fájlokat vigye át, a MainWP titkosítókulcs-fájljaival együtt;
- a `wp_mainwp_wp` és a `wp_mainwp_wp_sync` táblát minden automatikus és kézi domain-cseréből hagyja ki (a saját előtaggal);
- a Child-webhelyek címeit hagyja változatlanul, és ellenőrizze őket az eredeti listával.

### 3. módszer: kézi domainváltás

1. Csak a vezérlőpult `wp_options` táblájának `siteurl` és `home` sorát írd át az új WordPress-címre (a saját előtaggal). Ha a `wp-config.php` fájlban már megadtál `WP_SITEURL` vagy `WP_HOME` értéket, azt is frissítsd.
2. Ha a vezérlőpult tartalmában még a régi cím szerepel, használj olyan eszközt, amely kezeli a szerializált adatokat, és csak a szükséges WordPress-magtáblákon cserélj. Előbb nézd meg, mit változtatna.
3. A MainWP táblákat hagyd érintetlenül. Kerüld az egész adatbázisra futtatott általános SQL-cserét.

## Az átköltöztetés után

1. **Ellenőrizd a hozzáférést és az adatokat.** Jelentkezz be az új címen. Nézd meg, hogy megvannak-e a beállítások, az ügyfelek, a Child-webhelyek rekordjai és a telepített kiegészítők. Ellenőrizd a kiegészítők mentett beállításait, például a Pro Reports sablonjait és ütemezéseit.
2. **Nézd meg a kiegészítők licenceit.** Nyisd meg a **MainWP → Kiegészítők → Kiegészítők kezelése** oldalt. Ha aktiválás kell, aktiváld újra a kiegészítőket.
3. **Szinkronizáld az összes Child-webhelyet.** A **MainWP → Webhelyek → Webhelyek kezelése** oldalon kattints a **Szinkronizálás** gombra. Hasonlítsd össze a Child-webhelyek címeit a mentett listával, és nézd meg a szinkron eredményét. A sikeres szinkron automatikusan frissíti a MainWP Child által tárolt vezérlőpult-címet.
4. **Próbáld ki a Child-webhelyek elérését.** Néhány Child-webhelyen használd a WP-admin megnyitását, és nézd meg, hogy a **Frissítések** nézet betölti-e az aktuális adatokat.

### Ha a webhelyek még mindig nem kapcsolódnak

Az újracsatlakozás előtt nézd meg a hibaüzenetet:

| Ellenőrzés | Teendő |
|---|---|
| Helytelen Child-webhely-URL | Hasonlítsd a mentett listához, és keresés-csere okozta eltérésnél használd az alábbi javítást |
| Hiányzó kulcsfájlok | Ellenőrizd, hogy az eredeti MainWP feltöltési mappa és a titkosítókulcs-fájlok hiánytalanul átkerültek |
| A Child-webhely nem elérhető | Nyisd meg közvetlenül a címét, és nézd meg, hogy a MainWP Child aktív-e |
| Szerverváltás után blokkolt kérések | Nézd meg, hogy a Child-webhely tűzfalának vagy biztonsági szolgáltatásának engedélyeznie kell-e az új vezérlőpult-szerver IP-címét |

Miután az alapvető okot javítottad, a **Webhelyek → Webhelyek kezelése** oldalon az érintett webhely műveleti menüjében használd az újracsatlakozást. Ha kéri, add meg a Child-webhely aktuális egyedi biztonsági azonosítóját. A MainWP Childban nincs szerkeszthető vezérlőpult-URL mező, és nem kell minden Child-webhelyen kézzel átírni ezt a címet.

## Megsérült Child-webhely-URL-ek javítása

Ezt a részt csak akkor használd, ha egy korábbi keresés-csere megváltoztatta a Child-webhelyek címeit. A vezérlőpulton a Child-webhely URL-mezőjében a gazdanév nem szerkeszthető, ezért a javításhoz adatbázis-hozzáférés kell.

Mielőtt belenyúlsz, készíts friss adatbázismentést, és tartsd meg az átköltöztetés előtti mentést és az eredeti webhelylistát. Minden lekérdezésben a `wp_` helyére írd a saját előtagodat. A lekérdezéseket csak a vezérlőpult adatbázisán futtasd.

### Az érintett webhelyek megkeresése

Nyisd meg a vezérlőpult adatbázisát phpMyAdminban, Adminerben vagy a tárhely adatbáziskezelőjében, és keresd meg a hibás domaint tartalmazó rekordokat:

```sql
SELECT id, name, url
FROM wp_mainwp_wp
WHERE url LIKE '%wrongdomain.com%';
```

A `wrongdomain.com` helyére a korábbi csere által bevitt hibás szöveget írd. Hasonlítsd össze az eredményeket az eredeti webhelylistával: az, hogy egy sor megfelel a lekérdezésnek, még nem bizonyítja, hogy a cím hibás.

### Kevés webhely kézi javítása

Kevés érintett webhelynél szerkeszd a `wp_mainwp_wp` táblában az azonosított sorokat: írd át az `url` mezőt a Child-webhely pontos eredeti címére, és mentsd. A webhelyazonosítók és a többi mező maradjon változatlan.

### Sok webhely javítása SQL-lel

Tömeges cserét csak akkor használj, ha minden kiválasztott URL ugyanazt a javítást igényli. A `12, 34` példaazonosítók helyére az ellenőrzött azonosítókat írd, a hibás és a helyes domainszöveget is cseréld. Először nézd meg a jelenlegi és a javasolt URL-t:

```sql
SELECT id, name, url AS current_url,
       REPLACE(
         url, 'wrongdomain.com', 'correctdomain.com'
       ) AS proposed_url
FROM wp_mainwp_wp
WHERE id IN (12, 34)
  AND url LIKE '%wrongdomain.com%';
```

Ellenőrizd minden javasolt URL-t az eredeti listával. Utána ugyanazokkal az azonosítókkal és szövegekkel futtasd a módosítást:

```sql
UPDATE wp_mainwp_wp
SET url = REPLACE(
  url, 'wrongdomain.com', 'correctdomain.com'
)
WHERE id IN (12, 34)
  AND url LIKE '%wrongdomain.com%';
```

Ha a webhelyek különböző javítást igényelnek, javítsd őket egyenként vagy külön ellenőrzött csoportokban. Ne fordítsd vissza a domaincserét az egész adatbázisban, mert a vezérlőpult szándékos címváltozását is visszavonhatná.

Olvasd vissza a javított rekordokat:

```sql
SELECT id, name, url
FROM wp_mainwp_wp
WHERE id IN (12, 34);
```

### A javítás után

Ismételd meg a fenti szinkron- és Child-webhely-elérési ellenőrzést. Ezek a lekérdezések csak a kapcsolati URL-mezőt javítják. Ha a korábbi csere más MainWP-adatot is módosított, kérd a tárhelyszolgáltató vagy a MainWP támogatásának segítségét a migráció előtti mentésből való helyreállításhoz.

## Ellenőrzőlista

- Az átvitel előtt ellenőrzött, teljes fájl- és adatbázismentés van.
- A MainWP táblák benne vannak az átvitelben, és ki vannak zárva a domain keresés-cseréjéből.
- A MainWP titkosítókulcs-fájljai megvannak.
- A vezérlőpult elérhető az új domainen vagy aldomainen.
- A beállítások, az ügyfelek, a Child-webhelyek rekordjai és a kiegészítők adatai megvannak.
- A kiegészítők licencei ellenőrizve.
- A Child-webhelyek címei változatlanok, vagy az eredeti lista alapján javítva.
- A szinkron és a Child-webhely-elérés ellenőrzése sikeres.
- A régi vezérlőpult-másolaton leálltak az ütemezett feladatok.
