# Coppermine Photo Gallery v1.5.x: Dokumentation och Manual

# Säkerhetskopiera & Flytta

Från början var det här avsnittet av dokumentationen tänkt för något annat (en export funktion som senare togs bort från Coppermine-paketet, eftersom det inte fungerade och skapade mer problem än det löste). Därför har detta avsnitt fortfarande ett missvisande namn.

Denna sida handlar om det relaterade ämnet om hur man kan säkerhetskopiera (ta backup på) Coppermine och hur man flyttar det.

## Säkerhetskopiera (ta backup på) ditt galleri

Här förklaras hur du tar backup på ditt Copperminebaserade galleri.

Backuper kan användas för att återskapa ditt galleri någon annanstans om något skulle bli fel (t.ex. om din server får en hårddisk-krasch, hackas, du gör egna misstag) eller om du vill flytta (flytta server, flytta till ett annat webbhotell, använda en annan applikation).

Coppermine lagrar innehåll både på filsystemsnivå (på ditt webbutrymme - alltså hårddisken på din webbserver) och på databasnivå. Tänk på databasen som en jättestor tabellsamling där alla tabeller länkas till varandra. Även om databasen (tekniskt) lagras i filer också, så kan du inte enbart ta backup på filen som representerar databasen. Detta på grund av hur databasen fungerar. Dessutom har du vanligtvis inte tillgång till filen som representerar databasen (men börja inte med att försöka hitta den - du kommer ändå inte att kunna använda den). Därför måste backup-processen vara tvåfaldig: du måste säkerhetskopiera dina filer och du måste säkerhetskopiera din databas. Att säkerhetskopiera den ena men inte den andra kommer att resultera i en ofullständig backup som inte går att använda.

### Filbackup

Säkerhetskopiering på filsystemsnivå är ganska rättfram och du bör redan vara införstådd med teknologin, under förutsättning att du installerat Coppermine på det sätt som utvecklingsteamet rekommenderat: med hjälp av din FTP applikation. Lita inte på verktyg inbyggda i WYSIWYG editorer. Lite inte på wannabe "web-FTP" klienter: du behöver en riktig och äkta FTP klient. Om du inte redan har en, skaffa en innan du fortsätter.

#### Fullständig filbackup

Termen "fullständig filbackup" betyder i det här fallet "en filbackup av hela Coppermine galleriet". Det rekommenderas att det här görs åtminstone en gång så att du har en hel backup som katastrofåtgärd.

För att faktiskt göra en sådan backup, skapa en mapp på din lokala hårddisk först. Du måste förstås först ha tillräckligt med utrymme kvar på den lagringsenhet du använder (din interna eller externa hårddisk i de flesta fall) för att kunna lagra hela backupen när den väl är utförd. Om du har lite utrymme kvar på din klient, skulle du kunna bränna ner backupen till en CD eller DVD när den är färdig och sedan radera den från hårddisken.

#### Partiell Filbackup

Om du gör frekventa backuper behöver du inte göra en fullständig varje gång, eftersom Coppermines källkod kommer att inte kommer att förändras från den ena backupen till den andra. Därför kan du sedan göra en partiell backup, bara säkerhetskopiera innehållet i mappen "albums" som motsvaras av sökvägen `http://exempel.com/din_coppermine_mapp/albums/`. Om du behöver göra en återställning senare, kommer du att behöva återställa den fullständiga backupen först för att därefter återställa den partiella backupen som skapades senare och därför innehåller nyare data.

#### Inkrementell filbackup

Det finns fiffiga verktyg från tredje-part som kan utföra inkrementella backuper via FTP, d.v.s. de tar bara backup på de filer som är nya eller som har förändrats från den senaste backupen gjordes. Detta kommer att reducera den tid som går åt för att ta backup dramatiskt, men å andra sidan kommer det att ta mer tid och göra det svårare att återställa backupen - du bör bara använda det alternativet om du vet vad du gör.

### Databasbackup

Coppermine skapar under installationen åtskilliga databastabeller som används för att lagra innehållet:

- Bildtabellen lagrar sökvägen på filsystemsnivån till innehållet i ditt galleri (d.v.s. bilderna)
- Konfigurationstabellen lagrar konfigurationen
- Användartabellen lagrar data om registrerade användare (inklusive administratörskontot)
- ...

Det finns många fler tabeller som lagrar olika aspekter av innehållet på ditt galleri - för en komplett lista av alla tabeller och strukturen inom dem, se databas schemat. Alla relevanta tabeller har samma prefix - den du använde under installationen. För att utföra en databasbackup, säkerställ att du tar backup på alla copperminetabeller, d.v.s. alla som har det prefix som du valde vid installationen. Om du inte är säker på vilket prefix det är, ladda ner filen include/config.inc.php med din FTP applikation till din dator och titta sedan i den med hjälp av en ren-text editor (notepad.exe duger fint): prefixet borde stå där. Som standard är prefixet `cpg15x_`.

#### Databasbackup: vad behöver man ta backup på?

Ordalydelsen kan variera beroende på det verktyg och dess version som du använder, och du bör veta exakt vad du ska ta backup på.

En fullständig databasbackup innehåller både databasens struktur på tabelldefinitioner (de "instruktioner" som behövs för att skapa tomma tabeller om de har gått förlorade och behöver skapas på en annan server) så väl som data (faktiskt tabellinnehåll).

De tabeller som Coppermine består av är lika viktiga:

- Tabellen cpg15x_hit_stats kan bli ganska stor om du aktiverat funktionen "Behåll detaljerad träffstatistik". Följaktligen kan backuperna bli ganska stora om innehållet i den här tabellen ingår i frekventa backuper. Särskilt om man flyttar en Coppermineinstallation från en server till en annan kan det vara en god ide att hoppa över detaljerad träff-statistik och därför inte ta backup på just den här tabellen.
- Tabellen cpg15x_sessions håller koll på sessioner för inloggade och anonyma användare. Den fylls på automatiskt om den är tom, så det är inte tvunget att ta backup på den.
- Tabellen cpg15x_temp_messages lagrar meddelande från en sida till en annan - innehållet är mycket kortlivat och nollställs ofta så tabellen behöver inte tas med vid frekventa backuper.

Tänk på att Coppermine kommer att klaga (det kommer att bli ett felmeddelande) om en tabell saknas, så du måste skapa ovanstående tabeller om du uteslutit dem, men de får vara tomma.

#### Databasbackup Verktyg

Coppermine kommer inte med något verktyg för databasbackuper - du måste själv hitta en och använda den. Det finns en lista på verktyg som utvecklingsteamet rekommenderar:

- ##### phpMyAdmin

  Open-source webbapplication för databashantering som kan laddas ner (gratis) och installeras på din webbserver (lätt installation). Den har flerspråksstöd. Ditt webbhotell kan redan tillhanda detta verktyg.
  [mer]

  Coppermines utvecklingsteam erbjuder ingen support för användning av phpMyAdmin - här är bara en kort sammanfattning som inte ersätter dokumentationen för phpMyAdmin:

  - Peka in din webbläsare till den sökväg (URL) där din kopia av phpMyAdmin finns (det antas att du lyckats installera phpMyAdmin på din webbserver eller att ditt webbhotell tillhandahåller phpMyAdmin åt dig)
  - Om tillämpligt (d.v.s. om säkerhetsinställningarna i phpMyAdmin är konfigurerade motsvarande), ange dina phpMyAdmin login data om du uppmanas att göra det
  - Om tillämpligt (d.v.s. om du har tillgång till flera databaser), välj den databas där som Coppermines tabeller finns i (den du valde när du installerade Coppermine) från den översta vänstra rutan i phpMyAdmin gränssnitt
  - På den översta högra rutan i phpMyAdmin, välj "Export" från navigationen
  - På skärmen "View dump (schema) of database", välj de tabeller som du vill ta backup på (som standard väljs alla tabeller som finns i databasen) från rutan benämnd "Export". Om du inte är säker, ta backup på alla Coppermine tabeller, d.v.s. alla som har samma prefix som det du angav när du först installerade Coppermine
  - I rutan "Export", lämna radio-knappen "SQL" markerad som redan är vald som standard
  - Kontrollera att kryssrutan "Structure" är förbockad
  - Bocka inte i kryssrutan "Drop table" - "dropping" betyder "radera efter att backupen är färdig", vilket är något du nästan säker inte vill ska hända, eftersom Coppermine då kommer att sluta fungera omedelbart och du måste göra en återläsning från en backup för att få igång den igen.
  - Kontrollera att kryssrutan "Data" är förbockad
  - Det är tillrådigt (men inte obligatoriskt) att bocka för kryssrutan "Complete inserts"
  - Det är tillrådigt (men inte obligatoriskt) att bocka för kryssrutan "Extended inserts"
  - Det är tillrådigt att bocka för kryssrutan "Save as file" som kommer att ge dig en fil att ladda ner istället för att bara ge dig en dump som syns på skärm som du sedan måste kopiera & klistra in i en textfil.
  - Om du får time-outs under tiden du skapar en databas-dump, prova att aktivera komprimering av filen (du kan förstås bara använda ett komprimeringsformat som finns på din webbserver)

  Om du inte är säker, läs den dokumentation som kom med phpMyAdmin eller googla på backup-kurser på nätet; Coppermines supportforum är inte rätt plats att be om hjälp med användning av phpMyAdmin.

