Linux.wine: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Zeile 8: Zeile 8:
** dies legt das .wine Verzeichnis an ...
** dies legt das .wine Verzeichnis an ...
** Ein Umkonfiguration abseits der Defaults ist nicht nötig.
** Ein Umkonfiguration abseits der Defaults ist nicht nötig.
* In der reine Console
** <code>wineconsole</code>


== cOrgaMon installieren ==
== cOrgaMon installieren ==

Version vom 16. November 2019, 12:23 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.
  • In der reine Console
    • wineconsole

cOrgaMon installieren

Konsole

cd ~/.wine/drive_c
wget https://www.7-zip.org/a/7z1900-x64.exe
wine 7z1900-x64.exe /S
mkdir "/root/.wine/drive_c/Program Files (x86)/OrgaMon/"
cd "/root/.wine/drive_c/Program Files (x86)/OrgaMon/"
wget https://cargobay.orgamon.org/cOrgaMon-wine.zip
unzip cOrgaMon-wine
mv systemd/* /etc/systemd/system

grafische Oberfläche

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

remote smb-Server

Beispiel 1

  • joe /etc/systemd/system/root-.wine-drive_i.mount
[Unit]
Description=root-.wine-drive_i
Requires=network-online.target smb.service
After=network-online.target smb.service
 
[Mount]
What=//server/share
Where=/root/.wine/drive_i
Type=cifs
Options=guest,vers=3,noperm,nosetuids,file_mode=0777,dir_mode=0777

[Install]
WantedBy=remote-fs.target

Beispiel 2

  • joe /etc/systemd/system/srv-ftp.mount
[Unit]
Description=srv-ftp
Wants=nss-lookup.target
After=nss-lookup.target

[Mount]
What=//server/web
Where=/srv/ftp
Type=cifs
Options=guest,vers=3,noperm,nosetuids,file_mode=0777,dir_mode=0777

[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