Servername ändern

deutsch

#1

Hallo,

habe ein laufendes metasfresh und möchte gerne den Hostnamen ändern.

Was muss ich auf Seiten metasfresh einstellen damit das funktioniert?

Danke und Grüße
Norbert


#2

Hallo Norbert.

Bis auf die üblichen Einstellungen im System ( hostnamen anpassen, /etc/hosts konfigurieren ) musst du einige Einstellungen für sowohl den Applikations-Server, in der Datenbank, als auch im Client selbst anpassen.

Zunächst stoppst du den Applikations-Server mit:
sudo systemctl stop metasfresh_server.service

Anschließend musst du folgende Änderungen vornehmen:

1. Der Applikationsserver:

  • in der Datei /home/metasfresh/local_settings.properties die entsprechenden Werte der Variablen METASFRESH_APPS_SERVER= und METASFRESH_DB_SERVER= ändern
  • in der Datei /opt/metasfresh/metasfresh.properties die Einträge der Variable Connection= ändern.
    Dies betrifft sowohl die Einträge für name\=, AppsHost\=, als auch der Eintrag DBhost\=

2. Die Datenbank:

  • Als User “metasfresh” änderst du den hostnamen in der Datei /home/metasfresh/.pgpass
  • Immernoch als Nutzer “metasfresh” legst du eine Datei im Heimverzeichnisan und öffnest sie mit einem Texteditor (z.B. vim oder nano ):
    vi /home/metasfresh/postrename.sql
  • In diese Datei fügst du folgende Zeilen ein, wobei du FOOBAR mit dem neuen Servernamen ersetzt:

UPDATE AD_SysConfig SET Value='http://FOOBAR:8080/adempiereJasper/ReportServlet' WHERE Name='de.metas.adempiere.report.jasper.JRServerServlet';

UPDATE AD_SysConfig SET Value='http://FOOBAR:8080/adempiereJasper/BarcodeServlet' WHERE Name='de.metas.adempiere.report.barcode.BarcodeServlet';

UPDATE AD_SysConfig SET Value='http://FOOBAR:8080/printing-client-webapp-1.5/printing-client.jar' WHERE Name='de.metas.printing.client.archive';

UPDATE AD_SysConfig SET Value='http://FOOBAR:8182/printing' WHERE Name='de.metas.printing.client.endpoint.RestHttpPrintConnectionEndpoint.ServerUrl';

UPDATE AD_SysConfig set Value='tcp://FOOBAR:61616' where name='de.metas.jms.URL';

  • Anschließend speicherst du die Datei und importierst die neuen Werte immernoch als Nutzer metasfresh mittels psql in die bestehende Datenbank:
    psql -d metasfresh -f /home/metasfresh/postrename.sql

Jetzt kannst du den Applikations-Server wieder mittels systemctl starten:
sudo systemctl start metasfresh_server.service

3. Der metasfresh Client

  • Stelle zunächst sicher, dass der neue Hostname auch von den einzelnen Arbeitsplatz-PCs aufgelöst werden kann und gegebenenfalls die Firewall angepasst wird. Mit ping neuerhost in der Kommandozeile solltest du den Server erreichen können
  • Ändere beim Start des metasfresh-clients im Menü “Verbindungen” sowohl den Namen des “Applikations-Servers” als auch des “Datenbank-Servers”
  • Wenn alles geklappt hat, sollte ein Klicken auf “Teste Verbindung zur Applikation” (bzw. Datenbank) die Knöpfe grün färben und du kannst loslegen

Falls du dir bei einer der Schritte unsicher bist oder es zu Fehlern kommt, kannst du gerne wieder nachfragen.

Viele Grüße,
Julian


#3

hi Julian,

Danke für die detaillierte Beschreibung.

Fand diesen Teil tricky:

Dies betrifft sowohl die Einträge für name=, AppsHost=, als auch der Eintrag DBhost=

Dokumentiere daher hier die beiden stellen mit Fett wo ich die Datei bearbeitet habe:

Connection=xyzCConnection[name\=metasfreshdemo{metasfreshdemo-metasfresh-metasfresh},AppsHost\=mfneu,AppsPort\=61616,AppsUserName\=null,AppsPassword\=null,type\=PostgreSQL,DBhost\=mfneu,DBport\=5432,DBname\=metasfresh,UID\=metasfresh,PWD\=metasfresh]