MongoDB configuration backend (deprecated)¶
MongoDB is a NoSQL database that can be used both for storing configuration and sessions. You need to install Perl MongoDB module to be able to use this backend.
Tip
MongoDB has officially deprecated the Perl driver, so we advice to choose another backend
For Debian, you can install mongodb module with:
apt install libmongodb-perl
For CentOS:
yum install perl-MongoDB
See how to change configuration backend to change your configuration database.
Configuration¶
To use a MongoDB backend, configure your lemonldap-ng.ini
file
(section configuration) :
Choose MongoDB as type
Set dbName and collectionName parameters if different than default values (llConfDB and configuration)
Set host and if needed db_name username, password and ssl fields as follow.
Example :
[configuration]
type = MongoDB
dbName = llConfDB
collectionName = configuration
; using a single server
host = 127.0.0.1:27017
; using a replicaSet
; host = mongodb://mongo1.example.com,mongo2.example.com/?replicaSet=myset
ssl = 1
; authentication parameters
db_name = admin
user = lluser
password = llpassword
Optional parameters (see MongoDB::MongoClient man page) |
||
---|---|---|
Name |
Comment |
Example |
db_name |
Admin database (default: admin) |
admin |
auth_mechanism |
Authentication mechanism |
PLAIN |
auth_mechanism_properties |
||
connect_timeout |
Connection timeout |
10000 |
ssl |
Boolean or hash ref (default: 0) |
1 |
username |
Username to use to connect |
lluser |
password |
Password |
llpassword |
Mini MongoDB howto¶
Just some commands needed to create collection and user:
$ mongo
connecting to: test
> use configuration
switched to db configuration
> db.createCollection("configuration")
...
> db.createUser({user:"lluser",pwd:"llpassword",roles:["readWrite"]})
...
> exit
bye
$