Difference between revisions of "MongoDB"

From SME Server
Line 1: Line 1:
 
== How to install MongoDB 4.0 ==
 
== How to install MongoDB 4.0 ==
 +
 +
{{Note box| All info is based on SME Server 9 only but I have just started to test on v10 - see notes below}}
  
 
=== Install Official Repository ===
 
=== Install Official Repository ===
 +
 +
This should work for every version of Koozali SME
 +
 +
You may need to change the mongodb version as required
 +
 
  db yum_repositories set mongodb repository \
 
  db yum_repositories set mongodb repository \
                 BaseURL https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/ \
+
                 BaseURL https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/$basearch/ \
 
                 EnableGroups no \
 
                 EnableGroups no \
 
                 GPGCheck yes \
 
                 GPGCheck yes \
Line 69: Line 76:
  
 
Mongo should come up on boot.
 
Mongo should come up on boot.
 +
 +
 +
==Koozali SME v10==
 +
 +
{{Warning box| Complete work in progress - here be Dragons!}}
 +
Use the above method to add the repo
 +
 +
yum --enablerepo=mongodb install mongodb-org
 +
 +
Mongo will automatically create a symlink so currently there is no way to enable/disable it apart from manually. Once Koozali SME has some more systemd tools we can use DB keys etc.
 +
 +
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service
 +
 +
To enable/disable this just use:
 +
 +
systemctl {en|dis}able mongodb
 +
 +
And to start stop
 +
 +
systemctl {start|stop|restart} mongodb
  
 
----
 
----
 
[[Category:Howto]]
 
[[Category:Howto]]
 
[[Category:Administration]]
 
[[Category:Administration]]

Revision as of 16:02, 15 September 2020

How to install MongoDB 4.0

Important.png Note:
All info is based on SME Server 9 only but I have just started to test on v10 - see notes below


Install Official Repository

This should work for every version of Koozali SME

You may need to change the mongodb version as required

db yum_repositories set mongodb repository \
               BaseURL https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/$basearch/ \
               EnableGroups no \
               GPGCheck yes \
               Name "MongoDB" \
               GPGKkey https://www.mongodb.org/static/pgp/server-4.0.asc \
               Visible no \
               status disabled
signal-event yum-modify
yum install mongodb-org --enablerepo=mongodb

If refuses to install because of no GPG Key you can change GPGCheck above from Yes to No and try yum install... again or

rpm --import https://www.mongodb.org/static/pgp/server-4.0.asc

Or

yum install mongodb-org --enablerepo=mongodb --nogpgcheck

Start Mongo

Warning.png Warning:
Please check additional notes below before trying this section



Important.png Note:
If you start mongo like this you will run mongo as root.

When mongo later tries to start automatically it may fail because it will be started as the mongod user and won't be able to access the DB files.


/etc/init.d/mongod start

Add the symlinks to start automatically:

ln -s /etc/init.d/mongod /etc/rc.d/rc6.d/K03mongodb
ln -s /etc/init.d/mongod /etc/rc.d/rc7.d/S57mongodb

Optional: create symlink to use mongo or mongodb as service name

ln /etc/init.d/mongod /etc/init.d/mongodb

To ensure everything is all right:

signal-event post-upgrade
signal-event reboot

Additional Notes

Note - I need to test this again This is my initial observation.

As far as I can see, the link above to mongodb is not necessary.

It may need this to set on and off correctly in other service levels:

chkconfig mongod on

Create a service link in in rc7.d:

ln -s /etc/init.d/mongod /etc/rc.d/rc7.d/S57mongod

To use e-smith-service it will need a key:

config set mongod service status enabled

You should now be able to do:

service mongod start|stop|restart etc

Mongo should come up on boot.


Koozali SME v10

Warning.png Warning:
Complete work in progress - here be Dragons!


Use the above method to add the repo

yum --enablerepo=mongodb install mongodb-org

Mongo will automatically create a symlink so currently there is no way to enable/disable it apart from manually. Once Koozali SME has some more systemd tools we can use DB keys etc.

Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service

To enable/disable this just use:

systemctl {en|dis}able mongodb

And to start stop

systemctl {start|stop|restart} mongodb