- ##### mySqlDumper

  MySqlDumper är en webbapplikation som kan ladda ner och installera på din webbserver. Det är tänkt att användas för att ta backup på din mysql databs (och senare återställa dessa backuper). Särskilt användbart om du inte har "shell access" till din webbserver och vanliga mySQL backuper misslyckas på grund av time-outs.
  [more]

- ##### mysqldump

  Verktyget mysqdump får inte blandas ihop med mySqlDumper eller vice versa: mysqldump är ett script som tillhör själva mysql och som bara är tillämplig (d.v.s. som du kan använda) om du har "shell access" (vilket de allra flesta användare med webbhotell inte har). [more]

- ##### mysqlhotcopy

  Perl scriptet mysqlhotcopy tillhör mysql. Det är det snabbaste sättet att ta backup på databasen eller på enskilda tabeller, men det kan bara köras på samma maskin som databas-katalogen finns på. mysqlhotcopy fungerar bara för att ta backup på MyISAM och ARCHIVE tabellerna. Det kan köras på Unix och NetWare. [more]

#### Efter databasbackupen

Efter det att den manuella databasbackupen är klar är det viktigt att den databasdump du just skapade också fungerar. Därför bör du öppna den för att se att den inte är skadad. Helst bör du göra en återställning på en testinstallation för att säkerställa att allt fungerar som det ska.

Det är många användare redan som har litat på sina backuper utan att ens ha testat det så mycket som en enda gång: om du aldrig testar din backup-strategi kommer du aldrig att veta om det är möjligt att göra en återställning om katastrofen är framme. Eftersom så mycket kan gå fel, rekommenderas du verkligen att testa din backup.

## Flytta ditt galleri

Ditt galleri kan flyttas runt på din webbserver såväl som från ett webbutrymme till ett annat. Så här åstadkommer du det:

### Flytta på din webbserver

Att flytta ditt galleri på din webbserver (från en viss mapp på webbroten till en annan eller vice versa) är jämförelsevis enkelt. Coppermine består av två komponenter:

- Filer
- Databasposter

En bra sak med att flytta runt file/mappar är det faktum att Coppermine inte lagrar den absoluta sökvägen till en fil i databasen, utan bara en relativ: den relativa sökvägen inom mappen "albums"). Därför kan du flytta runt den mapp som ditt galleri finns i utan att du behöver ändra något i databasen för det.

Tänk bara på att du måste flytta hela Coppermine-mappen, d.v.s. du måste flytta alla filer och mappar och inte bara några av dem. Den mapp- och filstruktur som finns i din Coppermine-mapp måste bevaras intakt när du flyttar den.

Det finns i huvudsak två alternativ för detta:

- #### Du döper om den mapp som ditt galleri finns i

  Detta är det allra enklaste sättet. Om ditt galleri finns i `http://exempel.com/din_coppermine_mapp/` och du tycker den sökvägen är svår att komma ihåg för dina besökare, så kan du bara döpa om mappen `din_coppermine_mapp` till någonting annat som är lättare att komma ihåg, t.ex. `galleri` eller `bilder`. För att åstadkomma det använder du bara din FTP applikation och döper om den mapp som motsvarar `http://exempel.com/din_coppermine_mapp/`. Allt som återstår att göra finns beskrivet i avsnittet Ändra Coppermines sökväg (URL) i konfigurationen.

