HCL Sametime 11 Installation

Einrichten einer Mongo-DB - Skript für Domino-Administratoren

Während Sametime 10 noch recht umständlich mit IBM WebSphere und Co. einzurichten war, ist das bei Sametime 11.x sehr viel leichter geworden. Dennoch trauen sich viele Domino-Administratoren nicht so recht an die Installation heran, da es dort nicht nur um reines Domino geht, sondern auch um die Einrichtung einer Mongo-DB. Für viele Domino-Administratoren ist das Neuland.

Leider hat HCL die Installation und Konfiguration der Mongo-DB zwar ausreichend detailliert beschrieben, aber die Konfiguration erfolgt manuell, über Konsolbefehle und manuelles Editieren von Konfigurationsdateien. Das ist immer potenziell fehlerträchtig, denn kein Administrator ist "frei" von Tippfehlern. Daher wäre es besser gewesen, wenn es eine Installationsroutine für die Mongo-DB gegeben hätte. Insbesondere unter Linux, welches ich für Sametime bevorzuge, ist die Mongo-Installation nicht ganz trivial, da sie nicht in den Vorgabe-Repositories enthalten ist.

Dieses kleines Skript, das ich erstellt habe, lässt den Installationsvorgang automatisch ablaufen. Es führt dabei folgende Schritte durch:
 

  • MongoDB Repository hinzufügen 
  • MongoDB aus dem Repository installieren 
  • Den MongoDB-Port 27017 in der Firewall öffnen 
  • Den Sametime-User erstellen und die chatlogging-DB erstellen 
  • MongoDB auf alle Netzwerkadapter binden 
  • Ein Replication-Set erstellen, welches die Chatlogging DB spiegelt 
  • Den MongoDB-Deamon aktivieren

Das Ganze passt in dieses kleine Bash Skript:

   clear 

   echo "#########################################################################################" 

   echo "# Automated Sametime MongoDB Installation                                               #" 

   echo "# (c) 2021 Friedhelm Klein, TIMETOACT Group                                             #" 

   echo "# Version 1.0                                                                           #" 

   echo "#########################################################################################" 

  

   echo -n "# Check for root access... " 

   if [ `whoami` != root ]; then 

   echo -e "ERROR\nPlease run this script as root or using sudo" 

   exit 

   else  

   echo "Success" 

   fi 

   

   echo -n "# Add MongoDB repository... \n\n\n" 

   echo "[mongodb-org-4.2]" >/etc/yum.repos.d/mongodb-org-4.2.repo 

   echo "name=MongoDB Repository" >>/etc/yum.repos.d/mongodb-org-4.2.repo  

   echo "baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/" >>/etc/yum.repos.d/mongodb-org-4.2.repo  

   echo "gpgcheck=1" >>/etc/yum.repos.d/mongodb-org-4.2.repo 

   echo "enabled=1" >>/etc/yum.repos.d/mongodb-org-4.2.repo  

   echo "gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc" >>/etc/yum.repos.d/mongodb-org-4.2.repo 

   echo "Success"  

  

   echo -n "# Install MongoDB... " 

   yum install mongodb-org -y 

   echo "Success: "  

 

   echo -n "# Open MongoDB port 27017 in firewalld... " 

   firewall-cmd --permanent --new-service=mongodb >/nul 

   firewall-cmd --permanent --service=mongodb --set-description=MongoDB >/nul 

   firewall-cmd --permanent --service=mongodb --set-short=MongoDB >/nul 

   firewall-cmd --permanent --service=mongodb --add-port=27017/tcp >/nul 

   firewall-cmd --zone=public --add-service=mongodb --permanent >/nul 

   echo "Success"  

 

   echo -n "# Restarting firewalld... " 

   systemctl restart firewalld.service 

   echo "Success"  

 

   echo -n "# Starting MongoDb... " 

   systemctl start mongod 

   echo "Success"  

 

   echo "# Create SametimeUser and Chatlogging-DB... " 

   echo $'use admin' >init.js 

   echo $'db.createUser({user: "sametimeUser", pwd: "AenderMich!", roles:[{role:"readWrite", db:"chatlogging"},{ role:"readWrite", 
        db:"mobileOffline"},{role:"userAdminAnyDatabase", db:"admin"}]})' >>init.js 

   echo $'use chatlogging' >>init.js 

   echo $'db.EVENTS.insertOne({"_id" : "dummy"})' >>init.js 

   echo $'db.SESSIONS.insertOne({"_id" : "dummy"})' >>init.js 

 

   mongo < init.js 

   rm -f init.js 

   echo "Success"  

 

   echo -n "# Stopping MongoDb... " 

   systemctl stop mongod 

   echo "Success"  

 

   echo -n "# Enable all network interfaces, replication and security... " 

   sed -i 's/^  bindIp:.*/\ \ bindIpAll: true/g' /etc/mongod.conf 

   sed -i 's/^#replication:.*/replication:\n\ \ replSetName: rs0/g' /etc/mongod.conf 

   echo "Success"  

 

   echo -n "# Starting MongoDb... " 

   systemctl start mongod 

   systemctl enable mongod 

   echo "Success"  

 

   echo -n "# Initiate replication set... " 

   mongo --eval 'rs.initiate()' 

echo "Success"

Ihre Ansprechpartner

Anneliese Wasserer-Foerg
Geschäftsführerinedcom Software & Consulting GmbHKontakt
Wolfgang Meixner
Geschäftsführeredcom Software & Consulting GmbHKontakt

Kontaktieren Sie uns

Hinterlassen Sie Ihre Kontaktdaten, wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen.
Ich bin mit der Datenschutzerklärung einverstanden. *
* Pflichtfelder