Flytte hjemmeside til nytt webhotell og database

Sting
Stings bilde
Avlogget
Ble med: 11.01.2010

Hei!

Jeg skal muligens lage et utkast til en hjemmeside med Drupal, og tenke å først legge denne i en undermappe på mitt eget domene. Er det da bare å opprette en undermappe og legge en fresh install av Drupal der - og i ettetid slette mappen uten at dette gir innvirkning på min egen hjemmeside?

Dersom den siden da skal flyttes til et annet domene, kan jeg da bare hente alt ned til min maskin og legge det ut på nytt domene? Hvilke utfordringer vil evt dukke opp i forhold til SQL-server - vil alle noder gå tapt, for eksempel?

På forhånd takk for hjelpen!

Hjemmeside: www.arleeproductions.org

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Utvikle to hjemmesider og flytte drupal

Det du egentlig lurer på er hvordan man flytter en hjemmeside mellom to webhotell, og hvis websiden bruker en database; hvordan man bytter databasen. (Har derfor skiftet overskriften på innlegget ditt).

Domenet trenger ikke nødvendigvis å være hos den samme leverandøren som webhotellet, ergo kan du bruke en webhost for å registrere domener, en annen hvor du kjøper webhotell. Du peker så domenet til webhotellet. På den måten kan du ha alle domener hos en webhost, og bytte på hvor du har webhotell og database. :)

To websider på samme webhotell (bruk subdomene)

Hvis du skal installere Drupal to ganger, så kan du fint gjøre dette ved å opprette en ny katalog med en ny install. Det kan dog by på noen problemer pga omskrivingene av URLene som Drupal gjør. Install #1 (i webrooten) kan tro du forsøker å akkessere en webside på den, og når den ikke finner den så får du en 404 (ikke funnet) error.

Det beste er om du setter opp et subdomene, f.eks. beta.domene.com, og går inn på Drupalinstallasjon #2 på den måten.

Jeg vet ikke hvor du har webhotell, men de fleste hoster støtter at man setter opp et subdomene og legger en mappe i webrooten som da blir roten til det nye subdomenet. I tillegg må du selvsagt opprette en ny database til Drupal #2.

Under utvikling bør du også sperre uvedkommende fra å gå inn på siden, f.eks. ved hjelp av IP-blokkering i htacccess.

Bytte webhotell og database

Drupal består hovedsaklig av to lag, filene og databasen. Filene henter ut dataene som er lagret i databasen.

Dermed spiller det ingen rolle hvor databasen er, sålenge Drupal har tilgang til hosten hvor databasen med alle data.

F.eks. kan du ha en databaseserver i USA og lagre filene på et webhotell i Norge. Webserveren og databaseserveren har ikke noe med hverandre å gjøre, det er PHP som henter ut info fra MySQL og sender dette til brukeren gjennom webserveren.

Hvis du skal flytte Drupal fra webhotell A til B så kopierer du bare over filene.

Bytte av webhotell og database

Skal du bytte database i tillegg, så må du gå inn i settings.php og endre database, host, brukernavn, pass. Videre må du ta en MySQL-dump av database A og gjenopprette fra dumpen til database B.

Dette kan by på problemer hvis det er forskjellige databasetyper og versjoner. F.eks fra MySQL 4 til MySQL 5, vær oppmerksom på dette.

Du kan lese om hvordan man tar backup av MySQL og gjennoppretter databasen her. Hvis du får problemer, noe som er helt normalt, så er det bare å si ifra, så skal jeg hjelpe deg.

Sting
Stings bilde
Avlogget
Ble med: 11.01.2010
Raskt og utfyllende svar som

Raskt og utfyllende svar som alltid - takk skal du ha!

For øvrig bruker jeg One som webhotell, og jeg mener å ha sett at de støtter subdomener....

Hjemmeside: www.arleeproductions.org

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Lage subdomene hos One

Ja, hos one logger du bare på med FTP, oppretter en ny katalog i webrooten og går til katalognavn.domene.com.