- #### Du flyttar runt innehållet i Coppermines mapp

  Om du inte har "shell access" till din webbserver, så är det här en tre-stegsraket: först kopierar du hela innehållet i din Coppermine mapp till en temporär mapp med hjälp av din FTP applikation. Sedan återställer du innehållet i den mappen till målmappen på din server. Slutligen behöver du sätta behörigheter för den nya mappstrukturen.
  Låt oss anta att din webbsida finns på `http://exempel.com/` och att ditt Coppermine galleri finns på `http://exempel.com/coppermine/`. Låt oss anta att webbroten `http://exempel.com/` motsvarar den absoluta sökvägen `/home/htdocs/` på servern och följaktligen motsvarar galleriet serversökvägen `/home/htdocs/coppermine/`. Låt oss anta att du vill flytta en mapp som heter "`bilder`" som finns i mappen som heter "`multimedia`". För målmappen blir den absoluta sökvägen `/home/htdocs/multimedia/bilder/` och målsökvägen (URL) blir `http://exempel.com/multimedia/bilder/`.

  Steg | Webbserver | Riktning | Klient | Förklaring
  --- | --- | --- | --- | ---
  1 | URL: `http://example.com/coppermine/` Absolut sökväg: `/home/htdocs/coppermine/` | → | `c:\temp\coppermine\` | Använd din FTP applikation för att kopiera galleriets mapp och allting i den till en temporär mapp på din lokala hårddisk.
  2 | URL: `http://example.com/multimedia/photos/` Absolut sökväg: `/home/htdocs/multimedia/photos/` | ← | `c:\temp\coppermine\` | Använd din FTP applikation för att kopiera allt innehåll i din lokala temporära mapp till den nya målmappen på servern.
  3 | URL: `http://example.com/multimedia/photos/albums/` Absolut sökväg: `/home/htdocs/multimedia/photos/albums/` | n/a | - | Sätt behörigheter (använd din FTP applikation) på mappen "albums" som behöver vara skrivbar.

  Slutligen kan du radera din lokala temporära mapp som du lagrade dina Coppermine-filer i, men det kan vara bra att spara den istället som en backup.
  Vilken mapp som är källmapp och vilken som är målmapp spelar ingen roll alls, inte heller spelar det någon roll hur djupt ner Coppermine mappen är i mappstrukturen på din server. De steg som behövs för att flytta galleriet från en mapp webbroten eller vice versa skiljer sig inte åt: webbroten är bara en mapp på webbserverns filsystemsnivå, och du flyttar runt innehållet i en mapp.

### Flytta från en webbserver till en annan

Detta scenario gäller vanligtvis när man byter från ett webbhotell till ett annat. Du skapar faktiskt en kopia av dina filer (en fullständig filbackup) och en kopia av din databas (fullständig databas dump) på den gamla servern och återställer de kopiorna på den nya.

Du uppmuntras att skapa och underhålla backuper ofta så du bör ha en backup redan. Om du inte har en, bör du skapa en nu. Du behöver tänka på att din sida kan ligga nere under tiden du flyttar från ett webbhotell till ett annat. Förhoppningsvis är den tid sidan ligger nere försumbar men du kan vanligtvis inte komma åt ditt galleri på den gamla servern och på den nya med samma URL samtidigt. Därför bör du ta backup på den gamla servern medan du fortfarande kan, alltså före kontraktet med ditt webbhotell går ut och du inte längre kan komma åt din gamla server för att ta backup. Om du inte har en backup och du inte längre kommer åt din webbserver så är det kört: ingen kommer att kunna hjälpa dig att återskapa ditt galleri - det är absolut obligatoriskt att ha en fungerande backup på både dina filer och dina databaser.

Läs motsvarande avsnitt på denna sida för att i detalj ta reda på hur du gör en backup.

Nedan är ett sammandrag på steg nödvändiga att utföra, och en del noteringar om det som är besvärligt:

- #### Underhållsläge

  Berätta för dina användare att det kommer att utföras underhållsarbete på din sida och att den stundtals kan ligga nere. Om du tillåter dina besökare att ladda upp filer eller skriva inlägg och kommentarer, bör du försätta ditt galleri i nedstängt läge eller på annat sätt säkerställa att innehållet i din databas inte förändras efter det att du skapade dumpen.

- #### Säkerhetskopiera dina filer

  Ladda ner hela din Coppermine-mapp med FTP (inklusive alla mappar och filer i den) från den gamla servern till din lokala hårddisk, och bevara strukturen på undermapparna.

