Så flyttar du en sajt till och från webbhotell

Itangalo's picture

Här är en kort guide till hur man flyttar en webbplats mellan ett webbhotell och ens egna dator.
Guiden kom till efter en fråga på forumet. Ställ gärna fler frågor!

Du behöver

  • En dator som klarar Apache, PHP och mySQL -- det vill säga fungerar som en server. Lullabot har trevliga screencasts om hur du fixar det -- sök på WAMP, MAMP eller LAMP, beroende på om du använder Windows, Mac eller Linux. Eller kolla in Acquias DAMP-installer (se "stack installer for...").
  • Onlinegränssnittet phpMyAdmin för att hantera databasen. (Det är inte ett egentligt krav, men används i denna guide.)
  • En ftp-klient, så som FileZilla. Det är en sån du använder för att flytta filer till och från ditt webbhotell (om du inte har någon annan lösning).
  • Lite tålamod.

1: Stäng webbplatsen och ta hem filer

  1. Sätt din webbplats i offline-läge, under administration > inställningar. Du vill inte att folk skriver kommentarer medan din webbplats är nere.
  2. FTP:a hem alla filer från din Drupalinstallation till din hårddisk, och lägg dem i lämplig katalog.

2: Ta hem databasen

  1. Besök phpMyAdmin och logga in. På webbhotell hittar du ofta phpMyAdmin under phpmyadmin.exempel.se. Du kommer att behöva inloggningsuppgifter, som du kanske får beställa igen från hotellet eftersom du glömt bort dem.
  2. Hitta databasen som används (överst i vänsterspalten, förmodligen "localhost") och exportera alla tabeller som tillhör din installation. Det gör du under fliken "export". Se till att spara eporten som en fil (val långt ner), och zippa den gärna också.
  3. Spara ner filen på lämpligt ställe.

3: Sätt upp webbplatsen lokalt

  1. Kopiera hela filstrukturen för webbplatsen till den www-katalog på datorn som Apache satt upp.
  2. Se till att mappen sites/default/files är läs- och skrivbar -- detta kan ändras när du kopierar grejor.
  3. Gå till phpMyAdmin på din dator och importera databasen. Du borde hitta den genom localhost/phpmyadmin. Använd fliken för import, och leta upp filen som du sparade innan.
  4. Redigera filen sites/default/settings.php, och se till att du har rätt namn på databas, rätt lösenord, och så vidare. Din lokala installation lär skilja sig från den du har på hotellet. (Inställningarna finns typ på rad 69.)

4: Lattja lokalt

  1. Logga in på sajten lokalt genom att besöka /user.
  2. Gör så mycket ändringar du vill. (Så som att uppgradera moduler eller till och med core.)
  3. Om saker går helt åt skogen kan du alltid rensa bort filstruktur och databastabeller, och börja om igen.

5: Tanka upp på hotellet igen

  1. Ta den lokala webbplatsen offline igen, om den inte redan var det.
  2. Redigera i settings-filen, så att databas och lösenord stämmer med det du har på hotellet.
  3. Exportera databasen från phpMyAdmin.
  4. Radera filstruktur från filutrymmet på hotellet -- åtminstone i den mån du ändrat filstrukturen lokalt. Tanka upp det som ändrats.
  5. Radera databastabellerna på hotellet och tanka upp den lokala exporten.

6: Sätt igång sajten på hotellet igen

  1. Logga in genom /user-sidan.
  2. Kolla så att saker verkar funka som de ska. Skulle något ha gått åt skogen ska du fortfarande ha kvar gamla filstrukturen och databasen, och kan ladda upp det igen.
  3. Ta sajten online igen.

Lycka till!
//Johan Falk

Groups:
Login to post comments

Bra guide! Jag har ibland

pontus_nilsson's picture
pontus_nilsson - Wed, 2009-06-10 09:03

Bra guide!

Jag har ibland stött på problem när ett projekt och MySQL-databasen växer. Ofta är gränsen på hur stora filer man kan importera satt till några megabyte i php.ini. Om man inte har möjlighet att ändra detta själv så kan man använda bigdump, http://www.ozerov.de/bigdump.zip, som importerar sql-filen i delar till den nya databasen.

När man exporterar databasen så har jag sett att många rekommenderar att man slår av Utökade infogningar i phpmyadmin.

Backup and migrate modulen är också något att ta en titt på när det gäller att flytta hemsidan mellan servrar, http://drupal.org/project/backup_migrate


Cache-tabeller

Itangalo's picture
Itangalo - Wed, 2009-06-10 13:44

Bigdump var ett bra tips -- ska kolla in det vid tillfälle.
När jag själv råkat på för stora sql-filer har jag kommit fram till att det är menu_cache som blir apastor, och att det går utmärkt att radera den tabellen. (Jag misstänker att cachen måste byggas om i så fall, men på mina egna små sajter är det inget problem.)
Om någon försöker med min metod ska man förstås ta backup i så stor omfattning som möjligt. Att radera tabeller är inte så kul om det går dåligt.

Utökade infogningar har jag inte hört talas om förut. Vad gör de?

Backupmodulen hade jag tidigare uteslutit, eftersom den verkade funka dåligt med mitt webbhotell, men jag ska helt klart kolla mer på den.

//Johan Falk


Töm cache

hstrindb's picture
hstrindb - Wed, 2009-06-24 19:23

Hej!

Administer › Site configuration, längst ner: Clear cached data - det kan krympa MySQL-databasen tillräckligt.

David Mercers Drupal 6 bok står: 1. Disable all caching and clear all caches. 2. Disable clean URLs. 3. Set any logging option sto small and run cron.

allt gott / Henrik


Smart

Itangalo's picture
Itangalo - Mon, 2009-06-29 06:53

Att använda Drupals egna funktioner för att rensa cachen är förstås en bra grej. Tack för ett smart påpekande!

//Johan Falk


Jag har min

VikingofSwe - Wed, 2009-06-24 17:54

Jag har min drupalinstallation i /drupal för närvarande, om jag vill flytta siten till /test eller sedan när jag är klar och vill ha drupal direkt på domänen, hur flyttar man då? jag testade att bara flytta över filerna till en annan mapp, och då fungerar förstasidan men inga länkar.


funkar inte

Cossan - Tue, 2009-07-14 02:44

Fixat


Mapp för bilder

Xeonz - Mon, 2009-11-02 17:42

Hej!

Jag är ny med Drupal och bygger nu min första riktiga site. Har byggt upp denna i MAMP i en underkatalog lokalt. Har tidigare arbetat mycket med Joomla men Drupal verkar riktigt kraftfullt!

Jag precis flyttat över sidan till en riktig server men bilderna jag laddat upp refererar till fel mapp (den tidigare underkatalogen i MAMP). I övrigt fungerar sidan bra. Templatebilder som logo etc funkar. Det verkar främst vara bilderna jag laddat upp som strular.

Mapp ska vara: /sites/default/files/slide_01.jpg

men är nu på tidigare uppladdade filer: undermappen_pa_localhost/sites/default/files/slide_01.jpg

Vart ändrar jag så att bilderna refererar rätt? (jag har testat att rensa catch) Jag använder TinyMCE och IMCE med plugin.

Mvh Viktor


Lösningen

Xeonz - Mon, 2009-11-02 18:28

Hej igen!

Jag löste problemet med Pathologic! http://drupal.org/node/257026

Tack iaf =)


Lösningen

Xeonz - Mon, 2009-11-02 18:28

-