Artikel top billede

(Foto: Computerworld)

Guide: Arranger din egen Cloudtjeneste

Kunne du tænke dig en allestedsnærværende Dropbox-agtig lagertjeneste uden at skulle hoste op med penge og dele dine data med en tredjepart? OwnCloud er et af de bedste stykker open source-software, man kan bruge til at oprette sin egen private og beskyttede cloud-delingstjeneste.

Af Torben Okholm, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Med OwnCloud kan man synkronisere og dele sine privata data og få adgang til dem fra enhver internetforbundet enhed. Hvis man ønsker større sikkerhed, kan OwnCloud også kryptere ens filer. Softwaren kan håndtere filer i en række forskellige formater, og man kan udvide dens anvendelighed ved at tilføje andre applikationer. Ligesom med andre online-cloudtjenester kan man synkronisere filer på OwnCloud ved at bruge enten webbrowseren eller en desktopklient på Windows, Mac og Linux. Man kan også bruge mobile klienter til Android- og iOS-enheder. Desuden beholder en OwnCloud-server ældre versioner af alle ændrede filer og gør det muligt at vende tilbage til en ældre version uden større vanskelighed.

1 Læg fundamentet
I denne guide installerer vi vores OwnCloud-server oven på Raspbian-distributionen til Raspberry Pi [Billede A]. Serversoftwaren stiller beskedne krav og fungerer godt, selv på en Raspberry Pi Model B, i bestemte små og kontrollerede miljøer som for eksempel et hus. Man skal også bruge en bærbar USB-disk til at lagre data. Man opnår maksimal driftssikkerhed og ydelse, hvis man bruger en disk, der ikke trækker strøm fra Raspberry Pi. Før du begynder at installere serveren, skal du sikre dig, at din Raspberry Pi har en statisk ip-adresse. Det gør du nemmest ved at knytte en ip-adresse til din pc’s unikke mac-adresse på routerens administratorside. Her går vi ud fra, at Pi’en er på 192.168.3.111, men det kan du selv ændre.

AOD17_cloud01

2 Installer owncloud
Raspbian bygger på Debian OS, og vi kan derfor hente pakker fra OwnClouds Debian-arkiver. Start en terminal og tilføj OwnCloud-arkiverne med:
$ wget http://download.opensuse.org/repositories/
isv:OwnCloud:community/Debian_7.0/Release.key
$ sudo apt-key add -  Release.key
Nu kan du opfriske arkiverne med:
$ sudo apt-get update
Installer nu OwnCloud-serveren og alle de krævede dele således:
$ sudo apt-get install owncloud.
Dette inddrager og opsætter også MySQL-databasen, og du bliver bedt om at vælge et rod-kodeord.
Foruden at installere de krævede komponenter konfigurerer den ovenstående kommando automatisk Apache-webserveren, så den kan tale med OwnCloud-installationen. Du skal aktivere visse Apache-moduler. I en terminal skriver du:
$ sudo a2enmod headers rewrite env
Så genstarter du Apache med:
$ sudo apachectl restart.
Du skal justere php-konfigurationsfilen, hvis du vil uploade filer, der er større end 2 MB. Det gør du ved at åbne php-konfigurationsfilen ‘php.ini’, der ligger under ‘/etc/php5/apache2’, i en tekstbehandler. Find ‘upload_max_filesize’ og ‘post_max_size variables’, og skift tallet fra ‘2M’ til for eksempel ‘1024M’ eller endda ‘2G’. På større installationer kan du også installere acceleratoren APC for at gøre Own-Cloud-installationen hurtigere. Træk komponenterne ind med “sudo apt-get install php-apc”, og åbn så APC’s konfigurationsfil. Tilføj:
$ sudo nano /etc/php5/conf.d/20-apc.ini
extension=apc.so apc.enabled=1 apc.shm_size=12M
Bring nu cachen online ved at genstarte Apache med:
$ sudo apachectl restart

3 Og nu til drevet
Nu, da serveren er konfigureret, er tiden inde til at forberede dit lagermedium. Slut USB-disken til din Pi, og skriv “sudo blkid” i en terminal. USB-disken er sandsynligvis konfigureret som ‘/dev/sda1’, hvis du ikke har tilsluttet andre USB-diske. Noter den tilsvarende UUID, der er noget i retning af ‘6154-F660’. Opret nu en mappe til drevet ved hjælp af:
$ sudo mkdir /media/owncloud
Konfigurer så drevet med:
$ sudo mount -t vfat -o umask=007,auto,uid=33,gid=33 /dev/sda1 /
media/owncloud
Denne kommando forudsætter, at dit drev har et fat32-filsystem og begrunder sig på ‘/dev/sda1’. Når drevet er konfigureret korrekt, kan du redigere ‘fstab’-filen, så den bliver automatisk konfigureret:
$ sudo nano /etc/fstab
UUID=6154-F660 /media/owncloud/ vfat
rw,umask=007,auto,uid=33,gid=33 0 0