- #### Skapa en dump av din databas

  Använd ett verktyg som phpMyAdmin eller liknande för att backup på din databas, d.v.s. för att få en dump (backup) av dina mySQL databasuppdateringar. Säkerställ att du inte bara tar en backup på din tabellstruktur - du måste ta backup på det faktiska innehållet (de individuella databasposterna) också.

- #### Verifiera att din backup fungerar

  Kontrollera om mySQL-dumpen innehåller alla data (öppna den komprimerade dumpfilen och använd en texteditor för att läsa i den). Helst bör du återställa hela galleriet till en testmiljö eller till din nya webbserver om du har tillgång till den och där kan se att din backup fungerar och är giltig.

- #### Ladda upp Coppermine-mappen till din nya server med FTP

  Återställ filerna på den nya servern om du kan, och bevara exakt den mappstruktur som fanns på din backup.

- #### Sätt behörigheter

  Coppermine behöver skriv-rättigheter på en del mappar, så du måste sätta behörigheter på den nya servern på samma sätt som du gjorde när du först installerade Coppermine på den gamla servern. Glöm inte detta steg, det är viktigt!

- #### Läs tillbaka databasen

  Återställ mySQL tabellen genom att köra frågorna på den dumpfil du skapade på den gamla servern. För att åstadkomma det behöver du samma verktyg på den nya servern (målservern) som du använde när du skapade backupen på den gamla; om du använde phpMyAdmin på den gamla ska du också använda phpMyAdmin på den nya när du återläser backupen.

- #### Redigera databasinställningar

  Ditt nya webbhotell måste ha gett dig tillgång till mySQL data (du har redan behövt använda det för att kunna återställa dumpen på den nya servern). Dessa mySQL data skiljer sig vanligtvis från de som du hade på den gamla webbservern, så du måste redigera filen som innehåller dessa data. Använd en ren text-editor (notepad.exe duger bra) och redigera `include/config.inc.php`: i den filen hittar du de gamla mySQL uppgifterna som du behöver skriva över med de mySQL data som gäller för den nya servern.

- #### Inaktivera underhållsläge

  Om du från början försatte ditt galleri i avstängt läge på den gamla servern måste du komma ihåg att öppna den igen på den nya. Gå till Coppermines konfiguration och redigera motsvarande inställning.

- #### Testa allt noggrant

  Testa varje aspekt av ditt galleri: försök att logga in som en vanlig användare utan administratörsrättigheter, försök använda http uppladdningar, skriv en kommentar etc.

### Nackdelar med att döpa om

Ditt finns flera nackdelar med att ändra adress (URL) till ditt galleri:

- Bokmärken/favoriter som dina besökare sparat till din sida gäller inte längre
- Sökmotorernas index kommer att peka mot den gamla adressen. Följaktligen kommer du att få sämre ranking för dessa sökindex

Tim Berners-Lee ("uppfinnaren" av www) myntade mottot "Cool URI ändras inte" och det gäller fortfarande, så du bör tänka dig för två gånger innan du döper om din Coppermine-mapp efter det att den har etablerats. Det är mycket bättre att välja ett smart mappnamn från början (när du installerar Coppermine för första gången). Om du måste ändra URI till ditt galleri (eller någon URL överhuvud taget), så bör du åtminstone lägga in en omdirigering som tar hand om förändringen: på Apache-baserade servrar (och under förutsättning att ditt webbhotell tillhandahåller stöd för den funktionen), så kan du omdirigera med hjälp av `.htaccess file` med redirect directive.

### Ändra Coppermines URL i konfigurationen

När en URL till ditt galleri ändras (efter att du flyttat runt ditt galleri på servern eller efter du döpt om mappen det befinner sig i), så måste du återspegla förändringarna av adressen i Coppermines konfiguration:

- Gå till din nya adress (URL) via din webbläsare adressfält
- Logga in som administratör om du inte redan är det
- Gå till Coppermines konfigurationspanel
- Utöka "Generella inställningar"
- Ange den nya adressen i fältet "URL till din Coppermine gallerimapp"
- Bläddra till slutet av konfigurationspanelen
- Spara dina ändringar genom att skicka formuläret med motsvarande knapp i slutet av sidan
- Spara dina ändringar genom att skicka formuläret med motsvarande knapp i slutet av sidan