Új domain alá költözni nem mindig fájdalommentes feladat. Az ember könnyen szembekerülhet eltérő szerverbeálításokkal és más nyalánkságokkal amelyek elszaporítják ősz hajszálaink számát. Lássuk lépésenként, hogy mit is kell tennünk ha egy működő worpress alapú weboldalt új domainra mozgatjuk. A történet apropója, hogy az rrd.1108.cc domainról áttelepültem a webmania.cc domainre.
Először is be kell regisztrálnunk egy az új domaint és szerezni egy tárhelyet valahogy így. Persze elképzelhető az is, hogy maradunk a jelenlegi tárhelyen csak a domain változik meg.
Ha az új domain elérhetővé válik, akkor nekiláthatunk a munkának. A következő kihívásokkal kell megküzdenünk.
- Fileok átmásolása
- Adatbázis másolás
- Hivatkozás cserék
- Átirányítás
- Kiértesítés
Fileok átmásolása
Ez a legegyszerűbb ügylet. Fogjuk magunkat rácsatlakozunk a régi szerverre, és ftp-vel letöltünk mindent. Attól függően, hogy mennyire használjuk képek, hangok és videók feltöltésére az oldalunkat akár elég nagy lehet a szóban forgó adatmennyiség. Ezt a rakat adatot jól elmentjük magunknak, hogy ha esetleg valami galiba történik akkor legyen egy biztonsági másolatunk.
A letöltött állományokat én bemásoltam a mentések közé, illetve létrehoztam nekik egy másik munkakönyvtárat a hivatkozás cserékhez.
Adatbázis mozgatás
Ez már nem feltétlenül lesz olyan egyszerű mutatvány mint az előző. Szerencsés esetben hozzáférünk valamilyen MySQL adminisztrációs felülethez, mondjuk egy PHPMyAdminhoz, még szerencsésebb esetben a MySQL parancssorához és ezekkel készítünk egy dumpot. A dump egy SQL parancsokat tartalmazó file. PHPMyadminnál az export menü környékén kell keresgélnünk, paranccsor esetében pedig a
mysqldump adatbazisneve > adatbazis.sql -u felhasznalonev -p
parancs lesz a segítségünkre. Akár így, akár úgy a végén a kezünkben lesz egy sql kiterjesztésű file ami a jelenlegi adatbázisunkat tartalmazza. Mielőtt belebonyolódnánk a következő lépésekbe jó ha ezt is eltesszük a mentések közé.
Ezután felmegyünk az új domainhez tartozó sql adminisztrációs felületre és létrehozunk egy új adatbázist a wordpress számára. Jó eséllyel ennek más felhasználónevet és jelszót fogunk adni. Nyissuk meg a munkakönyvtárunkban lévő
/wp-config.php
filet és írjuk át benne a mysql csatlakozáshoz használandó felhasználónevet és jelszót.
Ha ezzel megvagyunk, akkor bele kell tenni a dumpból a lementett adatbázis adatokat az új adatbázisba. Ha PHPMyAdminnal dolgozunk akkor figyelembe kell venni, hogy többnyire 2MB-ban limitálják a feltölthető sql fileokat. Tehát ha nagyobb a dump fileunk, akkor szét kell kisebbre darabolnunk. Szerencsére az sql nem hisztis, csak arra kell figyelnünk, hogy lehetőleg egy parancsot lezáró
;
(pontosvessző) karakter után vagdaljunk ne valahol egy sor közepén. A másik dolog amire figyelni kell, hogy lehetőleg olyan sorrendben eresszük rá a darabolt filejainkat a PHPMyAdminra mint ahogy eredetileg a dump fileban voltak, vagyis az elejét előszőr, aztán a következő részt, és így tovább egészen a végéig.
Ha hozzáférünk a mysql parancssorához akkor némileg könnyebb dolgunk van, mivel nincs a 2MB-os korlát. Ebben az esetben az alábbi parancsokat kell kiadnunk.
mysql -u felhasznalonev -p use adatbazisnev; source adatbazis.sql
Ez szépen kiolvassa az előbb létrehozott
adatbazis.sql
fileból a benne lévő sql parancsokat és szépen végigfuttatja őket.Hivatkozás cserék
A látszat ellenére nem vagyunk készen, mert a wordpress és mi magunk is jópár helyen abszolút hivatkozásokat tettünk a kódba.
Hivatkozás cserék a fileokban
Át kell futnunk, hogy mi magunk kézzel használtunk-e valahol abszolút hivatkozásokat a használt filokban. Többnyire a themes könyvtárban használt fileok, saját fejlesztésű pluginek és egyéb wordpress rendszeren kívüli fileok jöhetnek szóba. Ha olyan webszerkesztő alkalmazást használunk ami kezel projekteket, akkor egyszerű a dolgunk, megnyitjuk a projektet és a projekten belül rákeresünk a regidomain.hu stringre és lecseréljük azenujdomainem.hu stringre.
Hivatkozás cserék az adatbázisban
A fileok melett az adatbázisunkban is lesz jópár hely ahol szerepel a régi domainünk neve. Vagy fogjuk az sql dumpfileunkat és egy egyszerű szövegszerkesztővel kicseréljük a regidomain.hu string összes előfordulását azenujdomainem.hu-ra mielőtt belepaszíroznánk az új adatbázisba, vagy munkába fogjuk az sql
replace
parancsát.
Amit biztosan meg kell tennünk azok a következők.
UPDATE wp_options SET option_value = replace(option_value, 'http://regidomain.hu', 'http://azenujdomainem.hu') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET guid = replace(guid, 'http://regidomain.hu','http://azenujdomainem.hu'); UPDATE wp_posts SET post_content = replace(post_content, 'http://regidomain.hu', 'http://azenujdomainem.hu');
Ezen felül a használt pluginektől függően még előfordulhat pár más helyen is, szóval ezeket még végig kell futnunk.
A fenti két módszer közül az első a kényelmetlen és biztos, a második a kényelmes és bizonytalan. Válasszon mindenki kedve szerint.
Ha most feltöltjük a munkakönyvtárból a módosított filejainkat tartalmazó csomagocskát az új szerverre, és bepötyögjük a http://azenujdomainem.hu címet akkor mindennek kifogástalanul működnie kell. Nem árt ellenőrizni, hogy a
/uploads
és más eredetileg írhatónak jelölt könyvtárak és fileok a felmásolás után is írhatóak-e.Átirányítás
Jelen pillanatban van két azonos tartalmú független wordpress blogunk. A régit akár törölhetnénk is, de elképzelhető, hogy ténykedésünkről nem értesült a világon mindenki. Valahogyan meg kel oldanunk, hogy az összes régi linkünk elérhető maradjon és átirányítódjon az új helyre. Ehhez a régi szerver gyökerében a
.htaccess
filet kell átalakítanunk. Bármi is legyen benne töröljük ki és tegyük bele a következő sorokat.<IfModule mod_rewrite.c> RewriteEngine On RewriteRule (.*) http://azenujdomainem.hu/$1 [R=301,L] </IfModule>
Emberi nyelvre lefodítva ezzel azt közöljük a böngészőkkel, keresőrobotokkal és minden egyéb user agenttel, hogy az oldalunk mindenestől és véglegesen átköltözött az azenujdomainem.hu domain alá.
Az R=301 hatására a webszerver kiküld egy 301-es Permanently Removed headert ami azért hasznos, mert ezzel a googlebot és más keresők tudtára adjuk, hogy vegyék ki a régi domain elérhetőséget az indexükből és cseréljék ki az újra. A RewriteRule első fele meg arról gondoskodik, hogy bármilyen címet is hívjanak meg az a megfelelő párjára legyen átirányítva. Ez azt jelenti, hogy ha valaki lekéri a http://regidomain.hu/valami/semmi url-t akkor át fog irányítódni a http://azenujdomainem.hu/valami/semmi oldalra.
Kiértesítés
Ha mindezzel megvagyunk akkor már csak annyi dolgunk maradt hátra, hogy a változásról kiértesítsük azokat akiket jó kiértesíteni, illetve átállítsuk azokat a külsős alkalmazásokat amelyek függnek az url-től. Egy wordpress blog esetében a feedburner és a google analytics jó eséllyel pályázik erre. Szerencsére mindkettőben két klikkel át lehet állítani a beregisztrál domain nevet a régiről az újra.
Ha nem megy minden simán
Persze ahogy azt a számítástechnika rejtelmes világában megszokhattuk ahány lépésből áll egy folyamat minimum annyi helyen követhetünk el hibát. Amivel a legkönnyebben szembesülhetünk az az, hogy valamelyik lépésnél átállítódnak a karakterkódolásaink és az oldalon nem jól jelennek meg. Az ilyen és ehhez hasonló esetekben nem lehet mást tenni, mint előkapni a polcról a porosodó google-t és keresni. Vagy esetleg meg lehet várni, hogy egyszer erről is írjak 

Nincsenek megjegyzések:
Megjegyzés küldése