Följande är en beskrivning av hur jag installerade MongoDB på Windows Server 2012, men proceduren ska vara i stort sett likadan för alla Windows Vista/Server 2008 SR2 eller senare.
Med installation av MongoDB så är det nedan punkter jag kommer gå igenom.
- Ladda ner och installera MongoDB
- Verifiera att MongoDB fungerar
- Installera MongoDB som en Windows Service
- Slå på autentisering
- Skapa ny användare och testa uppkopplingen
Ladda ner och installera MongoDB
Börja med att ladda ner den version av MongoDB som passar din miljö. Om du använder dig av Chocolatey så finns inte senaste versionen, men mongodb.core.2.6 är det mest aktuella paketet när detta skrivs.
Ändra installationskatalog
Installationen i sig är rakt fram, bara dubbelklicka på msi-paketet. MongoDB kommer installeras under C:\Program Files\MongoDB 2.6 Standard om du inte ändrar. Du kan installera i vilken katalog som helst. Om du vill ändra så välj Custom.
Förbered sökvägar
MongoDB behöver en plats att lagra databaserna. Om du inte ändrar något så är platsen satt till c:\data\db. Dessa kataloger skapas inte vid installationen så de behövs skapas. Det gör du antingen via utforskaren eller så kan använda en kommandoprompt (start -> skriv ”cmd” -> Tryck retur):
md data md data\db
För att ange en alternativ sökväg för databaserna så kan göra det vid uppstart av MongoDB
C:\mongodb\bin\mongod.exe -–dbpath d:\test\mongodb\data
eller via konfigurationsfilen (mer om den senare).
storage.dbPath
Verifiera att MongoDB fungerar
För att verifiera att installationen lyckats och MongoDB fungerar så dra igång en kommandoprompt. Därefter navigera till din installationskatalog och starta servern (mongod.exe):
C:\>cd c:\MongoDb\bin C:\MongoDb\bin>mongod
Nu är förhoppningvis servern igång och vi kan kontrollera det genom att öppna en till kommandoprompt och starta MongoDB shell:
C:\>cd c:\MongoDb\bin C:\MongoDb\bin>mongo MongoDB shell version: 2.6.3 connecting to: test
Om inget konstigt har inträffat så är du uppkopplad mot din MongoDB-server och kan lägga till lite testdata och läsa ut igen för att se att allt stämmer
> use test
switched to db test
> db.test.insert( {”hello”:”world”} );
> db.test.find();
{ ”_id” : ObjectId(”4f33df871c81e6d645a53dd3″), ”hello” : ”world” }
Om det ser ut liknande ovan så har installationen lyckats. För att avsluta MongoDB shell skriv exit.
> exit bye C:\MongoDB\bin>
Installera MongoDB som en Windows Service
För att slippa starta MongoDB manuellt vid uppstart så är det lämpligt att installera MongoDB som en Windows Service.
Skapa kataloger
För att köra MongoDB som en service behövs en plats för logfilen och en plats för konfigurationsfilen. Dessa kan du själv välja var de ska lägga men lämplig plats är i underkataloger till din MongoDB-katalog.
md C:\mongodb\log md C:\mongodb\conf
Konfigurationsfil
Öppna en texteditor och kopiera in följande i filen och spara sedan i din nyligen skapta konfigurationskatalog. Döp filen till mongod.cfg:
systemLog:
destination: file
path: "C:/MongoDB/log/mongodb.log"
quiet: false
logAppend: true
net:
bindIp: 127.0.0.1
port: 27017
Förklaring av konfigureringen:
- systemLog:
- destination: file – Loggar till fil
- path: ”C:\MongoDB\log\mongodb.log” – Platsen för loggfilen
- quiet: false – Vilka händelser som ska loggas, false är fler
- logAppend: true – Vid omstart av MongoDB så skrivs nya loggpostern i slutet av filen istället för att rensa filen och börja om.
- net:
- bindIp: 127.0.01 – Den IP-adress som MongoDB ska lyssna på. Flera adresser listas med kommatecken.
- port: 27017 – Porten som MongoDB ska lyssna på (27017 är standard)
Installera mongod som Service
Det som återstår är att installera MongoDB som en service och starta den. Det som MongoDB behöver veta är platsen på konfigurationsfilens och att du vill installera den som en Windows Service. Det görs enklast via kommandoprompten
C:\mongodb\bin\mongod.exe -–config C:\mongodb\conf\mongod.cfg –-install
Det så återstår är att starta MongoDB som service. Det gör du antingen via Tjänster eller eftersom vi ändå gjort oss bekväma med kommandoprompten:
net start MongoDB
Om det är något problem med att installera eller starta MongoDB som service så är det antagligen sökvägen till konfigurationsfilen som är felaktig, eller informationen i konfigurationsfilen som är felstrukturerad eller har ogiltiga värden.
Slå på autentisering
Än så länge kan MongoDB bara nås via datorn som den är installerad på (127.0.0.1 är localhost det vill säga den lokala datorn). Om du behöver nå datorn via nätverket så är det lämpligt att slå på autentisering så inte vem som helst kan läsa och skriva till databasen. Även det görs via konfigurationsfilen. Lägg till följande i slutet av konfigurationsfilen:
security:
authorization: enabled
För att göra serven tillgänglig på dess yttre IP-adress så behöver du först ta reda på vilken IP-adress det är. Det är enklast genom att köra ipconfig i kommandoprompten och leta fram den externa IP-adressen:
![]()
Den adressen läggs sedan till i bindIp-alternativet i konfigurationsfilen:
net:
bindIp: 127.0.0.1, 192.36.166.133
port: 27017
Det som nu behövs göras är att logga på MongoDB lokalt och skapa upp en administrationsanvändare. Det går bra att logga på MongDB lokalt för just detta ändamål även fast du inte är autentiserad. Starta upp en ny instans av Mongo Shell och när du är påloggad så skapa administrationsanvändaren på följande sätt:
use admin
db.createUser(
{
user: "userAdmin",
pwd: "password",
roles:
[
{
role: "userAdminAnyDatabase",
db: "admin"
}
]
}
)
Det är viktigt att administrationsanvändaren endast har rollen userAdminAnyDatabase.
Logga på MongoDB som administrator
Börja med att köra exit i Mongo Shell för att avsluta föregående uppkoppling. Nu kan vi logga på MongoDB som administrator. Det görs via -u <användare> -p <lösenord> admin. Den sista parametern admin är vilken databas som ska kopplas upp mot och måste i detta läge vara satt till admin.
C:\MongoDB\bin>mongo.exe -u userAdmin -p password admin MongoDB shell version: 2.6.3 connecting to: admin
Skapa ny användare och testa uppkopplingen
För att skapa en användare med rättigheter för att både läsa och skriva så används rollen readWrite. Det är samma metod som ovan för att skapa användare som gäller. Vi skapar en test-användare med tillgång till test-databasen.
> db.createUser({user: "test", pwd: "test", roles: [{role: "readWrite", db: "test" }]})
Successfully added user: {
"user" : "test",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
Det finns många andra roller i MongoDB men jag går inte in på dessa här. Du kan läsa mer om de inbyggda rollerna här.
Öppna upp brandväggen
Starta den avancerade vyn över Windows-brandväggen. Det görs enklast via start -> WF.msc -> tryck enter. Väl där så skapa och aktivera en ny regel för inkommande trafik på TCP-port 27017.
![]()






Nu kan du testa att nå databasen från en extern dator via den nya test-användaren. Utöver -u och -p så behövs server-adressen anges vilket görs tillsammans med databasnamnet.
c:\MongoDB\bin>mongo -u test -p test 192.36.166.114/test MongoDB shell version: 2.6.3 connecting to: 192.36.166.114/test
Nästa inlägg blir på hur man använder MongoDB från C#.


En reaktion på ”Installera MongoDB på Windows Server”