4 Konfigurer din Cloud
Der er alt, hvad der skal til for at installere serverkomponenterne. Nu er du klar til at konfigurere din cloud. Start en webbrowser, og naviger til OwnCloud-installationen ved ‘192.168.3.111/owncloud’. Da dette er en splinterny installation, bliver du bedt om at oprette en ny brugerkonto for OwnCloud-administratoren.

Nu skal vi bede OwnCloud bruge MySQL-databasen og gemme filer på det tilsluttede USB-drev. Det gør vi ved at klikke på rulle-menuen ‘Storage & Database’. Skriv så “/media/owncloud/data” i tekstboksen ved ‘Data Folder’, og vælg ‘MySQL/MariaDB’ i sektionen ‘Database’. Du bliver bedt om at skrive databaseserverens forbindelsesoplysninger. Skriv blot “localhost” som vært plus det kodeord, du konfigurerede, da databasen blev inddraget sammen med OwnCloud. Det var det – du har konfigureret OwnCloud. Nu kan du logge ind på din cloudserver som administrator med de oplysninger, du netop har oprettet.

5 Skift indstillinger
Du kan begynde at bruge serveren til at uploade og downloade filer med det samme, men lad os lige få orden i sagerne. Når du logger ind i OwnCloud-serveren, skal du klikke på rullemenuen ved siden af dit brugernavn og klikke på ‘Personal’. Her kan du ændre din kontos indstillinger såsom login-kodeord, og skærmnavn. Du kan også tilføje et profilbillede og konfigurere, hvordan du vil have besked om bestemte handlinger [Billede B].

AOD17_cloud02

Hvis din cloud skal bruges af flere personer, er det tilrådeligt at tilføje brugere og organisere dem i forskellige grupper. Det gør du ved at vælge funktionen ‘Users’ fra rullemenuen. Når du tilføjer brugere, kan du begrænse deres lagerplads og også dele dine administratorrettigheder med andre brugere. Du kan også markere bestemte brugere som administratorer for en bestemt gruppe.

6 Upload og del Filer
Nu er du parat til at uploade data i din OwnCloud-server. Efter at du har logget ind, er du i sektionen ‘Files’ [Billede C]. Du uploader en ved at klikke på pileknappen. Når du skal organisere filer i mapper, klikker du på knappen ‘New’ og vælger ‘Folder’ option fra rullemenuen. Opret her en ny mappe.

AOD17_cloud03

Hvis du har uploadet en fil i et format, som OwnCloud forstår, kan du klikke på dens navn og derefter se og redigere filen. OwnCloud kan visualisere sine data på forskellige måder. Klik for eksempel på rullemenuen ‘Files’ øverst til venstre, og vælg ‘Pictures’. Nu kan du se billeder i din cloud ved at bortfiltrere alle andre former for indhold.
En anden måde at uploade filer til serveren på består i at bruge WebDAV-protokollen, hvormed man kan tilgå sin cloudserver fra Filhåndtering. Man kan for eksempel under ‘Files’ trykke [Ctrl]–[L] for at finde en placering. Her kan man pege på sin egen OwnCloud-server såsom ‘dav://192.168.3.111/owncloud/remote.php/webdav’. Når den er verificeret, kan man interagere med OwnCloud-lageret ligesom med en almindelig mappe.

Når du vil dele uploadede filer, går du simpelthen til ‘Files’-sektionen i web-interfacet og lader musen hvile over den fil eller mappe, du vil dele. Nu får du flere muligheder, herunder ‘Share’, der gør det muligt at vælge, hvilke brugere eller grupper du vil dele sagen med, og om du vil give dem tilladelse til at redigere og slette filerne.
Du kan også dele med nogle, der ikke er registreret med din OwnCloud-server. Klik på ‘Share with Link’, så viser OwnCloud et link til sagen, som du kan dele med alle på internettet. Man kan også kodeordsbeskytte linket og vælge en udløbsdato [Billede D].

Man kan interagere med sin cloud ved hjælp af web-interfacet, men det er langt nemmere at bruge en af dets officielle klienter. OwnCloud har klienter til alle de vigtigste desktop-platforme og mobile platforme. Med disse klienter kan du også nemt synkronisere mapper fra skrivebordet til din OwnCloud-server.

