Flytta från ett webbhotell till ett annat

webbhotell-flyttAtt flytta en hemsida från ett webbhotell till ett annat kan vara väldigt enkelt men också mycket svårt. Inte svårt i den bemärkelse att lösa de tekniska aspekterna utan svårt att undvika att dina besökare och användare märker någonting av flytten.

Problemet uppstår när din webbplats har mycket dynamiskt innehåll som förändras hela tiden. En statisk webbsida eller en blogg som någon kommenterar i två gånger om året är knappast ett problem att flytta. Men ett diskussionsforum med många aktiva användare är ett bra exempel på en dynamisk webbplats som är svår att flytta utan att någon märker någonting.

Jag ska med denna artikel försöka förklara hur du på ett bra sätt kan flytta din hemsida från ett vanligt webbhotell till ett annat med så lite nertid som möjligt. Det är möjligt att det finns andra metoder men tipsen jag tar upp borde vara en bra utgångspunkt. Om du använder en dedikerad server eller VPS så finns det andra metoder, som att synkronisera två MySQL-servrar, men det är ingenting jag kommer gå in på här.

Jag har delat upp allting i 8 steg för enkelhetens skull. Det behöver inte ta speciellt lång tid att genomföra dem och ungefär hälften av dem går att göra utan att din gamla hemsida tillfälligt blir stängd. Det finns dock ingen anledning att stänga sidan om din webbplats inte konstant är under förändring. Läs också igenom alla punkter innan du påbörjar flytten. Det gör att processen blir snabbare.

1. Förbered det nya webbhotellet

När du fått tillgång till ditt nya webbhotell lägger du till domännamnet och aktiverar de tjänster och funktioner du är i behov av för din webbplats. Du vill få webbhotellet att fungera precis som ditt befintliga och då gäller det att du konfigurerar:

  1. E-postkonton. Så fort domännamnet pekas om kommer även e-posten att vidarbefodras till ditt nya webbhotell. Lägg därför till alla e-postkonton som finns på ditt befintliga webbhotell så blir övergången smärtfri för e-posten.
  2. Databaser. Sätt upp nödvändiga databaser och användare för dessa.
  3. Övriga inställningar. Allt från cron jobs till Apache-inställningar som du är i behov av.

2. Flytta filer till det nya webbhotellet

Alla statiska filer (filer som inte ändras/skapas/tas bort) kan du redan nu flytta över till ditt nya webbhotell. I detta moment ingår även att uppdatera config-filer så de innehåller rätt information med databasuppgifter och övriga inställningar.

Om du har en tjänst där du tillåter uppladdning av filer så skulle alla dessa filer räknas som dynamiska. Men det kan vara klokt att redan nu flytta över alla befintliga filer och sedan i efterhand komplettera med de filer som tillkommit. Detta är extra viktigt om du har många dynamiska filer och du vill undvika ett längre avbrott för din hemsida/webbtjänst.

Risken är givetvis att du flyttar en fil till ditt nya webbhotell som under tiden tas bort från webbplatsen (ditt befintliga webbhotell). Filen kommer då vara överflödig och ligga och skräpa på ditt nya webbhotell. Om du tror många filer kommer ligga och skräpa kanske det bästa är att i efterhand göra ett system som går igenom och tar bort de filer som inte längre används.

Du kan givetvis också välja att flytta allting efter att du tillfälligt stängt sidan för underhåll. Då löser sig problemet själv.

3. Testa det nya webbhotellet och dess konfiguration

Genom att ändra i din hosts-fil i Windows (eller motsvarande i andra operativsystem) så kan du tvinga din dator att ansluta mot ditt nya webbhotell när du använder ditt domännamn. På så sätt kan du testa att allting fungerar som det ska innan du pekar om domännamnet för besökarna.

Filen hittar du i C:\Windows\System32\drivers\etc och heter bara hosts. Om du öppnar filen i antecknar kan du lägga till vilket IP du ska ansluta till när datorn försöker ansluta till domännamnet. Du skulle exempelvis kunna lägga till:

127.0.0.1	webbhotelllista.se	#Temporär ompekning
127.0.0.1	www.webbhotelllista.se	#Temporär ompekning

IP-numret är alltså det IP-nummer du vill ansluta till när domänen anges, vilket i detta fallet är IP-numret för ditt nya webbhotell. Fråga webbhotellet om du inte själv kan ta reda på det.

Det kan krävas en omstart av datorn eller i alla fall de program du använder som försöker anropa domännamnet innan ändringarna träder i kraft. För att vara helt säker kan det vara bäst att ladda upp en txt-fil till ditt nya webbhotell och försöka komma åt den i webbläsaren.

