Seite 1 von 1

Migration 1.3 -> 1.5 unter CentOS 7

Veröffentlicht: 30. März 2018 - 14:54 Uhr
von CLAM
Guten Morgen,

Ich bin der auf Seite [Seite einfügen] beschriebenen Vorgehensweise gefolgt. https://www.wapt.fr/fr/doc/waptserver_u ... entos.html Ich bin jedoch während des Vorgangs auf einige Fehler gestoßen.

Falls dies für andere hilfreich sein sollte, hier die Änderungen, die ich vornehmen musste, um die Migration erfolgreich abzuschließen:

So deinstallieren Sie wapt 1.3:

Code: Alle auswählen

yum remove tis-waptrepo tis-waptsetup tis-waptserver
systemctl stop apache2
systemctl disable apache2
wird zu:

Code: Alle auswählen

yum remove tis-waptrepo tis-waptsetup tis-waptserver
systemctl stop httpd
systemctl disable httpd


Im Abschnitt Aktualisieren Sie den CentOS-/Red Hat-Server :

Code: Alle auswählen

yum install postgresql94-server postgresql94-contrib
wird zu:

Code: Alle auswählen

yum install postgresql94-server postgresql94-contrib mongodb
(Unter CentOS ist MongoDB in zwei Pakete aufgeteilt: mongodb-server und mongodb. Das Paket mongodb enthält mongoexport, das vom Migrationsskript verwendet wird.)

Ich habe außerdem den folgenden Befehl ausgeführt, damit das Migrationsskript das Vorhandensein der Sperrdatei überprüfen konnte:

Code: Alle auswählen

chmod 755 /var/lib/mongodb
Ich habe die Datei /opt/wapt/waptserver/waptserver_upgrade.py gepatcht (ich habe nur (current_distrib != "centos linux" verwendet, da ich keine RHEL7-Maschine zur Hand habe, um zu testen, ob das ursprüngliche Skript ebenfalls angepasst werden muss, damit es funktioniert):

Code: Alle auswählen

--- /opt/wapt/waptserver/waptserver_upgrade.py.orig	2018-03-29 15:00:58.908069144 +0200
+++ /opt/wapt/waptserver/waptserver_upgrade.py	2018-03-29 15:12:00.480088326 +0200
@@ -67,7 +67,10 @@
     """Connect to a mongo instance and write all wapt.hosts collection as json into a file"""
     if platform.system()=='Linux':
         mongo_datadir = '/var/lib/mongodb/'
-        if 'dbpath' in subprocess.check_output('mongoexport --help',shell=True):
+	distrib_tuple = platform.linux_distribution()
+	current_distrib = distrib_tuple[0].lower()
+	print ('detected distrib : %s ' % current_distrib)
+        if ('dbpath' in subprocess.check_output('mongoexport --help',shell=True)) and (current_distrib != "centos linux"):
             data = subprocess.check_output('mongoexport -d wapt -c hosts --jsonArray --dbpath=%s' % mongo_datadir,shell=True)
         else:
             data = subprocess.check_output('mongoexport -c hosts --jsonArray --db wapt',shell=True)
Ich habe außerdem die Datei /opt/wapt/waptserver/scripts/postconf.py angepasst, da der Daemon unter CentOS nicht mongodb, sondern mongod heißt:

Code: Alle auswählen

--- /opt/wapt/waptserver/scripts/postconf.py.orig	2018-03-29 15:51:46.261262372 +0200
+++ /opt/wapt/waptserver/scripts/postconf.py	2018-03-29 15:52:12.043380391 +0200
@@ -234,8 +234,12 @@
 def upgrade2postgres(configfilename):
     print ("mongodb process running, need to migrate")
     run_verbose('sudo -u wapt PYTHONPATH=/opt/wapt PYTHONHOME=/opt/wapt /opt/wapt/bin/python /opt/wapt/waptserver/waptserver_upgrade.py upgrade2postgres -c "%s"' % configfilename)
-    run_verbose("systemctl stop mongodb")
-    run_verbose("systemctl disable mongodb")
+    if type_redhat():
+        run_verbose("systemctl stop mongod")
+        run_verbose("systemctl disable mongod")
+    else:
+        run_verbose("systemctl stop mongodb")
+        run_verbose("systemctl disable mongodb")
 
 def nginx_set_worker_limit(nginx_conf):
     already_set=False
Um Pakete aus dem Repository zu entfernen, ändern Sie die auf der Seite angegebenen Befehle. https://www.wapt.fr/fr/doc/waptserver_u ... regenerieren durch Ändern von /var/www/wapt/... in /var/www/html/wapt/...

Code: Alle auswählen

PYTHONPATH=/opt/wapt PYTHONHOME=/opt/wapt python /opt/wapt/wapt-signpackages.py -i -s --message-digest=sha256,sha1 -c /root/wapt-private-20180312-1522.crt /var/www/html/wapt/*.wapt

PYTHONPATH=/opt/wapt PYTHONHOME=/opt/wapt python /opt/wapt/wapt-signpackages.py -i -s --message-digest=sha256,sha1 -c /root/wapt-private-20180312-1522.crt /var/www/html/wapt-host/*.wapt