7 Opsætning af klienter
De fleste desktop-distributioner rummer Linux-klienten i deres officielle lagre. Man kan også hente den nyeste udgave ved at tilføje det tilsvarende lager herfra:
http://bit.ly/1HZxhOy. På siden er der instruktioner til populære distroer som Debian, Fedora, Ubuntu, OpenSUSE og andet.
Gå til https://owncloud.org/install/#install-clients, der er downloadsiden på OwnClouds website. Her kan du downloade klienter til andre platforme. Det er bedst at hente mobile klienter fra
Apples App Store eller Googles Play Store.

Når klienten er installeret, beder den om login-oplysninger, før den opretter forbindelse til OwnCloud-installationen. Når der er forbindelse, opretter Linux-klienterne en lokal synkroniseringsmappe ved navn ‘owncloud’ under hjemmemappen, for eksempel ‘/home/bodhi/owncloud’. De filer, du flytter ind i denne mappe, bliver automatisk synkroniseret til serveren. Du kan også specificere en eller flere mapper på en lokal maskine, som skal synkroniseres med OwnCloud-serveren.

Hvis en mappe bliver delt af flere brugere, bliver enhver ændring af en fil på én computer automatisk indført på de andre. Under samarbejde med andre brugere kommer man til at sætte pris på OwnClouds versionskontrol-system, der tager backup af filer, før de bliver ændret. Disse backups er tilgængelige via Versions-funktionen, og der er en Restore-knap, der fører tilbage til en ældre udgave.
Foruden filer og mapper kan man også få sin kalender og adressebog synkroniseret med sin OwnCloud-server.

8 Installer og aktiver APPS
Du kan udvide din OwnCloud-installation ved at tilføje (eller fjerne) en række apps. Hent rullemenuen i øverste venstre hjørne af brugerfladen, og klik ‘Apps’. Du får nu en liste over apps, der allerede er aktiveret på din installation [Billede E]. Du kan blade gennem denne liste og læse beskrivelserne. Du kan også deaktivere apps i denne sektion.

AOD17_cloud04

Blad ned, og klik på fanen ‘PIM’ til venstre [Billede F]. Denne sektion opregner to apps. Du kan aktivere den ene eller både Calendar- og Contacts-appsen. Når du har aktiveret dem begge, omfatter rullemenuen nu funktionerne Calendar og Contacts.

AOD17_cloud05
Nu skal du importere dine kontakter og din kalender fra dine eksisterende apps til din cloudserver. OwnCloud understøtter det populære vCard-filformat (med efternavnet .vcf) og næsten alle populære e-mail-apps, herunder onlinetyper som Gmail, og eksporterer deres adressebøger i dette format.

På samme vis kan man importere kalendere i iCal-format. Før du går videre, skal du sikre dig, at du downloader både .vcf- og .ical-filerne fra dine eksisterende kontakt- og kalender-apps.
Gå nu til Contacts i OwnCloud, og klik på ‘Import Contacts’. I pop op-vinduet klikker du ‘Upload File’ og peger på .vcf-filen. Når kontakterne er blevet importeret, kan du synkronisere dem med dine e-mailklienter ved hælp af CardDAV-links. Gå til ‘Contacts’-sektionen i OwnCloud, klik på tandhjulikonet forneden, før musen over navnet på den adressebog, du har importeret, og klik på ikonet ‘Chain’. Det udløser et CardDAV-link til denne adressebog, som du kan give til din stationære eller mobile adressebog-klient.

9 Synkroniser og del din kalender
Du kan også bruge OwnCloud til at styre din kalender og dine aftaler. Hvis du vil oprette en begivenhed i din kalender, går du til Calendar-appen. Du kan se en kalender for hele måneden eller for den aktuelle uge. Klik på den relevante dato i kalenderen. Det åbner et nyt vindue, der giver flere muligheder for at konfigurere begivenheden. Hvis du vil importere en eksisterende klient, skal du blot uploade .ical-filen til din cloud-server. Når du klikker på filen i OwnClouds web-interface, genkender serveren filen og tilbyder at importere den til en eksisterende kalender eller en ny. Vælg den mulighed, du foretrækker.

