For første gang så delte jeg bilder (som i bunn og grunn ikke var mine), med noen. Brukte da Google-Drive. Grunnen var jo ganske rimelig. Man får bare sendt mail med vedlegg med maks størrelse 25Mb. Men etterhvert så har jeg begynt å bli mindre og mindre glad i Google. Om det er grunnløse grunner eller ikke er ikke godt å si, men man tar valg. Google har mange finne tjenester. Ingen tvil om det. Men man mister litt oversikt over hva "terms og agreement" går utpå, og man "hører man mye".

Men i aller tilfelle så tenkte jeg at jeg skulle prøve å finne en "Open-source" nettsky. Det var ikke så vanskelig. Tok den første jeg fant i "google-søket". Nettskyen heter "ownCloud". Skrevet i PHP og bruker MySQL(også SQLite, men ikke recommended. Til og med for en-bruker bruk). Dette passet meg veldig fint for jeg har stort sett det meste installert når det kommer til PHP-bibliotek, samt at jeg bruker MySQL selv. Nå viser det seg at når det komemr til installasjon til de forskjellige Linux-distribusjonene så er det ikke så forskjellig. Iallefall ikke når man bruker PHP og MySQL. Kan hende stiene blir litt annerledes, men stort sett så er det ikke noen problem. Nå er det jo slik at jeg bruker Opensuse 12.3 og de har en fin installasjons-mekanisme med YAST...eller man kan bruke "1-click" mekanismen(hvis du bruker Firefox). 

Spiller forsåvidt ingen rolle hva man bruker. Jeg brukte "1-click" i Firefox. Det som er fint med installasjoner gjennom YAST er at hvis man mangler noe for å installere en minimal installasjon så sier den ifra, og man må godkjenne å installere alle andre pakker. Genialt. Men det er alltids morsomt å finne ut hvordan dett gikk med installasjonen. Det er lissom ikke sånn at man får så mye informasjon om hva eller hvor ting har blitt installert. Man kan selvfølgelig sjekke gjennom YAST og se hva slags filer som er blitt installert hvor i etterkant, men  det pleier jeg ikke. Syns det er moro å gjette frown. Jeg fant en fin side som fortalte meg "step-by-step", hva som måtte konfigureres. Men den siden finner jeg ikke igjen. Det står "noe greier" på ownCloud sine sider, men det er litt tynt følte jeg. Men det jeg måtte gjøre kan jeg lage ei liste av her og nå(i korte trekk):

  1. Lag en ny database i MySQL
  2. Lag en bruker som har tilgang til databasen.
  3. Lag en ny virtual host konfigurasjons-fil for domenet man skal sette opp ownCloud på.

Tror faktisk dette var det eneste jeg gjorde. Jeg la til "mod_rewrite" i Apache. Dette ble gjort i etterkant, fordi jeg også la til SSL-tilkobling. Følte jeg trengte litt sikkerhet og "privacy" når man logger inn her.

Etter å ha gjort (1) og (2), ble jeg nysgjerrig. Gikk rett inn i rota på web-sidene mine. Der lå det nå en ny "folder": "ownCloud". Nydelig. Da er det bare å begynne med (3). Ikke så veldig stor forskjell fra norskesøk-domenet mitt. Bare å forandre noen stier og navn. Nedenfor er litt av konfigurasjonen:

<VirtualHost *:443>
    ServerAdmin This email address is being protected from spambots. You need JavaScript enabled to view it.
    ServerName cloudy.xn--norskesk-c5a.no
    ServerAlias www.cloudy.xn--norskesk-c5a.no
    DirectoryIndex index.php
    # DocumentRoot: The directory out of which you will serve your
    # documents. By default, all requests are taken from this directory, but
    # symbolic links and aliases may be used to point to other locations.
    DocumentRoot /srv/www/htdocs/owncloud

Ganske rett fram. I tillegg så måtte jeg:

  1.  legge til cloudy.xn--norskesk-c5a.no inn i DNS registeret
  2. route requests til 443 porten til riktig maskin
  3. åpne 443-porten i brannmuren

Når alt dette er gjort så er man klar til å teste om ting fungerer. Jeg gikk rett inn i index-sida. Skrev bare cloudy.norskesøk.no i nettleseren(hvis jeg ikke husker helt feil), og så måtte jeg skrive inn navnet på databasen, brukernavn og passord. That's it folks! Det fungerte helt fint.

Kom rett inn i en tjeneste som jeg var litt usikker på hva jeg skulle bruke til eller hvordan laugh. Jeg hadde jo en viss anelse: 

  1. Dele filer med andre og meg selv slik at det alltids er tilgjengelig(bilder og musikk)
  2. Ikke være begrenset til 5 Gb (som Google drive)

