Linux.wine
Zur Navigation springen
Zur Suche springen
cOrgaMon.exe, lOrgaMon.exe 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
OpenSuse
zypper install p11-kit-32bit wine
Debian
- dpkg --add-architecture i386
- apt update
- apt install wine32
Option 1: Grafische Benutzeroberfläche vorhanden
- In einer grafischen Oberfläche einmalig
-> System -> Configure Wine
starten- dies installiert Mono (ist für den cOrgaMon aber nicht nötig) ...
- dies legt das .wine Verzeichnis an ...
- Ein Umkonfiguration abseits der Defaults ist nicht nötig.
Option 2: Nur Terminal
- In der reinen Console für folgender Befehl zum Anlegen der Verzeichnisse und setzen der Defaults
winecfg
wineconsole
wine cmd
cOrgaMon (Win32) installieren
- die 32 Bit Umgebung von Wine muss installiert werden, dazu kann es sein dass die ganze Distribution um die 32 Bit Architektur erweitern muss (das ist nicht mehr default)
# # Install 7zip # cd ~/.wine/drive_c wget https://www.7-zip.org/a/7z2201-x64.exe wine 7z2201-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-8695.zip unzip -o cOrgaMon-Wine-8695.zip # # Install SystemD-Services # mv .service /etc/systemd/system # # Install OrgaMon.ini # mkdir ~/Documents/OrgaMon/ cd ~/Documents/OrgaMon/ joe OrgaMon.ini
# # OrgaMon.ini # Bei der ~Id~ wird der Mandant angegeben, der gestartet werden soll. Dieser Id # wird auch dem cOrgaMon.exe als Kommandozeilenparameter --Id=~Id~ mitgegeben. # # via systemctl lässt sicher der ~Id~ nach dem "@" angeben # [~Id~] DataBaseName=N:\Mandanten\Huber\dat\
lOrgaMon (Win64) installieren
- lOrgaMon.exe läuft in einer wine-7.0 Win64 Umgebung
- Verwenden Sie die aktuelle Version von https://cargobay.orgamon.org/lOrgaMon-Wine.html
# # Install 7zip # cd ~/.wine/drive_c wget https://www.7-zip.org/a/7z2201-x64.exe wine 7z2201-x64.exe /S # # Install lOrgaMon # mkdir "/root/.wine/drive_c/Program Files/OrgaMon/" cd "/root/.wine/drive_c/Program Files/OrgaMon/" wget https://cargobay.orgamon.org/lOrgaMon-Wine-8xxx.zip unzip -o lOrgaMon-Wine-8xxx.zip wine vccrt8_x64.msi /S # # Install OrgaMon.ini # mkdir ~/Documents/OrgaMon/ cd ~/Documents/OrgaMon/ joe OrgaMon.ini # # OrgaMon.ini # Bei der ~Id~ wird der Mandant angegeben, der gestartet werden soll. Dieser Id # wird auch dem cOrgaMon.exe als Kommandozeilenparameter --Id=~Id~ mitgegeben. # # via systemctl lässt sicher der ~Id~ nach dem "@" angeben # [~Id~] DataBaseName=N:\Mandanten\Huber\dat\
Laufwerke
- Zum Betrieb der XLMRPC-Server cOrgaMon/lOrgaMon 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:
- UNC Pfade funktionieren nicht einfach so, hier muss man unter
dosdevices/unc
den host UND den share-Namen als Unterverzeichnisse erstellen
cd ~/.wine cd dosdevices mkdir unc cd unc mkdir host cd host ln -s /srv/firebird firebird
systemd.mount
Beispiel 1
- joe /etc/systemd/system/root-.wine-drive_i.mount
[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,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
Beispiel 3
- Wenn obige Methode nicht funktioniert muss man mit einem Bind-Mount arbeiten
- locales Verzeichnis mit "bind"
- 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
cOrgaMon.exe Start 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] SyslogIdentifier=cOrgaMon UMask=000 Environment="WINEDEBUG=-all" "LANG=de_DE.UTF-8" ExecStart=/usr/bin/wine "C:\\Program Files (x86)\\OrgaMon\\cOrgaMon.exe" "--app" "--Id=%i" KillSignal=SIGKILL TimeoutStopSec=5 [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
lOrgaMon/cOrgaMon für Tagwache/Tagesabschluss
- In
System
kann definiert werden "was" einzelne Hosts im Rahmen eines Tagesabschlusses/Tagwache tun sollen, es lassen sich einzelne Aktionen ausschließen
# # Host EDORAS soll z.B. nur den Artikelindex neu erstellen # TagesabschlussAusschluss@EDORAS=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28 # # ein Cron-Job auf EDORAS kann nun Artikelindex neu erstellen, Alle anderes Hosts # die einen Tagesabschluss machen sollten um diesen Punkt entlastet werden # (auch durch Ausschluss-Option) # wine lOrgaMon.exe --tagesabschluss --Id=~Id~
Update
- Per AutoUp, das Projekt "cOrgaMon-Wine" wird auf https://cargobay.orgamon.org/ das neueste cOrgaMon zur Verfügung gestellt
- Ein Update wird durchgeführt durch
- Stop der Dienste
- Download der neuesten Version
- Überschreiben aller alten Dateien im Ausführungsverzeichnis
- Start der Dienste
systemctl stop cOrgaMonApp@... systemctl stop cOrgaMonFoto@... cd "~/.wine/drive_c/Program Files (x86)/OrgaMon" wget https://cargobay.orgamon.org/cOrgaMon-Wine-8644.zip unzip -o cOrgaMon-Wine-8644.zip systemctl start cOrgaMonApp@... systemctl start cOrgaMonFoto@...
Diagnose
# # Welche Ports werden verwendet? # lsof -P | grep cOrgaMon | grep TCP # # Welche Dienste laufen? # systemctl status | grep cOrgaMon.exe