Om du genom en webbläsare nu försöker nå ditt domännamn kommer din hemsida att laddas från ditt nya webbhotell. Du kan nu säkerställa att allting fungerar som det ska och eventuellt även ladda över en SQL-dump för att testa. Du har gott om tid på dig att försäkra dig om att allting fungerar så ta den tid du behöver innan du fortsätter.

Kom nu ihåg att särskilja på ditt nya och gamla webbhotell. Om du pekat om domänerna i din hosts-fil och försöker ansluta till dem med ett FTP-program som är det inte omöjligt att du ansluter till ditt nya webbhotellet. Se till att du kan ansluta till både ditt nya och gamla webbhotell utan problem och att du lätt kan särskilja dem från varandra.

4. Ändra TTL för DNS-inställningarna och bestäm klockslag för flytt

Om din webbplats inte har något direkt dynamiskt innehåll så kan du egentligen hoppa över två steg och fortsätta från punkt 6.

Det är nu dags att bestämma när det är som smidigast att genomföra flytten. Det är inte säkert att du kan genomföra den när det är som minst besökare på din hemsida, men du kan förmodligen undvika att göra det när det är som flest besökare.

När en dator som är ansluten till Internet försöker ansluta till ett domännamn (genom webbläsare eller annat program) så skickas en förfrågan till Internetleverantörens DNS-server. Om denna server inte sedan tidigare känner till domännamnet så kommer denna server i sin tur skicka vidare förfrågan till din DNS-server för domännamnet (i många fall webbhotellets DNS-server).

DNS-servern kommer då svara med ett IP-nummer och värdet av TTL (Time To Live). TTL är tiden i sekunder som Internetleverantörens DNS-server får spara på informationen (cache) innan den bör/ska skicka en ny förfrågan. Genom att ändra TTL-värdet för ditt domännamn kan du se till så att denna uppgift inte sparas så lång tid, vilket är viktigt när man tänkt flytta hemsidan.

Om din hemsida är stor så kommer förmodligen de flesta operatörer känna till vilket ip-nummer ditt domännamn pekar mot. När du genomför flytten vill du inte att operatörerna sparar på detta onödigt länge utan att de snabbt kan uppdatera till ditt nya ip-nummer.

avancerade-dns-inställningar-city-network
DNS-inställningar hos City Network

Leta efter avancerade DNS-hantering eller liknande i din kontrollpanel så bör du hitta uppgifter om detta. Vissa webbhotell erbjuder inte möjligheten att ändra detta men om du frågar snällt kanske supporten kan hjälpa dig.

Det finns en nackdel med att ange ett väldigt lågt värde och det är att det kan bli väldigt många onödiga förfrågningar till din (webbhotellets) DNS-server. Jag har varit med om ett scenario där vi misstog servern från att vara under attack när det i själva verket bara vara en stor mängd DNS-servrar som försökte få reda på ett IP-nummer.

DNS-inställningar för ett domännamn
DNS-inställningar för ett domännamn på City Network med TTL på 3600 sekunder.

Innan du ändrar något så ta reda på vad det står från början. Det är inte ovanligt att det står t.ex. 14400 vilket motsvar 4 timmar (14400/60/60=4). De DNS-servrar som precis hämtat dina domäninställningar kommer alltså spara på dessa i upp till 4 timmar. Du bör i sådana fall vänta med flytten i ca 4 timmar efter att du sänkt värdet.

Du får givetvis själv välja vilket värde du anser vara lämpligast men jag ser ingen direkt anledning att sätta värdet på mindre än 10 minuter (600 sekunder). Vill du sätta ett lägre värde så säkerställ först med webbhotellet så att det är okej. Du vill helst inte att de ändrar ditt värde för att de tycker det blir för hög belastning, det kan förstöra för flytten.

Det är nu dags att vänta tills du vet att alla DNS-servrar hämtar domäninställningarna oftare innan du är redo att påbörja steg 5. I mitt exempel på 14400 sekunder bör du tidigast påbörja steg 5 efter 4h-TTL (Har du satt 600 sekunder som ny TTL kan du påbörja flytten 3 timmar och 50 minuter efter att du ändrade TTL). Du kan dock göra förberedelser för steg 5 redan nu.

5. Stäng tillfälligt din hemsida om det behövs

Om du har en stor hemsida med mycket aktivitet på så kanske det är bättre att stänga webbplatsen tillfälligt och informera din besökare om ett tillfälligt driftavbrott. Här finns det flera viktiga aspekter att ta hänsyn till, i alla fall om inte din mjukvara kan göra det åt dig.

Det första kan vara att ange hur lång tid det estimeras att ta. Detta kräver att du känner till ungefär hur lång tid nästkommande steg tar och att du är helt säker på att ditt system fungerar bra på ditt nya webbhotell. Du kan få en ganska bra tidsuppfattning om du gjort utförliga tester i steg 3.

Om du vill kan du endast stänga av så användarna inte kan påverka innehållet av webbplatsen längre. I många fall är det dock bättre att endast visa ett litet meddelande om driftavbrott, men för ett forum finns det kanske ett syfte att fortfarande ha det tillgängligt för läsning. Det viktiga är att ingen ny data skrivs då den kommer gå förlorad när du påbörjat flytten av de filer och databaser som är dynamiska.

Du kan relativt enkelt med PHP och module_rewrite skicka en 503-statuskod till dina besökare. För enkelhetens skull skickar jag statuskoden i PHP och pekar om alla besökare till PHP-filen med mod_rewrite.

RewriteEngine on
RewriteRule .* website-down.php [L]
<?php
header('HTTP/1.1 503 Service Temporarily Unavailable',true,503);
?>

Meddelande till dina besökare...

Fördelen med statuskoden 503 är att du inte skickar några konstiga signaler till sökmotorerna. Du vill inte att Google och andra sökmotorer ska mötas av andra statuskoder för det kan ge oönskade effekter.

Glöm inte göra en backup av din befintliga .htaccess-fil innan du laddar upp filerna.

6. Påbörja flytt av dynamiska filer och databaser

Nu gäller det att flytta alla resterande filer så snabbt som möjligt (i alla fall om du stängt hemsidan för underhåll). I vilken ordning lämnar jag i dina händer då jag inte är kapabel till att avgöra vilket som är bäst för just din hemsida.

Men om du har många dynamiska filer kanske det här kan vara bra att påbörja en flytt av dessa. Antingen direkt från FTP-server till FTP-server eller genom att mellanlagra dem på din dator för att sedan ladda upp dem på nytt till ditt nya webbhotell.

Har du en stor databas och inga (få) dynamiska filer så kan det vara klokt att börja med det istället.

7. Kontrollera att flytten genomförts korrekt

När du genomfört flytten av resterande filer och databaser så kan du testa att allting fungerar, precis som i steg 3. Lägg gärna några minuter på att klicka runt och publicera/ta bort något om du kan. Dina besökare ser fortfarande din gamla hemsida (eller meddelandet om du valde det) så någon enstaka minut i testning kan du minst ge dig tid till.

När du säkerställt att allting fungerar som det ska så kan du öppna dörren för dina nya besökare genom att gå till nästa steg.

8. Ändra DNS-inställningar för domännamnet

Där du ändrade domäninställningen TTL har du också möjlighet att ändra värd, alltså vilket IP-nummer som domännamnet pekar på. Här ska du ändra till ditt nya webbhotell, men låt samma låga TTL vara kvar tills du bekräftat att allting är som det ska. När du sparat uppgifterna kommer förmodligen de flesta av dina besökare att besöka din hemsida på ditt nya webbhotell inom en rimlig tid.

Det ska dock understrykas att även om operatörernas DNS-server uppdaterat informationen kan lokala program på besökarens dator valt att spara uppgifterna längre. Men inom en timme bör i alla fall allting vara i sin ordning.

Glöm heller inte att peka om domännamnet till ditt nya webbhotells dns-servrar. Detta gör du dock i domänhanterare.

Som en sista säkerhetsåtgärd kan du nu ta bort det du angett i din hosts-fil, starta om datorn och besöka din hemsida. Det kan som sagt ta en liten stund innan ändringarna slagit igenom men det ska gå betydligt snabbare än vad det annars skulle.

Uppföljning

E-post kan ha letat sig in till ditt gamla webbhotells e-postserver och för att inte gå miste om något så bör du ansluta dit med en e-postklient eller webbmail för att säkerställa att du inte fått e-post dit eller för att hämta hem det som finns där. Två till tre dygn efter ompekningen av domännamnet så bör det dock inte längre komma någon e-post dit.

Lycka till med flytten!

Jag hoppas detta har kommit till nytta för någon själ där ute som planerar att byta webbhotell. Om du undrar över någonting eller vill tillägga något så tveka inte att skriva en kommentar.

Lämna en kommentar