====== Erstinstallation ====== ===== Allgemeine Informationen ===== Die Installation von mercaware ERP erfordert eine [[wpde>Virtuelle_Maschine|virtuelle Maschine]] mit der Linux-Distribution [[wpde>Rocky Linux]] in Version 9 (Nachfolger von [[wpde>CentOS]]) auf einem [[wpde>x64]]-kompatiblen [[wpde>Hypervisor|Hypervisor]]. 32-Bit-Systeme werden //nicht// unterstützt. Unterstützte Hypervisoren bzw. Virtualisierungslösungen sind: * [[wpde>Kernel-based_Virtual_Machine|Linux-KVM]], z.B. Nutanix AHV, oVirt, Proxmox Virtual Environment, Red Hat Enterprise Linux, Red Hat OpenShift Virtualization, Rocky Linux * [[wpde>VMware|VMware]], z.B. VMware ESXi, VMware vSphere * [[wpde>Hyper-V|Microsoft Hyper-V]] * [[wpde>Xen|Xen]], z.B. Citrix Hypervisor, XCP-ng (//nur// HVM, //keine// Paravirtualisierung) * [[wpde>VirtualBox|Oracle VirtualBox]] (//nicht// für Produktivinstallationen) //Nicht unterstützt// werden Container-Virtualisierungen wie Docker, LXC, LXD, OpenVZ, Podman, systemd-nspawn, User Mode Linux oder Virtuozzo. Eine Installation auf physischer Hardware ("Bare Metal") ist zwar technisch möglich, sofern Rocky Linux die Hardware unterstützt, aber im Normalfall nicht empfohlen. Die Sicherstellung von Hardware-Kompatibilität und -Redundanzen (z.B. RAID, redundante Netzteile, USV, Backup) obliegt dem Kunden. Mindestanforderungen für mercaware ERP: * 2 vCPUs mit [[wpde>X64#Weiterentwicklung|x86-64-v2]] * 4 GB Arbeitsspeicher * 25 GB Festplatten-Speicherplatz Für eine durchschnittliche Inhouse-Installation mit Entwicklungsmandant ist eine Verdoppelung der Mindestanforderungen empfohlen. Da Inhouse-Installationen auch sehr abweichende Anforderungen haben können, kontaktieren Sie All for Accounting bitte vorab. Bei Migrationen oder Updates sollten die Ressourcen der bereits bestehenden virtuellen Maschine als Richtwert herangezogen werden. Sofern die [[:anmeldesite:|Anmeldesite]] per HTTPS, d.h. HTTP mit SSL/TLS-Verschlüsselung, aufrufbar sein soll, muss die virtuelle Maschine entweder über einen öffentlichen DNS-Namen (z.B. ''mercaware.example.net'') auf Port 80/TCP und 443/TCP für [[wpde>Let’s_Encrypt|Let's Encrypt]] erreichbar sein oder ein entsprechendes SSL-Zertifikat muss vom Kunden selbst bereitgestellt und regelmäßig ausgetauscht werden. ===== Firewall-Konfiguration ===== Nachfolgend für eine vorgelagerte Firewall empfohlene Konfiguration aus Sicht der virtuellen Maschine mit mercaware ERP. Daten-Ingress ("eingehend") bezeichnet den Zugriff auf die von der virtuellen Maschine bereitgestellten Dienste und sollte, sofern möglich, die Quell-IP-Adressen betreffend eingeschränkt werden (z.B. nur private Firmen-Netzwerke), Daten-Egress ("ausgehend") bezeichnet den Zugriff auf externe Dienste (Intranet und/oder Internet) von der virtuellen Maschine aus. ^ Richtung ^ Port ^ Verwendung ^ | Ingress | 22/TCP | [[wpde>Secure_Shell|SSH]] für Administration, muss für All for Accounting erreichbar sein, Beschränkung auf bestimmte Quell-IP-Adressen möglich | | Ingress | 80/TCP | HTTP-Zugriff auf [[:anmeldesite:|Anmeldesite]] (unverschlüsselt) bzw. Umleitung auf HTTPS (wenn konfiguriert) | | Ingress | 443/TCP | HTTPS-Zugriff auf [[:anmeldesite:|Anmeldesite]] (HTTP mit SSL/TLS-Verschlüsselung) | | Ingress | 50001/TCP | Zugriff auf ersten mercaware-Mandanten (SSL/TLS-verschlüsselt) | | Ingress | 50002/TCP | Zugriff auf zweiten mercaware-Mandanten (SSL/TLS-verschlüsselt), weitere Mandanten nach gleichem Schema | | Ingress | 51001/TCP | Optional: Zugriff auf PostgreSQL-Datenbank des ersten mercaware-Mandanten (SSL/TLS-verschlüsselt) | | Ingress | 51002/TCP | Optional: Zugriff auf PostgreSQL-Datenbank des zweiten mercaware-Mandanten (SSL/TLS-verschlüsselt), weitere Mandanten nach gleichem Schema | | Egress | 25/TCP | Optional: SMTP-Versand durch mercaware ERP bzw. von Systemmeldungen, Port 587/TCP sollte jedoch präferiert verwendet werden (siehe unten) | | Egress | 53/UDP | DNS-Anfragen mindestens zu den im Linux-Betriebssystem konfigurierten DNS-Resolvern | | Egress | 53/TCP | DNS-Anfragen mindestens zu den im Linux-Betriebssystem konfigurierten DNS-Resolvern | | Egress | 80/TCP | Empfohlen: Betriebssystem-Updates (siehe unten) | | Egress | 123/UDP | NTP-Anfragen mindestens zu den im Linux-Betriebssystem konfigurierten NTP-Servern | | Egress | 443/TCP | Betriebssystem-Updates, Zugriff auf externe Schnittstellen | | Egress | 587/TCP | Optional: SMTP-Versand durch mercaware ERP bzw. von Systemmeldungen, Verwendung eines Relayhosts/Smarthosts möglich (siehe unten) | Sofern eine Beschränkung des SSH-Ports in der Firewall konfiguriert werden soll, teilt All for Accounting Ihnen die freizuschaltenden Quell-IP-Adressen gerne //auf Anfrage// mit. Die als optional gekennzeichneten Ports werden //standardmäßig nicht benötigt// und sollten aus Sicherheitsgründen erst freigeschaltet werden, wenn der Bedarf tatsächlich gegeben ist. Je nach genutzten Schnittstellen sind für Egress-Daten ("ausgehend") eventuell weitere Portfreischaltungen erforderlich. Wenn über mercaware ERP z.B. Angebote, Auftragsbestätigungen, Rechnungen, Bestellanfragen o.ä. und/oder Systemmeldungen per E-Mail versenden werden sollen, ist für Egress-Daten ("ausgehend") entweder die Portfreischaltung für Port 25/TCP oder (präferiert) 587/TCP erforderlich. Bei Port 587/TCP müssen darüber hinaus All for Accounting noch der zu verwendende [[wpde>SMTP-Relay-Server|Relayhost bzw. Smarthost]] sowie eventuelle Zugangsdaten für [[wpde>SMTP-Auth]] mitgeteilt werden. Eine mögliche Begrenzung auf bestimmte Empfänger, z.B. nur firmeninterne E-Mail-Adressen, ist bei Verwendung eines Relayhosts bzw. Smarthosts auf eben diesem durch den entsprechenden Administrator generell technisch möglich. Im Falle der Nutzung von Port 25/TCP ist eine Begrenzung über die gezielte Freischaltung bestimmter Ziel-IP-Adressen ebenfalls generell möglich. Kann auf einen Versand von E-Mails völlig verzichtet werden, ist die Portfreischaltung nicht erforderlich. Die Portfreischaltung für Egress-Daten ("ausgehend") für Port 80/TCP wird //empfohlen//, ist aber //nicht zwingend erforderlich//. Hintergrund ist, dass nicht alle [[https://mirror.rockylinux.org/mirrormanager/mirrors|aktiven öffentlichen Mirror-Server]] für Rocky Linux HTTPS unterstützen. Da die Software-Pakete, wie bei Linux-Distributionen allgemein üblich, jedoch kryptografisch signiert sind und die Authentizität und Integrität der Software-Pakete nach dem Herunterladen, aber vor der Installation, mit einem kryptografischen (öffentlichen) Schlüssel verifiziert wird, welcher mit dem ISO-Installationsabbild installiert wurde, kann die fehlende reine Transportverschlüsselung vernachlässigt werden. Erfolgt die Portfreischaltung nicht und es wird bei der Auswahl des Mirror-Servers ein Server ohne HTTPS-Unterstützung ausgewählt, kann es zu temporären oder permanenten Fehlern bei der Installation oder Aktualisierung von Software-Paketen, und dadurch zu einem erhöhten administrativen Aufwand, kommen. ===== Basisinstallationsanleitung ===== ==== Vorbereitung ==== * Aktuelles [[https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9-latest-x86_64-dvd.iso|ISO-Installationsabbild für Rocky Linux 9]] herunterladen * Virtuelle Maschine in unterstütztem Hypervisor unter Berücksichtigung der Mindestanforderungen anlegen (siehe oben) * Bevorzugt sollte UEFI (z.B. Chipsatz "Q35" mit Firmware "UEFI" bzw. "Generation 2") verwendet werden, alternativ BIOS * Heruntergeladenes ISO-Installationsabbild im CD/DVD-Laufwerk der virtuellen Maschine einlegen und davon booten ==== Welcome to Rocky Linux 9.x ==== Installationssprache "English" und "English (United States)" auswählen, damit Betriebssystem-Meldungen und -Protokolle später in englischer Sprache sind: {{:systemadministration:erstinstallation:el9-language.png?direct&600|}} ==== Installation Summary ==== Auf der Maske "Installation Summary" bitte nachfolgende Punkte wie beschrieben konfigurieren bzw. unverändert lassen: === Keyboard === Punkt "Keyboard" anklicken und persönlich präferiertes Tastaturlayout, z.B. "German" auswählen, abschließend links oben auf "Done" klicken. === Language Support === Punkt "Language Support" //unverändert// auf "English (United States)" lassen. === Time & Date === Punkt "Time & Date" //unverändert// auf "Europe/Berlin timezone" lassen. === Installation Source === Punkt "Installation Source" //unverändert// auf "Local media" lassen. === Software Selection === Punkt "Software Selection" anklicken und Auswahlpunkt "Minimal Install" (in Spalte "Base Environment" anklicken, danach links oben auf "Done" klicken: {{:systemadministration:erstinstallation:el9-software-selection.png?direct&600|}} Hinweis: Eine andere Auswahl als "Minimal Install" wird //nicht// unterstützt und eventuelle zusätzlich installierte Pakete werden möglicherweise nachträglich deinstalliert. Die virtuelle Maschine ist //nicht// für die Benutzung in Verbindung mit einer grafischen Oberfläche gedacht bzw. vorgesehen. === Installation Destination === Punkt "Installation Destination" anklicken, prüfen, dass gewünschte "Local Standard Disks" abgehakt sind, bei "Storage Configuration" den Auswahlpunkt "Custom" anklicken und danach links oben auf "Done" klicken: {{:systemadministration:erstinstallation:el9-installation-destination.png?direct&600|}} Auf danach erscheinender der Maske "Manual Partitioning" nachfolgendes Partitionierungsschema (über "Click here to create them automatically" gefolgt von manuellen Anpassungen) konfigurieren: ^ Partition Name ^ Mount Point ^ Desired Capacity ^ File System ^ Anmerkung ^ | Standard Partition 1, z.B. ''vda1'' | ''/boot/efi'' | mindestens 100 MiB | EFI System Partition | //Nur// bei UEFI, //nicht// bei BIOS | | Standard Partition 2, z.B. ''vda2'' | ''/boot'' | mindestens 800 MiB | ext4 | | | LVM (Logical Volume), z.B. ''mercaware-root'' | ''/'' | mindestens 20 GiB | ext4 | | | LVM (Logical Volume), z.B. ''mercaware-swap'' | (keiner) | mindestens 4 GiB | swap | | Hinweise: * Vom Installationsassistenten standardmäßig vorgeschlagenes Dateisystem ''xfs'' wird //nicht empfohlen//, da Vorteile nur bei typischen Fileservern gegeben * Ausschließliche Verwendung des Partitionsschemas "Standard Partition" wird //nicht// unterstützt, da es spätere Speicherplatzvergrößerungen unverhältnismäßig erschwert (oder schlimmstenfalls unmöglich macht) * Standardmäßig vom Installationsassistenten vorgeschlagene Partitionierung mit separater großer ''/home''-Partition kann für mercaware ERP nicht verwendet werden * Ist ein separates LVM Logical Volume für mercaware ERP gewünscht, so benötigt dieses den Mountpoint ''/opt/mercaware'' mit dem Dateisystem ''ext4'' * Unix-typische Partitionierung mit separaten LVM Logical Volumes bzw. Partitionen für ''/root'', ''/usr'', ''/var'' etc. wird //nicht// unterstützt {{:systemadministration:erstinstallation:el9-manual-partitioning-1.png?direct&600 |}} {{:systemadministration:erstinstallation:el9-manual-partitioning-2.png?direct&600 |}} {{:systemadministration:erstinstallation:el9-manual-partitioning-3.png?direct&600 |}} {{:systemadministration:erstinstallation:el9-manual-partitioning-4.png?direct&600 |}} === KDUMP === Punkt "KDUMP" anklicken und Haken vor "Enable kdump" entfernen, abschließend links oben auf "Done" klicken: {{:systemadministration:erstinstallation:el9-kdump.png?direct&600 |}} === Network & Host Name === Punkt "Network & Host Name" anklicken und im Eingabefeld "Host Name" den Servernamen (FQDN) eingeben, z.B. "mercaware.example.net", danach auf "Apply" klicken: {{:systemadministration:erstinstallation:el9-network-host-name-1.png?direct&600|}} Anschließend auf "Configure…" klicken und im Reiter "IPv4 Settings" eine statische IPv4-Adresskonfiguration ("Method" auf "Manual" stellen, danach IPv4-Adresse, Netzmaske, Standard-Gateway, DNS-Server, Domänensuffix eintragen) vornehmen, Haken vor "Require IPv4 addressing for this connection to complete" setzen und rechts unten auf "Save" klicken: {{:systemadministration:erstinstallation:el9-network-host-name-2.png?direct&600|}} //Nur// wenn Ihr Netzwerk bereits IPv6 unterstützt: Erneut auf "Configure…" klicken und im Reiter "IPv6 Settings" eine statische IPv6-Adresskonfiguration ("Method" auf "Manual" stellen, danach IPv6-Adresse, Präfix, Standard-Gateway, DNS-Server, Domänensuffix eintragen) vornehmen, Haken vor "Require IPv6 addressing for this connection to complete" setzen und rechts unten auf "Save" klicken: {{:systemadministration:erstinstallation:el9-network-host-name-3.png?direct&600|}} Hinweis: Dynamische Netzwerkkonfigurationsmethoden, z.B. "DHCP", "Automatic (DHCP), addresses only" oder "Link-Local Only", werden //nicht// empfohlen. === Security Profile === Punkt "Security Profile" //unverändert// auf "No profile selected" lassen. === Root Password === Punkt "Root Password" anklicken, //sicheres// Passwort eingeben und wiederholen, Haken vor "Allow root SSH login with password" setzen, abschließend links oben auf „Done“ klicken. {{:systemadministration:erstinstallation:el9-root-password.png?direct&600|}} Hinweise: * Bitte beachten Sie bei der Wahl des Passworts das Dokument "[[https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Checklisten/sichere_passwoerter_faktenblatt.pdf?__blob=publicationFile&v=4|BSI-Basisschutz: Sichere Passwörter]]" vom [[wpde>Bundesamt_für_Sicherheit_in_der_Informationstechnik|Bundesamt für Sicherheit in der Informationstechnik]] * Der Haken vor "Allow root SSH login with password" muss //nicht// zwingend gesetzt werden (sicherere Variante), //wenn// die öffentlichen SSH-Schlüssel der All for Accounting von Ihnen vorab hinterlegt werden; All for Accounting teilt Ihnen die öffentlichen SSH-Schlüssel gerne //auf Anfrage// mit * Und: //Auf Anfrage// kann "Allow root SSH login with password" auch jederzeit noch nachträglich von All for Accounting deaktiviert werden === User Creation === Punkt "User Creation" //unverändert// auf "No user will be created" lassen. Hinweis: Sofern bei "Root Password" abweichende Einstellungen vorgenommen wurden, kann die Anlage eines weiteren Benutzers zwingend erforderlich sein. === Abschließend === Sieht die Maske "Installation Summary" wie nachfolgend aus, abschließend rechts unten auf "Begin Installation" klicken: {{:systemadministration:erstinstallation:el9-installation-summary.png?direct&600|}} ==== Installation Progress ==== Sobald die Installation abgeschlossen ist, rechts unten auf "Reboot System" klicken: {{:systemadministration:erstinstallation:el9-installation-progress.png?direct&600|}} Bei Bedarf das ISO-Installationsabbild aus dem CD/DVD-Laufwerk der virtuellen Maschine auswerfen. ==== Nachbereitung ==== Bitte stellen Sie sicher, dass der SSH-Zugang auf Ihrer Firewall freigeschaltet ist (siehe oben) und teilen Sie All for Accounting anschließend folgendes mit: * Öffentlichen DNS-Namen der virtuellen Maschine bzw. öffentliche IP-Adresse (wenn kein öffentlicher DNS-Name vorhanden) * TCP-Port für den SSH-Zugang (sofern Ihrerseits in der Firewall ein Portforwarding abweichend zu 22/TCP konfiguriert wurde) Last but not least: * Bitte nehmen Sie die virtuelle Maschine in Ihre regelmäßige Datensicherung auf * Bitte spielen Sie regelmäßig, z.B. monatlich, die verfügbaren (Sicherheits-) Updates auf der virtuellen Maschine ein: * ''dnf -y update'' * ''dnf needs-restarting''