Linux.wine
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 reinen Console für folgender Befehl zum Anlegen der Verzeichnisse und setzen der Defaults
wineconsole
cOrgaMon installieren
über Konsole (empfohlen)
# # Install 7zip # cd ~/.wine/drive_c wget https://www.7-zip.org/a/7z1900-x64.exe wine 7z1900-x64.exe /S # # Install cOrgaMon # 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 # # Install SystemD-Services # mv systemd/* /etc/systemd/system # # Install OrgaMon.ini # mkdir ~/Documents/OrgaMon/ cd ~/Documents/OrgaMon/ joe OrgaMon.ini
# # OrgaMon.ini # [Sektion] DataBaseName=N:\Mandanten\Huber\dat\
über die grafische Benutzeroberfläche
- cd .wine/drive_c
wget https://www.7-zip.org/a/7z1900-x64.exe
wine 7z1900-x64.exe /S
installieren- wget https://cargobay.orgamon.org/Setup-Firebird-Client-OrgaMon-2.5.2.26415.exe
- wine Setup-Firebird-Client-OrgaMon-2.5.2.26415.exe
- wget https://cargobay.orgamon.org/Setup-OrgaMon-8404-Update.exe
- wine Setup-OrgaMon-8404-Update.exe
- Lizenz akzeptieren, oder nicht
- [ ] Starte OrgaMon deaktivieren
- cd ../../Documents/OrgaMon
- joe OrgaMon.ini
Laufwerke
- Zum Betrieb der Server ist immer ein Windows-Laufwerk nötig
- Dieses muss man wine bekannt machen, dazu werden Verzeichnisse mit mount oder bind mount zur Verfügung gestellt
H:\ (Beispiel)
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
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