Site Verplaatsen Intern

Uit Byte Docs

We krijgen wel eens de vraag of we een virtualhost willen omschrijven en op deze manier bijvoorbeeld een hoofddomein en presence pakket om kunnen wisselen of hoe je de domeinnaam van een pakket kan wijzigen. Helaas is (gezien onze omgeving) een wissel als deze een stuk ingrijpender dan het simpelweg omzetten van een virtualhost. Gelukkig heeft iedereen (behalve personal hosting) beschikking over SSH, waarmee een dergelijke verhuizing een stuk minder ingrijpend is dan het lijkt.

Bij een verhuizing als deze gaat sowieso enige downtime gepaard omdat het type pakket gewisseld moet worden, het meest voorkomende scenario is de wissel tussen een presence en een pakket met hosting en deze nemen we ook als voorbeeld.

Om de verhuizing te laten plaatsvinden moeten een aantal dingen gebeuren;

  • Bestanden van het ene pakket naar de ander
  • Database van het ene pakket naar de ander
  • Bestanden/database opnieuw configureren
  • Presence op oude hoofddomein

Voorbereiding

Allereerst moeten we het pakket waar we naartoe gaan verhuizen voorbereiden, dat betekent dat er een hostingpakket klaar moet staan waar de bestanden en de database naartoe verplaatst kunnen worden, zorg dat je de nieuwe domeinnaam als volgt ingericht hebt:

  • Minstens een BH250 pakket met
  • SSH toegang geactiveerd
  • Een lege database met een database user met lees/schrijfrechten

Noteer voor dit pakket de volgende gegevens:

  • SSH hostname: ssh543210.bytenet.nl
  • SSH Username: nieuwedomein.nl
  • MySQL Externe hostname: dbext543210.bytenet.nl
  • Database naam: db543210_nieuwedb
  • Database user: u543210_dbuser
  • Database user password: abc12abc

Voor het oude pakket is het ook handig om de volgende gegevens bij de hand te hebben:

  • Hostname: ssh012345.bytenet.nl
  • Username: oudedomein.nl
  • MySQL Externe hostname: dbext012345.bytenet.nl
  • Database naam: db012345_oudedb
  • Database user: u012345_dbuser
  • Database user password: cba21cba

De bovenstaande waarden worden verder in deze handleiding gebruikt bij de voorbeelden.

De verhuizing

Log om te beginnen in op de SSH server van de oude domein, daar staan nu alle te verplaatsen bestanden, log in met een SSH cliënt als Putty (Windows) of via de terminal met het volgende commando:

ssh oudedomein.nl@ssh012345.bytenet.nl

Vervolgens wordt om je wachtwoord gevraagd, gebruik hiervoor het technisch beheerder wachtwoord.

Gebruik het volgende commando (in 1 regel) om de database naar het nieuwe pakket te verplaatsen:

mysqldump --opt -Q -h dbext012345.bytenet.nl -u u012345_dbuser -pcba21cba db012345_oudedb |
 mysql -h dbext543210.bytenet.nl -u u543210_dbuser -D db543210_nieuwedb -pabc12abc

Met andere woorden;

mysqldump --opt -Q -h [oudehostname] -u [oudedbuser] -p[passwordoudeuser] [oudedatabasenaam] |
 mysql -h [nieuwehostname] -u [nieuwedbuser] -D [nieuwedatabasenaam] -p[passwordnieuweuser]

Let op, de eerste regel bevat alleen informatie van het oude domein en de tweede regel bevat alleen informatie van de nieuwe domein maar beide regels moeten als èèn commando uitgevoerd worden.

Je hebt nu de gegevens van de oude database naar de nieuwe database gekopiëerd, vervolgens gaan we de bestanden verplaatsen met het volgende commando:

rsync -av ~/ nieuwedomein.nl@ssh543210.bytenet.nl:~/

Het enige probleem is dat hij de /logs en /weblogs mappen ook kopieert en deze eigenlijk stuk maakt, om dit te repareren moeten deze mappen op de nieuwe domein verwijderd worden. Dat kan via ftp of via SSH met het volgende commando:

ssh nieuwedomein.nl@ssh543210.bytenet.nl #als je nog niet verbonden bent met de nieuwe domein
rm -r ~/weblogs
rm -r ~/logs

Deze mappen worden de zelfde dag weer automatisch aangemaakt.

Nadat je deze commando's uitgevoerd hebt kan je verbonden blijven want bij configuratie gaan we verder via de SSH van de nieuwe domein.

Configuratie

De database en bestanden zijn al verplaatst, nu moet de nieuwe domeinnaam geconfigureerd worden. Als het goed is heb je nu een map in het nieuwe pakket met de naam oudedomeinnaam.nl, deze kan je waarschijnlijk niet hernoemen naar nieuwedomeinnaam.nl omdat de map al bestaat (wordt standaard aangemaakt), je kan via FTP de map nieuwedomeinnaam.nl hernoemen naar iets naar keuze (of verwijderen) en de map oudedomeinnaam.nl hernoemen naar nieuwedomeinnaam.nl, of het volgende SSH commando (na aanmelden met SSH gebruiker van de nieuwe domein) gebruiken:

mv nieuwedomeinnaam.nl nieuwedomeinnaam_oud #hernoem map nieuwedomeinnaam.nl naar iets anders
mv oudedomeinnaam.nl nieuwedomeinnaam.nl #hernoem map oudedomeinnaam.nl naar nieuwedomeinnaam.nl

Mocht je nog subdomeinen missen (als dit het geval is staan bij de nieuwe domeinnaam mappen als sub.oudedomeinnaam.nl in de hoofdmap) dan zul je deze eerst via het Service Panel aan moeten maken voor de nieuwe domein, wachten tot de map sub.nieuwedomein.nl aangemaakt is en het volgende commando gebruiken (per subdomein):

mv sub.nieuwedomeinnaam.nl sub.nieuwedomeinnaam_oud
mv sub.oudedomeinnaam.nl sub.nieuwedomeinnaam.nl

Let op! Als je deze subdomein niet eerst in het Service Panel aangemaakt hebt zal het niet werken!

De exacte configuratie verschilt per CMS maar de volgende zaken zullen sowieso aangepast moeten worden;

  • Configuratie file van het CMS met database inloggegevens (database hostname, username en database naam)
  • Base URL (meestal in de database)

Nadat je deze bestanden/database entry's aangepast hebt hoef je alleen nog maar de cache te legen en is de nieuwe domeinnaam klaar voor gebruik, je kan de oude domeinnaam als presence inrichten/opzeggen.

De huidige waardering is: 60/100 (1 stemmen)
 You need to enable JavaScript to vote
  • Deze pagina is het laatst bewerkt op 9 mrt 2012 om 11:40.
  • Deze pagina is 385 keer bekeken.

We proberen de kwaliteit van onze kennisbank voortdurend te verbeteren.
Geef de informatie op deze pagina een waardering met de slider hierboven.