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.

Betroffene Versionen
Dolibarr 24.0.2 (offizielles Archiv) · Ubuntu 24.04 LTS (PHP 8.3, MariaDB 10.11, Apache 2.4.58) · Debian 13 (PHP 8.4, MariaDB 11.8, Apache 2.4.68)
Was geprüft wurde
Neuinstallationen am 13.10.2026 auf Ubuntu 24.04.5 und Debian 13, in Docker-Containern: die Befehle dieser Seite unverändert ausgeführt (sudo entfernt, da der Container als root läuft), Web-Assistent bis zur Anmeldeseite durchlaufen, install.lock und schreibgeschützte Rechte geprüft, Upload einer 5-MB-Datei vor und nach dem Anheben des Dolibarr-Limits, Modul Geplante Jobs aktiviert, Job von Hand und dann vom System-Cron gestartet.

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.lock an: 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/documents durch /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: dolibarr und 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.

  1. Öffnen Sie Start › Einstellungen › Module/Anwendungen und aktivieren Sie Geplante Jobs.
  2. Ö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.
  3. Tragen Sie den Job in den System-Cron ein. Ersetzen Sie dabei IHR_SCHLUESSEL durch den Schlüssel und admin durch 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

Wenn Sie das lieber abgeben möchten: Das Paket Installation und Einrichtung geht von dieser Konfiguration aus.

Siehe auch

DolibarrInstallationUbuntuDebianApacheMariaDBPHPinstall.lockCron