Efter at du har importeret kalenderen, kan du bruge OwnCloud til at dele den med andre brugere. Klik på ikonet ‘Share Calendar’ i overensstemmelse med den kalender, du vil dele. Det udløser en rullemenu, der giver mulighed for at vælge de brugere eller den brugergruppe, du vil dele kalenderen med. Desuden kan Own-Cloud også synkronisere dine kalendere med stationære og mobile apps, som kan læse denne information fra CalDAV-links. Hvis du vil have CalDAV-linket til din kalender, klikker du på tandhjulknappen og kædeikonet, der svarer til den kalender, du vil synkronisere. Det viser det link, som du kan give videre til klienterne, så de er synkroniseret med OwnCloud-kalenderen.

Man kan gøre meget mere med OwnCloud. Udforsk ‘Apps’-menuerne, og find andre måder at udvide standardinstalla-tionen på og øge cloudtjenestens anvendelighed. Foruden de apps, der er nævnt i Apps-sektionen på din OwnCloud-installation, er der andre, som du kan installere fra OwnClouds website. Blad ned i Apps-sektionen, og klik på linket ‘More Apps…’. Så kommer du til OwnCloud-butikken på http://apps.owncloud.com [Billede G]. Du kan downloade enhver app herfra og udpakke den under ‘/var/www/owncloud/apps’-mappen inden i Pi.

AOD17_cloud07

Færdiglavede løsninger

Det tager ikke lang tid at installere og konfigurere en OwnCloud-server fra grunden, men der er et par muligheder for at spare tid og besvær. Folkene bag PetRockBlog har lavet et script, der automatiserer hele installationsprocessen.

Dette script downloader og lægger en OwnCloud-installation oven på en Raspbian-distribution. Men i modsætning til denne guide bruger scriptet en Nginx-webserver i stedet for en Apache-webserver. Før du kan bruge scriptet, skal du installere de fornødne komponenters med:
$ sudo apt-get install git dialog
Download derefter scriptet med:
$ git clone git://github.com/petrockblog/
OwncloudPie.git
Som opretter en mappe ved navn OwncloudPie. Flyt ind i denne mappe:
$ cd OwncloudPie
Gør scriptet eksekverbart:
$ chmod +x owncloudpie_setup.sh
Eksekver det:
$ sudo ./owncloudpie_setup.sh
Giv det nogen tid til at downloade alle komponenterne og konfigurere din server. Når du har installeret OwnCloud fra dette script, kan du køre det igen for at opdatere, når der kommer nye versioner.

Hvis du har vovemod, kan du installere arkOS (https://arkos.io/) på din Raspberry Pi. Foruden OwnCloud har distroen andre apps, der hjælper med at holde styr på dine data. Gå til downloadsiden. Download og udpak installationsprogrammet til Raspberry Pi. indsæt et SD-kort, og kør installationen med:
$ sudo ./arkos-install
Følg trinene, og download imaget fra internettet. Installer det på dit SD-kort. Når det er sket, booter du din Raspberry Pi fra det og går til http://arkos:8000 for at konfigurere din server.

Universel Adgang

Den helt store fordel ved kommercielle cloudtjenester som Dropbox er, at man kan få adgang til data fra en hvilken som helst netforbundet computer. Derimod er en selv-hostet OwnCloud-installation kun tilgængelig fra computere og enheder i det lokale netværk.

Det betyder ikke, at man ikke kan få adgang til sin private cloud fra internettet. Den sværeste og dyreste løsning består i at få en statisk ip-adresse fra netudbyderen og bore huller i routerens firewall. Man kan også oprette Dynamic DNS i router eller en lokal maskine.

Den fikse metode består imidlertid i at bruge en tunnel-tjeneste som PageKite. Denne tjeneste bruger en betal hvad du vil-model. Som ikkekommerciel bruger kan man bruge tjenesten gratis, hvis man hver måned udfylder en formular, der fortæller PageKite, hvordan man bruger tjenesten. Hvis det lyder for bøvlet, er det bestemt værd at betale de tre dollar om måneden, som er minimumsprisen.

Først skal du installere PageKite. Start en terminal, og skriv:
$ curl -s https://pagekite.net/pk/ | sudo
bash
Når det er gjort, skal du gøre din lokale webserver offentlig ved at skrive denne kommando:
$ pagekite.py 80 mycloudserver.
pagekite. me
Husk at erstatte ‘mycloudserver’ med det navn, du bruger til din OwnCloud-server. Nu kan du få adgang til din egen personlige OwnCloud-udgave ved at gå til
http://mycloudserver.pagekite.me fra en hvilken som helst computer, hvor som helst i verden.
Første gang du kører denne kommando, fører PageKite dig igennem sin korte login-proces og beder dig om din e-mailadresse.