Linux.wine: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Zeile 145: Zeile 145:
== Diagnose ==
== Diagnose ==


* Welche Dienste laufen auf welchem Port
#
 
# Weclhe Ports werden verwendet
#
  lsof -P | grep cOrgaMon | grep TCP
  lsof -P | grep cOrgaMon | grep TCP
#
# Welche Dienste laufen
#
systemctl status | grep cOrgaMon.exe

Version vom 10. April 2019, 20:08 Uhr

cOrgaMon (XMLRPC-Server des OrgaMon) kann mit Hilfe von wine unter Linux ausgeführt werden. Der Betrieb ist identisch problemlos wie unter Windows, mit dem Vorteil dass man sich so manch Windows-VM sparen kann.

Wine Installation

  • zypper install p11-kit-32bit wine
  • In einer grafischen Oberfläche einmalig -> System -> Configure Wine starten
    • dies installiert Mono ...
    • dies legt das .wine Verzeichnis an ...
    • Ein Umkonfiguration abseits der Defaults ist nicht nötig.

cOrgaMon installieren

Laufwerke mappen

cd ~/.wine
md drive_h
# Nur wenn man gleich mal mounten will: 
# mount //server/share drive_h
cd dosdevices
ln -s ../drive_h h:

mounte mit systemd.mount

  • joe /etc/systemd/system/root-.wine-drive_i.mount

remote smb-Server

[Unit]
Description=root-.wine-drive_i
Requires=network-online.target
After=network-online.target
 
[Mount]
What=//server/share
Where=/root/.wine/drive_i
Type=cifs
Options=guest

[Install]
WantedBy=remote-fs.target

locales smb-Share

[Unit]
Description=root-.wine-drive_i

[Mount]
What=//localhost/share$
Where=/root/.wine/drive_i
Type=cifs
Options=guest

[Install]
WantedBy=remote-fs.target


locales Verzeichnis mit "bind"

  • Wenn obige Methode nicht funktioniert muss man mit einem Bind-Mount arbeiten
  • Geht aber auch, Beispiel root-.wine-drive_i.mount
[Unit]
Description=root-.wine-drive_i
After=srv-smb-ra6.mount
Requires=srv-smb-ra6.mount

[Mount]
What=/srv/smb/ra6/i
Where=/root/.wine/drive_i
Type=none
Options=bind

[Install]
WantedBy=remote-fs.target

OrgaMon starten

  • Im Verzeichnis ~/OrgaMon muss OrgaMon.ini angelegt werden, z.B. mit dem Inhalt
[System]
DataBaseName=H:\Mandanten\Huber\
  • Den ersten Start macht man mit
wine "C:\\Program Files (x86)\\OrgaMon\\OrgaMon.exe"


als systemd.service

systemd bietet die Möglichkeit für beliebig viele Instanzen nur eine Konfigurations-Datei zu führen. Die ganze Infrastruktur mit Start und Stop und Enable kann benutzt werden. Also mit

  • systemctl start cOrgaMon@3049

startet man eine cOrgaMon-Instanz mit dem Port 3049.

  • joe /etc/systemd/system/cOrgaMon\@.service
#
# systemd Rulez for the cOrgaMon Service
#
# (c) 2015 Andreas Filsinger
#
[Unit]
Description=cOrgaMon XMLRPC-Server
After=multi-user.target
Requires=root-.wine-drive_i.mount

[Service]
UMask=000
Environment="WINEDEBUG=-all" "LANG=de_DE.UTF-8"
ExecStart=/usr/bin/wine "C:\\Program Files (x86)\\OrgaMon\\cOrgaMon.exe" "--app" "--Id=%i"

[Install]
WantedBy=multi-user.target
  • Starte dann mehrere Instanzen:
    • systemctl start cOrgaMon@3000
    • systemctl start cOrgaMon@3001
    • systemctl start cOrgaMon@3002
    • systemctl start cOrgaMon@3003

Update

systemctl stop cOrgaMonApp@...
systemctl stop cOrgaMonFoto@...
cd .wine/drive_c
wget http://cargobay.orgamon.de/Setup-OrgaMon-8195-Update.exe
wine Setup-OrgaMon-8195-Update.exe /VERYSILENT /NORESTARTAPPLICATIONS
systemctl start cOrgaMonApp@...
systemctl start cOrgaMonFoto@...

Diagnose

#
# Weclhe Ports werden verwendet
# 
lsof -P | grep cOrgaMon | grep TCP

#
# Welche Dienste laufen
#
systemctl status | grep cOrgaMon.exe