Sichere Installation von Dolibarr auf einem vServer mit Ubuntu
Dies ist eine kurz gefasste Beschreibung, die einen Einblick gibt wie ein Webserver mit einem ERP erstellt und sicher betrieben werden kann.
Für die detaillierte Dokumentation wenden Sie sich unter lauryn@foerster.services an uns.
1. Vorbereitung
- Domain: Stellen Sie sicher, dass die Domain
op.cycle-it.de
korrekt konfiguriert ist und auf die IP-Adresse Ihres vServers verweist. - System-Updates: Aktualisieren Sie Ihr Ubuntu-System, um sicherzustellen, dass alle Pakete auf dem neuesten Stand sind:
sudo apt update && sudo apt upgrade -y
2. Installation des LAMP-Stacks
- Apache2: Installieren Sie den Apache-Webserver:
sudo apt install apache2 -y
- MySQL: Installieren Sie die MySQL-Datenbank:
sudo apt install mysql-server -y
- PHP: Installieren Sie PHP und die notwendigen Module:
sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-json php-xml php-zip -y
3. Installation von Dolibarr
- Dolibarr aus GitHub klonen: Klonen Sie das Dolibarr-Repository von GitHub:
git clone https://github.com/Dolibarr/dolibarr.git /var/www/html/dolibarr
- Berechtigungen setzen: Setzen Sie die richtigen Berechtigungen für das Dolibarr-Verzeichnis:
sudo chown -R www-data:www-data /var/www/html/dolibarr sudo chmod -R 755 /var/www/html/dolibarr
4. Zertifikatserstellung mit Certbot
- Certbot installieren: Installieren Sie Certbot, um ein SSL-Zertifikat zu erstellen:
sudo apt install certbot python3-certbot-apache -y
- SSL-Zertifikat erstellen: Führen Sie Certbot aus, um ein SSL-Zertifikat für Ihre Domain zu erstellen:
sudo certbot --apache -d op.cycle-it.de
Folgen Sie den Anweisungen auf dem Bildschirm, um die Zertifikatserstellung abzuschließen.
5. Systemhärtung
- Firewall: Konfigurieren Sie die Firewall, um nur notwendige Ports zu öffnen:
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full' sudo ufw enable
- SSH-Härtung: Deaktivieren Sie die Root-Anmeldung und verwenden Sie SSH-Schlüssel:
sudo nano /etc/ssh/sshd_config
Ändern Sie die folgenden Einstellungen:
PermitRootLogin no PasswordAuthentication no
Starten Sie den SSH-Dienst neu:
sudo systemctl restart ssh
6. Einstellungen in der php.ini
- Datei bearbeiten: Öffnen Sie die php.ini-Datei zur Bearbeitung:
sudo nano /etc/php/7.4/apache2/php.ini
- Empfohlene Einstellungen:
memory_limit = 256M upload_max_filesize = 50M post_max_size = 50M max_execution_time = 300 max_input_time = 300 session.gc_maxlifetime = 1440
7. Datensicherung
- Snapshots: Verwenden Sie Snapshots, um den aktuellen Zustand des Systems zu sichern. Dies kann mit Tools wie
LVM
oderBtrfs
erfolgen. - Cloud-Backup: Nutzen Sie Open-Source-Tools wie
Kopia
für verschlüsselte Backups in der Cloud. Kopia unterstützt verschiedene Cloud-Speicheranbieter wie Amazon S3, Azure Blob Storage und Google Cloud Storage. Hier ist ein Beispiel für die Konfiguration eines Backups mit Kopia:kopia repository create s3 --bucket=mein-backup-bucket --prefix=backups --access-key=MEIN_ACCESS_KEY --secret-access-key=MEIN_SECRET_KEY kopia snapshot create /var/www/html/dolibarr kopia snapshot create /etc/mysql
Diese Befehle erstellen ein neues Repository in einem S3-Bucket und sichern die Dolibarr- und MySQL-Verzeichnisse.
8. Sicherheitseinstellungen in Dolibarr
- CAPTCHA aktivieren: Aktivieren Sie CAPTCHA auf der Login-Seite, um automatisierte Angriffe zu verhindern:
Home ► Setup ► Security ► Use graphical code (CAPTCHA) on login page
- Passwortsicherheit: Stellen Sie sicher, dass Passwörter verschlüsselt in der Datenbank gespeichert werden:
Home ► Setup ► Security ► Encrypt passwords stored in database
- Fehlgeschlagene Anmeldungen: Begrenzen Sie die Anzahl fehlgeschlagener Anmeldeversuche:
Home ► Setup ► Security ► Maximum number of failed authentications within 24 hours
- Datei-Uploads: Konfigurieren Sie die maximale Dateigröße und verwenden Sie ein Antivirus-Tool für hochgeladene Dateien:
Home ► Setup ► Security ► Maximum size for uploaded files Home ► Setup ► Security ► Full path to antivirus command
9. Automatische Aktualisierung und Sicherung
- Automatische Updates: Richten Sie automatische Updates für das System ein, um sicherzustellen, dass alle Pakete auf dem neuesten Stand sind. Bearbeiten Sie die Datei
/etc/apt/apt.conf.d/50unattended-upgrades
:sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Stellen Sie sicher, dass die folgenden Zeilen aktiviert sind:
Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; };
Aktivieren Sie den automatischen Upgrade-Dienst:
sudo dpkg-reconfigure --priority=low unattended-upgrades
- Automatische Backups: Erstellen Sie ein Cron-Job-Skript für die nächtliche Sicherung. Erstellen Sie eine Datei
/etc/cron.daily/backup
:sudo nano /etc/cron.daily/backup
Fügen Sie das folgende Skript hinzu:
#!/bin/bash # MySQL-Datenbank sichern mysqldump -u root -pMEIN_PASSWORT dolibarr > /var/backups/dolibarr_$(date +\%F).sql # Dolibarr-Verzeichnis sichern tar -czf /var/backups/dolibarr_files_$(date +\%F).tar.gz /var/www/html/dolibarr # Kopia-Backup durchführen kopia snapshot create /var/www/html/dolibarr kopia snapshot create /etc/mysql
Machen Sie das Skript ausführbar:
sudo chmod +x /etc/cron.daily/backup