Dolibarr auf Ubuntu oder Debian installieren
Dolibarr 24 auf Ubuntu 24.04 oder Debian 13 mit Apache, MariaDB und PHP installieren, mit getesteten Befehlen. Dazu, was der Assistent nicht erledigt: install.lock, 2-MB-Upload-Limit, Dokumentenordner, Cron-Schlüssel.
Diese Seite installiert Dolibarr 24 auf einem Server mit Ubuntu 24.04 LTS oder Debian 13, mit den Paketen der Distribution: Apache, MariaDB und PHP. Alle Befehle wurden am 13. Oktober 2026 auf einer Neuinstallation beider Systeme ausgeführt, mit dem offiziellen Archiv von Dolibarr 24.0.2.
Der Installationsassistent von Dolibarr läuft ohne Fehler durch, lässt aber vier Einstellungen offen, die die meisten Anleitungen nicht erwähnen und die wir auf beiden Systemen festgestellt haben:
- er legt keine
install.lockan: die Installationsseiten bleiben für jeden erreichbar; - er schlägt einen Dokumentenordner vor, den er nicht anlegen kann (
/var/www/dolibarr/documents); - Dolibarr begrenzt Datei-Uploads auf 2 MB, auch wenn PHP mehr erlaubt;
- der Schlüssel für geplante Jobs bleibt leer, wenn man das Modul aktiviert: kein Job läuft.
Was Sie brauchen
Einen Server mit Ubuntu 24.04 LTS oder Debian 13, ein Konto, das sudo verwenden darf, und Zugriff
auf Port 80. Die Pakete installieren PHP 8.3 auf Ubuntu 24.04 und PHP 8.4 auf Debian 13: Dolibarr 24
läuft mit beiden.
In den Befehlen liegt Dolibarr in /var/www/dolibarr und die Dokumente in
/var/lib/dolibarr/documents, außerhalb des Ordners, den Apache veröffentlicht. Dort speichert
Dolibarr Rechnungen, Anhänge und Sicherungen: Er darf nicht über das Web erreichbar sein.
1. Apache, MariaDB und PHP installieren
sudo apt update
sudo apt install -y apache2 mariadb-server php libapache2-mod-php php-mysql php-gd php-curl php-intl php-zip php-xml php-mbstring curl cron
Das sind alle Erweiterungen, die der Assistent von Dolibarr verlangt: Auf beiden Systemen ist seine Prüfseite mit dieser Liste vollständig grün.
2. Dolibarr herunterladen
cd /tmp
curl -fL -o dolibarr-24.0.2.tgz "https://sourceforge.net/projects/dolibarr/files/Dolibarr%20ERP-CRM/24.0.2/dolibarr-24.0.2.tgz/download"
sudo tar --no-same-owner -xzf /tmp/dolibarr-24.0.2.tgz -C /var/www
sudo mv /var/www/dolibarr-24.0.2 /var/www/dolibarr
sudo mkdir -p /var/lib/dolibarr/documents
sudo touch /var/www/dolibarr/htdocs/conf/conf.php
sudo chown www-data:www-data /var/www/dolibarr/htdocs/conf/conf.php
sudo chown -R www-data:www-data /var/lib/dolibarr/documents /var/www/dolibarr/htdocs/custom
Der Link führt zum offiziellen Archiv auf SourceForge. Für eine neuere Version ersetzen Sie
24.0.2 an allen drei Stellen.
Nur drei Stellen gehören dem Apache-Benutzer (www-data): conf.php, die der Assistent ausfüllt,
der Dokumentenordner und custom, wo externe Module installiert werden. Der übrige Code muss für
den Webserver nicht beschreibbar sein.
3. Die Datenbank anlegen
DBPASS=$(tr -dc 'A-Za-z0-9' </dev/urandom | head -c 24); echo "Datenbankpasswort: $DBPASS"
sudo mariadb -e "CREATE DATABASE dolibarr CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'dolibarr'@'localhost' IDENTIFIED BY '$DBPASS';
GRANT ALL PRIVILEGES ON dolibarr.* TO 'dolibarr'@'localhost';"
Notieren Sie das angezeigte Passwort: Der Assistent fragt danach. Auf Ubuntu und Debian meldet sich
sudo mariadb ohne Passwort als Datenbankadministrator an: Dolibarr braucht kein root-Konto.
4. Apache und PHP einrichten
sudo tee /etc/apache2/sites-available/dolibarr.conf > /dev/null <<'CONF'
<VirtualHost *:80>
ServerName dolibarr.example.com
DocumentRoot /var/www/dolibarr/htdocs
<Directory /var/www/dolibarr/htdocs>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/dolibarr_error.log
CustomLog ${APACHE_LOG_DIR}/dolibarr_access.log combined
</VirtualHost>
CONF
sudo a2ensite dolibarr
sudo a2dissite 000-default
PHPV=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')
sudo tee /etc/php/$PHPV/apache2/conf.d/99-dolibarr.ini /etc/php/$PHPV/cli/conf.d/99-dolibarr.ini > /dev/null <<'INI'
upload_max_filesize = 20M
post_max_size = 22M
date.timezone = Europe/Paris
INI
sudo systemctl reload apache2
Ersetzen Sie dolibarr.example.com durch den Namen Ihres Servers und Europe/Paris durch Ihre
Zeitzone (zum Beispiel Europe/Berlin). Die Standardseite von Apache wird deaktiviert: Dolibarr
antwortet also auch auf die IP-Adresse des Servers.
Die Datei 99-dolibarr.ini wird zweimal geschrieben: für Apache und für PHP auf der Kommandozeile.
Ohne die zweite Kopie laufen die geplanten Jobs aus Schritt 8 in UTC, während die Oberfläche Ihre
Zeitzone verwendet.
5. Der Installationsassistent
Öffnen Sie http://ihr-server/install/ (die Startseite zeigt nur einen Hinweis auf diese Adresse).
Wählen Sie die Sprache, dann Start in der Zeile „Neue Installation“. Ändern Sie auf der
Konfigurationsseite drei Dinge:
- Verzeichnis zur Speicherung von Dokumenten: Ersetzen Sie den vorgeschlagenen Wert
/var/www/dolibarr/documentsdurch/var/lib/dolibarr/documents. Der vorgeschlagene Ordner existiert nicht, und Apache darf ihn nicht anlegen: Der Assistent würde mit einem Fehler abbrechen, der meldet, dass das Verzeichnis nicht existiert. - Benutzername und Passwort der Datenbank:
dolibarrund das in Schritt 3 notierte Passwort. - Lassen Sie Datenbank erstellen und Erstellen Sie ein Benutzerkonto … leer: Das ist bereits erledigt.
Der Assistent legt danach die Tabellen an. Bevor Sie weitermachen: Ein Kästchen ist standardmäßig angekreuzt, „Einen anonymen Ping ‘+1’ an den Dolibarr-Foundation-Server senden“. Es sendet einmalig ein Signal an die Foundation, damit sie die Installationen zählen kann; entfernen Sie das Häkchen, wenn Sie das nicht möchten. Letzter Schritt: Benutzername und Passwort des ersten Administrators.
6. Die Installation abschließen
Die letzte Seite des Assistenten sagt es, tut es aber nicht: Sie müssen install.lock anlegen. Ohne
diese Datei kann jeder /install/ öffnen und die Installation auf Ihrer Datenbank erneut starten.
sudo touch /var/lib/dolibarr/documents/install.lock
sudo chmod 400 /var/www/dolibarr/htdocs/conf/conf.php
sudo find /var/www/dolibarr/htdocs -path /var/www/dolibarr/htdocs/custom -prune -o -exec chmod a-w {} +
Nach diesen drei Befehlen meldet /install/, dass die Installation gesperrt ist, conf.php ist nur
noch für Apache lesbar, und Apache kann keine Datei des Codes mehr ändern, außer in custom. Wir
haben alle drei Punkte geprüft, ebenso, dass Apache weiterhin in custom schreiben kann.
install.lock gehört in den Dokumentenordner, nicht in htdocs: Die Details und wie man damit ein
Update macht, stehen in install.lock: wohin damit.
7. Das 2-MB-Upload-Limit anheben
PHP erlaubt jetzt 20 MB, aber Dolibarr wendet ein eigenes Limit an, das bei der Installation auf
2.048 KB gesetzt wird. In unserem Test wird eine 5-MB-Datei mit „Die Dateigröße ist zu groß
oder die Datei wurde nicht bereitgestellt“ abgelehnt. Öffnen Sie Start › Einstellungen ›
Sicherheit, Reiter Dateien, und setzen Sie „Maximale Größe für Dateiuploads“ auf 20480
(der Wert ist in KB). Dieselbe Datei geht danach problemlos durch.
8. Geplante Jobs
E-Mail-Erinnerungen, Bereinigen temporärer Dateien, automatische Sicherungen: Diese Jobs brauchen das Modul Geplante Jobs und einen regelmäßigen Aufruf durch den Cron des Systems.
- Öffnen Sie Start › Einstellungen › Module/Anwendungen und aktivieren Sie Geplante Jobs.
- Öffnen Sie die Einstellungen des Moduls. Das Feld Sicherheitsschlüssel für URL zum Starten von Cron-Jobs ist leer: Klicken Sie auf das Symbol neben dem Feld, um einen zu erzeugen, dann auf Speichern. Kopieren Sie den angezeigten Schlüssel; er ist in der Datenbank verschlüsselt, dort zu suchen lohnt sich nicht.
- Tragen Sie den Job in den System-Cron ein. Ersetzen Sie dabei
IHR_SCHLUESSELdurch den Schlüssel undadmindurch den Benutzernamen, unter dem die Jobs laufen sollen:
echo "*/5 * * * * www-data /usr/bin/php /var/www/dolibarr/scripts/cron/cron_run_jobs.php IHR_SCHLUESSEL admin > /dev/null 2>&1" | sudo tee /etc/cron.d/dolibarr
Zum Prüfen, ohne fünf Minuten zu warten:
sudo -u www-data /usr/bin/php /var/www/dolibarr/scripts/cron/cron_run_jobs.php IHR_SCHLUESSEL admin
Die Ausgabe muss „TZ server = Europe/Paris“ (oder Ihre Zeitzone) zeigen, dann „Result of run_jobs OK“ für jeden fälligen Job (direkt nach dem Aktivieren des Moduls sind es drei). Endet sie mit „securitykey provided … does not match securitykey in setup“, wurde der Schlüssel nicht gespeichert oder falsch kopiert. In unserem Test hat der System-Cron danach beim nächsten Durchlauf selbstständig einen fälligen Job gestartet.
Bevor Sie den Zugriff aus dem Internet öffnen
Diese Installation antwortet über HTTP. Bevor Sie sie aus dem Internet erreichbar machen,
installieren Sie ein Zertifikat (Certbot erledigt das für Apache) und stellen dann die Adresse in
der Zeile $dolibarr_main_url_root von conf.php auf https:// um. Dieser Schritt braucht einen
echten Domainnamen: Wir haben ihn hier nicht getestet.
Danach
- Sichern: Datenbank und Dokumentenordner, wie in Dolibarr sichern und wiederherstellen erklärt.
- Aktualisieren: Methode und Fallstricke, Version für Version, stehen in Dolibarr-Update ohne Ausfälle.
- Lieber Docker? Dieselbe Installation in Containern: Dolibarr mit Docker Compose installieren.
Wenn Sie das lieber abgeben möchten: Das Paket Installation und Einrichtung geht von dieser Konfiguration aus.