3.2.1. Dolibarr und Talerbarr über die Kommandozeile installieren#
Wichtig: Dies ist kein offizielles Installationstutorial für Dolibarr. Es dient lediglich als vollständige End-to-End-Anleitung zur Installation des Talerbarr-Moduls, wobei speziell eine ordnerbasierte Installation verwendet wird, statt der Installation über die Dolibarr-Benutzeroberfläche oder Dolistore.
Dieses Tutorial richtet sich an Benutzer mit Entwickler- oder Systemadministrations-Hintergrund. Wenn Sie noch nie Kommandozeilen-Werkzeuge verwendet haben, ziehen Sie eine benutzerfreundlichere Möglichkeit in Betracht, Dolibarr zu erhalten, etwa eine vom Dolibarr-Team zugelassene SaaS-Lösung.
3.2.1.1. Einen Debian-Server haben#
Stellen Sie sicher, dass Sie über einen laufenden Debian-Server mit sudo-Zugriff verfügen, bevor Sie fortfahren. Für diese Installation läuft Dolibarr in rootless Podman als regulärer Benutzer, während sudo nur für die Paketinstallation und die anfängliche Systemeinrichtung verwendet wird. Rootless Podman ist ein offiziell unterstützter Modus, und für Benutzerdienste, die einen Logout überstehen und beim Systemstart starten müssen, empfiehlt die Podman/systemd-Dokumentation, für diesen Benutzer das „Lingering“ zu aktivieren.
3.2.1.2. Einen DNS-Eintrag konfigurieren#
Erstellen Sie einen neuen DNS-Eintrag bei Ihrer Domänenregistrierungsstelle oder Ihrem DNS-Anbieter:
Typ: A
Name: erp, dolibarr oder eine andere Subdomain Ihrer Wahl
Wert: Die öffentliche IP-Adresse Ihres Servers
3.2.1.3. Podman installieren#
Installieren Sie Podman und die für rootless Container benötigten Werkzeuge:
sudo apt update
sudo apt upgrade -y
sudo apt install -y podman podman-compose uidmap slirp4netns fuse-overlayfs passt aardvark-dns
3.2.1.4. Einen dedizierten Benutzer für Dolibarr anlegen#
Legen Sie einen dedizierten, unprivilegierten Benutzer an, dem der Dolibarr-Stack gehört und der ihn ausführt:
sudo adduser --disabled-password --gecos "" dolibarr
sudo loginctl enable-linger dolibarr
Der Befehl loginctl enable-linger ist wichtig, da systemd-Dienste auf Benutzerebene andernfalls beendet werden, sobald die letzte Sitzung dieses Benutzers endet.
3.2.1.5. Einen Reverse-Proxy erstellen#
Es steht Ihnen selbstverständlich frei, dies auf die von Ihnen bevorzugte Weise einzurichten – es gibt hier meist kein Richtig oder Falsch. Im Folgenden wird lediglich beschrieben, wie wir das System vorbereitet haben, um den Text und die Bilder dieses Tutorials zu erstellen.
Installieren Sie Nginx und Certbot auf dem Host:
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
Erstellen Sie /etc/nginx/sites-available/dolibarr.conf mit folgendem Inhalt und ersetzen Sie erp.example.com durch Ihre tatsächliche Domain:
server {
listen 80;
listen [::]:80;
server_name erp.example.com;
client_max_body_size 64M;
location / {
proxy_pass http://127.0.0.1:2793;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
}
}
Aktivieren Sie die Site und laden Sie Nginx neu:
sudo ln -s /etc/nginx/sites-available/dolibarr.conf /etc/nginx/sites-enabled/dolibarr.conf
sudo nginx -t
sudo systemctl reload nginx
Fordern Sie ein Let’s-Encrypt-Zertifikat an:
sudo certbot --nginx -d erp.example.com
Nachdem das Zertifikat erfolgreich ausgestellt wurde, aktualisiert Certbot die Nginx-Konfiguration, um HTTPS zu aktivieren und HTTP-Datenverkehr auf HTTPS umzuleiten.
3.2.1.6. Zum Dolibarr-Benutzer wechseln#
Wechseln Sie zum neuen Benutzer:
sudo -iu dolibarr
Alle übrigen Podman-Befehle in diesem Tutorial sollten als dieser Benutzer ausgeführt werden, damit das Deployment rootless bleibt.
3.2.1.7. Persistente Verzeichnisse erstellen#
Erstellen Sie die Verzeichnisse, die persistente Daten aufnehmen:
mkdir -p ~/dolibarr/{mariadb,documents,custom}
cd ~/dolibarr
All dies muss erledigt werden, damit bei einem Neustart oder bei einem Upgrade von Dolibarr auf eine neuere Version keine Daten verloren gehen.
3.2.1.8. Die Umgebungsdatei erstellen#
Create a .env file for database and Dolibarr settings:
cat > .env <<'EOF'
MYSQL_ROOT_PASSWORD=CHANGE_THIS_ROOT_PASSWORD
MYSQL_DATABASE=dolidb
MYSQL_USER=dolidbuser
MYSQL_PASSWORD=CHANGE_THIS_DB_PASSWORD
DOLI_INSTALL_AUTO=1
DOLI_INIT_DEMO=0
DOLI_PROD=1
DOLI_DB_HOST=mariadb
DOLI_DB_HOST_PORT=3306
DOLI_DB_NAME=dolidb
DOLI_DB_USER=dolidbuser
DOLI_DB_PASSWORD=CHANGE_THIS_DB_PASSWORD
DOLI_URL_ROOT=https://erp.example.com
DOLI_ADMIN_LOGIN=admin
DOLI_ADMIN_PASSWORD=CHANGE_THIS_ADMIN_PASSWORD
WWW_USER_ID=1000
WWW_GROUP_ID=1000
EOF
Diese Variablen sind Teil der offiziellen Dolibarr-Container-Schnittstelle. Überprüfen Sie stets erneut, ob sie sich nicht geändert haben und ob neue Einschränkungen/Empfehlungen eingeführt wurden, bevor Sie fortfahren.
3.2.1.9. Die Compose-Datei erstellen#
Erstellen Sie compose.yml:
cat > compose.yml <<'EOF'
services:
mariadb:
image: docker.io/library/mariadb:latest
container_name: dolibarr-mariadb
env_file:
- .env
volumes:
- ./mariadb:/var/lib/mysql:Z
restart: unless-stopped
web:
image: docker.io/dolibarr/dolibarr:latest
container_name: dolibarr-web
env_file:
- .env
depends_on:
- mariadb
ports:
- "2793:80"
volumes:
- ./documents:/var/www/documents:Z
- ./custom:/var/www/html/custom:Z
restart: unless-stopped
EOF
3.2.1.10. Dolibarr starten#
Starten Sie den Stack:
podman-compose up -d
podman-compose logs
Vergewissern Sie sich, dass die Container laufen:
podman ps
podman-compose logs
Öffnen Sie Ihren Browser und navigieren Sie zu:
https://erp.example.com
Wenn alles korrekt konfiguriert ist, sollten Sie die Dolibarr-Weboberfläche über HTTPS sehen.
3.2.1.11. Benutzerdefinierte Module installieren#
Jetzt können Sie Module in das Verzeichnis ~/dolibarr/custom legen. Für das Beispiel des TalerBarr-Moduls fahren Sie mit Installation aus dem Quellcode-Repository fort.