top of page
Edument

Hur du installerar RavenDB på en virtuell maskin i Azure (steg för steg - del 3)


Tredje delen i guiden!


Det här en guide i tre delar för dig som, likt rubriken säger, vill installera RavenDB på en virtuell maskin i Azure. Låter det klurigt? Då kanske du har missat ta dig del 1 och del 2 av guiden.



Logga in till RavenDB från din utvecklingsmaskin

Låt oss nu prova öppna RavenDB studio från vår lokala utvecklingsmaskin. Det första vi gör är att skriva in följande adress i vår browser (där IP-adressen är den publika IP-adressen för vår RavenDB server):

Men vi ser följande fel, varför?



Problemet är att vi nu och framöver alltid måste skriva hela domänens namn, hur ska browsern annars veta att vi pratar med rätt server? Skriv hela RavenDB-domännamnet istället:



Nu slapp vi det felet, men får istället ett annat felmeddelande:



Vad nu?

För att autentisera en användare använder vi inte ett traditionellt användarnamn/lösenord som man skulle kunna tro, istället använder vi client-side certificates. Låter det skrämmande? Kopiera administratör-certifikatet som genererades på servern till din lokala maskin och packa upp det. Du kommer se följande filer:



För att installera certifikatet lokalt på din maskin, dubbelklicka på Personal Information Exchange filen (.pfx) och klicka Next på alla installationssteg. Försök inte importera .crt-filen!

När importen är klar stäng alla instanser av Chrome och starta den sedan igen. Navigera till din RavenDB-instans, i detta fallet:


Om certifikatet har blivit importerat korrekt kommer du se denna dialog:



Klicka OK så kommer du in!



Exempeldatabas

För att klara av vår uppgift behöver vi såklart lite data att fråga efter. Utvecklarna av RavenDB har fantastiskt nog lagt in ett verktyg som populerar vår databas med data från den ökända Northwind-databasen från Microsoft.


I RavenDB Studio skapar vi först en ny databas och döper den till Northwind.



Klicka på Create gå sedan till Settings-menyn där det finns en möjlighet att Create Sample Data.



När genereringen är klar kan du gå till Documents view för att se all nyskapade dokument:




Skapa en användare

Innan vi börjar nyttja databasen från .NET behöver vi skapa en användare. Vi vill absolut inte köra som administratör i klienten! Det vore en dålig idé och också en stor säkerhetsrisk.


Så, vi navigerar till Manage Server -> Certificates-sidan i RavenDB Studio.


Sedan klickar vi på “Generate client certificate”-valet under Client certificate-droplistan:



Vi fyller i formuläret och väljer Northwind-databasen och för denna databas väljer vi Adminsom rättigheter. Vi behöver ha administratörsrättigheter i Northwind-databasen för att vi kanske vill skapa våra egna indexes från klienten. Du kan läsa mer om databas-rättigheter här.


(Vi skriver edument som certifikatets passphrase)


Klicka på Generate och efter några sekunder har ett nytt certifikat genererats och laddats ner av din browser. Flytta den nedladdade filen till en mer permanent plats, i mitt fall väljer jag att lägga alla mina certifikat i c:\Edument\Certificates


Packa upp .ZIP-filen och du bör se följande filer:



Azure key vault och RavenDB certifikat Om du försöker importera certifikat som genererats av RavenDB in till Azure Key Vault så kan du stöta på problem i portalen. Då kan du försöka att använda ett namn på certifikatet med bara små bokstäver och/eller inte använda en certificate passphrase


Anropa databasen från .NET Core

Skapa en ny .NET Core console-applikation i Visual Studio och lägg till RavenDB.Client NuGet-paketet:


Därefter behöver vi lägga till de Northwind C#-klasser som representerar dokumenten i databasen, dessa kan hittas på samma sida i RavenDB studio där du genererade exempeldatan.


(Kopiera bara filerna till ditt projekt)


Lägg därefter till följande kod i din Main-metod:



Om du kör applikationen nu bör du se en lista över de 100 första företagen i databasen, sorterade på deras namn:



Det var allt! Vi har lyckats installera RavenDB och på ett säkert sätt kopplat upp mot databasen från en .NET Core-applikation. Uppdraget slutfört!


Har du några frågor eller fundering? Kom du på något smart som jag inte har tänkt på vid installationen? Hör i så fall gärna av dig på tore@edument.se så kan vi diskutera det vidare.



Om författaren

Tore Nestenius har passion för arkitektur, .NET och Webbsäkerhet. Enligt Tore “går det inte att förklara något för någon annan utan att förstå det själv först”. Han är ena grundaren till Edument och han är ofta på resande fot både i Sverige och utomlands för att hålla utbildningar.

0 kommentarer

Senaste inlägg

Visa alla

Comments


bottom of page