Merk at one kun tilbyr én database per webhotellkonto :(

Sting
Stings bilde
Avlogget
Ble med: 11.01.2010
Aha! Betyr det at man får

Aha! Betyr det at man får problemer med flere nettsteder selv om man bruker subdomener? Eller betyr det at nettside koker alt ihop i samme database, slik at det blir et svare kaos å eksportere for så å importere til ny database?

Hjemmeside: www.arleeproductions.org

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
To drupalinstallasjoner i én MySQL database

Du kan godt kjøre to drupalinstallasjoner i samme database, men da er det viktig at du bruker forskjellige prefix på tabellene (database table).

Dette kompliserer backup litt, og det vil potensielt kunne trege ned respons fra databasen din, men likevel: Her er det eneste mulighet om du ikke investerer i et sekundært webhotell eller setter opp en database hjemme.

I settings.php har du mulighet til å sette prefix, finn frem til:

<?php
$db_prefix
= 'dittprefix_';
?>

Skriv inn ditt prefix (før du begynner å installere Drupal #2, da disse tabellene opprettes under installasjonen), og ha for ordens skyld med underscore etter, tabellene i databasen vil da se slik ut:

prefix_tabell1
prefix_tabell2
...

MySQL dump av database og fjerne tables

Si du nå har to sett med tabeller i databasen, en for Drupal #1 og en for Drupal #2.

Når disse har forskjellige prefixer, så er det en smal sak å fjerne de som ikke hører til, slik:

Ta fullstendig dump av databasen, og gjennopprett den i den nye databasen. Bruk deretter kommandoen:

DROP TABLE prefix_tabellnavn

Dette må du gjøre på samtlige databaser, hvis du gjør det gjennom CLI (Command Line Interface) eller kommandolinjen i phpMyAdmin, så finnes det en snarvei for å gjøre det hele enklere. Slik:

SHOW TABLES;

Du får da opp ei lang liste med tabeller, kopier disse, lim dem inn i en teksteditor og bruk Search and Replace-funksjonen i editoren din for å sette inn:

DROP TABLE

foran alle de tabellnavnene som skal fjernes, i tillegg må du legge til et semikolon etter tabellnavnet. Du har da ei lang liste med slike kommandoer:

DROP TABLE prefix_table_1;
DROP TABLE prefix_table_2;

Og kan så bare kopiere alle sammen og paste dem inn i CLI eller kommandolinjen i phpMyAdmin for å kjøre kommandoene. Dette er måten jeg sletter mange tabeller på hvis jeg ikke har mulighet til å slette hele databasen (noe du ikke har hos one).

Dette kan gjøres hos webhoster som har phpMyAdmin (one), webhoster som tilbyr SSH access eller ekstern pålogging til MySQL (ikke one).

Potensielt enklere med phpMyAdmin

Personlig så administrerer jeg databasene mine med kommandoer, og bruker sjelden phpMyAdmin, men når jeg tenker etter, så tror jeg du kan hooke av for alle tabellene du vil slette, og bare slette dem.

Igjen: Dette forutsetter at webhotellet den nye hjemmesiden skal ligge på har phpMyAdmin (og det er det vanlig at de fleste har).

grol
grols bilde
Avlogget
Ble med: 16.02.2010
Flytte drupalinstallasjonen....

Hei.

Hva hvis man kun ønsker å flytte "filene" fra www.mittdomene.no/drupal til rotkatalogen. Jeg har kjørt noen tester på drupal under en egen katalog under rot, og ønsker nå å flytte fra www.mittdomene.no/drupal til www.mittdomene.no uten at dette påvirker databasen eller at databasen påvirker filene i negativ forstand. Jeg bruker forøvrig One som host.

Går dette? Og hvilke konsekvenser vil dette evt. få?

På forhånd tuuusen takk!

Hjemmeside
Hjemmesides bilde
Avlogget
Bidragsyter
Ble med: 17.06.2008
Flytte drupalfiler til rotkatalog er OK.

Det skal fungere helt fint å flytte alle filene, men ta backup for sikkerhets skyld. (Jeg har flyttet en drupalinstallasjon fra subkatalog til rotkatalog uten problemer før).

Svar på forumemnet

(If you're a human, don't change the following field)
Your first name.
Innholdet i dette feltet blir holdt privat og vil ikke bli vist offentlig.