Det som slo meg med en gang når jeg kom inn var at den eneste måten jeg kunne indeksere filer på var å laste opp filer. Tenkte at jeg skulle prøve noe annet enn det og laget en "soft link" til musikk-katalogen i data-mappa mi, gikk inn i owncloud igjen og hva står det der? Jo navnet på musikk-katalogen, samt at den holdt på å indeksere all dataen. Gjorde det samme med bilde-katalogen min. Så startet den å indeksere disse og. Nr alt dette var gjort så var det bare å begynne å utforske: Man kunne opprette brukere og adminer, Lage grupper, osv. Man kunne dele filer/kataloger med brukere eller man kunne sende dele-linker til en e-post. Dette var akkurat det jeg var ute etter. Har ikke helt fått oversikten over de forskjellige plugins tli denne her, men de som er default er helt greit. Det er til og med en liten media-spiller som kan spille musikk og video'er. Nyttig. Testet om det fungerte fra en kamerat og den innebygde mediaspilleren streamet helt fint. 

En siste ting jeg installerte/la til, var kryptert tilkopling:

Det første man må gjøre er å få Apache til å forstå hvilken port den skal lytte til. På min Apache-konfigurasjo så har jeg ei listen.conf som jeg kan konfigurere, og her må jeg legge til disse to linjene:

Listen 443
NameVirtualHost *:443

Jeg har også en egen konfigurasjons-fil for virtual-hosts. Her kan jo navnet være ymse men jeg pleier å kalle konfigurasjons-fila for "domene_navn.conf". Vi må fortelle systemet at denne serveren "ligger på" port 443:

<VirtualHost *:443>

Neste punkt er å få laget et sertifikat(helst fra et klarert firma som driver med slikt. Ellers så kan man lage selv-signert-sertifikat. Dette fungerer og, men da kan det hende at folk blir skeptiske når de kommer inn på siden og nettleseren begynner å fortelle deg hvor forferdelig og usikkert dette nettstedet er. Er det bare du som skal bruke det så er det ikke noe problem. Da er det bare å signere i veg og så få det unnagjort. En grei opplysnings-side fra openssl.org kan man finne her. Vil man prøve noe annet, som er gratis/enkel og grei så er vel www.startssl.com en grei plass å starte på. Her produserer de nøkler og sertifikat som er signert av dem(klarert tredjepart). Har man problemer med installasjonen så er det en side fra digicert som kan sjekke siden din og komme med tips om hva som er galt. Summa sumarum:

Så hva må man gjøre i Apache-konfigurasjonen?

Da er det opp med virtuelle-host konfigurasjons-fila igjen. Jeg skal gjøre det kort og bare viser hvordan min konfigurasjon ser ut:

<VirtualHost *:443>
    SSLEngine On
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:HIGH:+MEDIUM
    SSLCertificateFile /path_to_certificate_file/cloudy.crt
    SSLCertificateKeyFile /path_to_certificate_key_file/cloudy.key
    SSLCertificateChainFile /path_to_certificate_chain_file/sub.class1.server.ca.pem

Før du installerer filene i riktig bane er det greit å sjekke om filene er "tilhørende". Dette kan man gjøre med openssl-kommandoen og parameteren -modulus:

openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in privateKey.key | openssl md5
openssl req -noout -modulus -in CSR.csr | openssl md5

Hvis du får ut samme md5-sum på alle filene så er alt gjort riktig. Og hvis alt er gjort riktig så skal man kunne gå rett inn på siden uten problemer/spørsmål angående sikkerheten av siden. Min side ble seendes slik ut, og så håper jeg at jeg har husket å skrive alt som er nødvendig. Lykke til smiley

https://cloudy.norskesøk.no

Bare for å nevne en siste ting: Tenkte at det kunne være greit å bli omdirigert til den sikre siden hvis man glemmer å skrive "https" som protokoll. Dette er jo veldig greit da man begynner å bli late i disse dager og skriver bare domenet i adresse-linja. Problemet ligger jo i det at hvis man skriver bare domenet i adresselinja så havner man på hoved-domenet eller man får en feil-melding om at denne siden finnes ikke. For min del så havnet folk/jeg i hoved-domet som er norskesøk.no. Dette er jo ikke ønskelig. Av den grunn så ble jeg nødt til å gå inn i konfigurasjons-fila for norskesøk og legge til et par ting. Og man må sørge for at man har installert "rewrite"-modulen. For min del kan jeg legge denne til "loadmodule.config".

  1. Legge til denne linjen i loadmodule.config:
    LoadModule rewrite_module                 /usr/lib64/apache2-prefork/mod_rewrite.so
    
  2. Åpne konfigurasjons-fila for den aktuelle "hosten" og legger til følgende linjer:

    <VirtualHost *:80>
        ServerAdmin This email address is being protected from spambots. You need JavaScript enabled to view it.
        ServerName xn--norskesk-c5a.no
        ServerAlias www.xn--norskesk-c5a.no
            RewriteEngine on
            RewriteCond %{HTTP_HOST} =cloudy.xn--norskesk-c5a.no
            RewriteRule (.*) https://cloudy.xn--norskesk-c5a.no
    ...............
    ...............
    

    Linje 5: Setter på omskrivnings-modulen
    Linje 6: Tilstand for at regelen skal gjelde. Her: Hvis en request på http://cloudy.xn--norskesk-c5a.no skulle forekomme
    Linje 7: Selve regelen: Skriv om til
    https://cloudy.xn--norskesk-c5a.no 

Mao: Hvis en request etter http:{HOST} skulle forekomme skriv om til https://{HOST}

Nå er jeg ferdig...