3.2.1. Installare Dolibarr e Talerbarr dalla riga di comando#

Importante: questo non è un tutorial ufficiale di installazione di Dolibarr. Viene fornito solo come guida completa end-to-end per installare il modulo Talerbarr, utilizzando in particolare un’installazione basata su cartelle anziché l’installazione tramite l’interfaccia di Dolibarr o Dolistore.

Questo tutorial è destinato a utenti con un background da sviluppatore o da amministratore di sistema. Se non hai mai utilizzato strumenti a riga di comando, valuta un modo più semplice per ottenere Dolibarr, come una soluzione SaaS approvata dal team di Dolibarr.

3.2.1.1. Avere un server Debian#

Prima di procedere, assicurati di avere un server Debian funzionante con accesso sudo. Per questa installazione, Dolibarr verrà eseguito in Podman rootless come utente normale, mentre sudo viene utilizzato solo per l’installazione dei pacchetti e la configurazione iniziale del sistema. Podman rootless è una modalità ufficialmente supportata e, per i servizi utente che devono sopravvivere al logout e avviarsi al boot, la guida Podman/systemd consiglia di abilitare il lingering per tale utente.

3.2.1.2. Avere un record DNS#

Creare un record DNS con il registrar del dominio o il provider DNS:

Tipo: A

Nome: erp, dolibarr, oppure un altro sottodominio a tua scelta

Valore: Indirizzo IP del server

3.2.1.3. Installare Podman#

Installa Podman e gli strumenti necessari per i container rootless:

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. Crea un utente dedicato per Dolibarr#

Crea un utente dedicato senza privilegi che possiederà ed eseguirà lo stack Dolibarr:

sudo adduser --disabled-password --gecos "" dolibarr
sudo loginctl enable-linger dolibarr

Il comando loginctl enable-linger è importante perché, altrimenti, i servizi systemd a livello utente vengono interrotti al termine dell’ultima sessione di tale utente.

3.2.1.5. Crea un reverse proxy#

Sei assolutamente libero di configurarlo nel modo che preferisci: nella maggior parte dei casi non esiste un modo giusto o sbagliato. Qui verrà semplicemente descritto come abbiamo preparato il sistema per completare il testo e le immagini dei tutorial.

Installa Nginx e Certbot sull’host:

sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx

Crea /etc/nginx/sites-available/dolibarr.conf con il seguente contenuto, sostituendo erp.example.com con il tuo dominio reale:

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;
    }
}

Abilita il sito e ricarica Nginx:

sudo ln -s /etc/nginx/sites-available/dolibarr.conf /etc/nginx/sites-enabled/dolibarr.conf
sudo nginx -t
sudo systemctl reload nginx

Richiedi un certificato Let’s Encrypt:

sudo certbot --nginx -d erp.example.com

Una volta emesso correttamente il certificato, Certbot aggiornerà la configurazione di Nginx per abilitare HTTPS e reindirizzare il traffico HTTP verso HTTPS.

3.2.1.6. Diventa l’utente Dolibarr#

Passa al nuovo utente:

sudo -iu dolibarr

Tutti i restanti comandi Podman di questo tutorial devono essere eseguiti come questo utente, in modo che la distribuzione rimanga rootless.

3.2.1.7. Crea le directory persistenti#

Crea le directory che conterranno i dati persistenti:

mkdir -p ~/dolibarr/{mariadb,documents,custom}
cd ~/dolibarr

Tutto questo deve essere fatto per evitare di perdere dati in caso di riavvio o di aggiornamento di Dolibarr a una versione più recente.

3.2.1.8. Crea il file di ambiente#

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

Queste variabili fanno parte dell’interfaccia ufficiale del container Dolibarr. Verifica sempre che non siano cambiate e che non siano stati introdotti nuovi vincoli o raccomandazioni prima di procedere.

3.2.1.9. Crea il file compose#

Crea 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. Avvia Dolibarr#

Avvia lo stack:

podman-compose up -d
podman-compose logs

Verificare che i container siano attivi:

podman ps
podman-compose logs

Apri il browser e vai a:

https://erp.example.com

Se tutto è configurato correttamente, dovresti vedere l’interfaccia web di Dolibarr tramite HTTPS.

3.2.1.11. Installa moduli personalizzati#

Ora puoi inserire i moduli nella directory ~/dolibarr/custom. Per l’esempio del modulo TalerBarr, prosegui con Installare dal repository dei sorgenti.