A GPG hozzáadásához parancssorban futtasd a következő utasítást:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Az alábbi sorral egészítsd ki a /etc/apt/sources.list fájlt:
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
Frissítsd a csomag indexeket:
sudo apt-get update
Majd installáld:
sudo apt-get install mongodb-10gen
Ha sikerült a telepítés, akkor hozzunk létre felhasználókat. Először az administrator felhasználót. Ez a felhasználó egy speciális admin adatbázisban van. Ha nincs admin felhasználó, akkor localhost-on hozzá lehet férni az adatbázishoz hitelesítés nélkül. Admin user hozzááadása:
user@server:~$ mongo
MongoDB shell version: 2.0.0
connecting to: test
> use admin
switched to db admin
> db.addUser("admin", "XXXXXXXX")
{ "n" : 0, "connectionId" : 6, "err" : null, "ok" : 1 }
{
"user" : "admin",
"readOnly" : false,
"pwd" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"_id" : ObjectId("4e7096fd4d8c51f6a44371e1")
}
> db.auth("admin", "XXXXXXXX")
1
Felhasználó hozzáadása másik adatbázishoz:
> use mydb
switched to db mydb
> db.addUser("other_user", "XXXXXXXX")
{ "n" : 0, "connectionId" : 6, "err" : null, "ok" : 1 }
{
"user" : "other_user",
"readOnly" : false,
"pwd" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"_id" : ObjectId("4e7097fe4d8c51f6a44371e2")
}
> db.auth("other_user", "XXXXXXXX")
1
>
readonly felhasználó hozzáadása:
> use mydb
switched to db mydb
> db.addUser("readonly_user", "XXXXXXXX", true)
Ha mindez sikerült, akkor nyissuk meg a /etc/mongodb.conf fájlt, keressük meg az alábbi részt és az #auth = true elől vegyük ki a hashmark-ot:
. . # Enables periodic logging of CPU utilization and I/O wait #cpu = true # Turn on/off security. Off is currently the default #noauth = true #auth = true # Verbose logging output. #verbose = true . .
Majd indítsuk újra a mongodb-t:
sudo /etc/init.d/mongodb restart
Ha sikerült teszteljk le:
user@server:~$ mongo
MongoDB shell version: 2.0.0
connecting to: test
> use mydb
switched to db mydb
> db.system.users.find()
error: {
"$err" : "unauthorized db:lang lock type:-1 client:127.0.0.1",
"code" : 10057
}
> db.auth("other_user", "XXXXXXXX")
1
> db.system.users.find()
{ "_id" : ObjectId("4e7097fe4d8c51f6a44371e2"), "user" : "other_user", "readOnly" : false, "pwd" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }
>
Ha php-val szeretnénk használni, és apache2 a webszerver, akkor:
Ha szükséges, előtte futtassuk:
user@server:~$ sudo apt-get install php-pear
user@server:~$ sudo pecl install mongo Build process completed successfully Installing '/usr/lib/php5/20090626/mongo.so' install ok: channel://pecl.php.net/mongo-1.2.4 configuration option "php_ini" is not set to php.ini location You should add "extension=mongo.so" to php.ini
Ha végzett, akkor már csak azt kell csinálni amit mond:
Kiegészíteni a /etc/php5/apache2/php.ini fájlt a
extension=mongo.so sorral.
Majd újraindítjuk a webszervert:
sudo /etc/init.d/apache2 restart
Felhasznált irodalom: