3.2.1. Εγκατάσταση του Dolibarr και του Talerbarr από τη Γραμμή Εντολών#

Σημαντικό: Αυτός δεν είναι επίσημος οδηγός εγκατάστασης του Dolibarr. Παρέχεται μόνο ως πλήρης οδηγός από άκρο σε άκρο για την εγκατάσταση της ενότητας Talerbarr, χρησιμοποιώντας συγκεκριμένα μια εγκατάσταση βασισμένη σε φάκελο αντί για εγκατάσταση μέσω του περιβάλλοντος χρήστη του Dolibarr ή του Dolistore.

Αυτός ο οδηγός απευθύνεται σε χρήστες με κάποιο υπόβαθρο σε ανάπτυξη λογισμικού ή διαχείριση συστημάτων. Αν δεν έχετε χρησιμοποιήσει ποτέ εργαλεία γραμμής εντολών, σκεφτείτε έναν πιο φιλικό προς τον χρήστη τρόπο απόκτησης του Dolibarr, όπως μια λύση SaaS εγκεκριμένη από την ομάδα του Dolibarr.

3.2.1.1. Έχετε έναν διακομιστή Debian#

Βεβαιωθείτε ότι διαθέτετε έναν διακομιστή Debian σε λειτουργία με πρόσβαση sudo πριν προχωρήσετε. Για αυτήν την εγκατάσταση, το Dolibarr θα εκτελείται σε Podman χωρίς δικαιώματα root (rootless) ως κανονικός χρήστης, ενώ η sudo χρησιμοποιείται μόνο για την εγκατάσταση πακέτων και την αρχική διαμόρφωση του συστήματος. Το rootless Podman είναι μια επίσημα υποστηριζόμενη λειτουργία και, για υπηρεσίες χρήστη που πρέπει να επιβιώνουν μετά την αποσύνδεση και να ξεκινούν κατά την εκκίνηση, οι οδηγίες Podman/systemd συνιστούν την ενεργοποίηση του lingering για αυτόν τον χρήστη.

3.2.1.2. Διαμόρφωση μιας εγγραφής DNS#

Δημιουργήστε μια νέα εγγραφή DNS με τον καταχωρητή του domain σας:

Τύπος: A

Όνομα: erp, dolibarr, ή ένας άλλος υποτομέας της επιλογής σας

Τιμή: Η δημόσια διεύθυνση IP του διακομιστή σας

3.2.1.3. Εγκατάσταση του Podman#

Εγκαταστήστε το Podman και τα εργαλεία που απαιτούνται για containers χωρίς δικαιώματα root:

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. Δημιουργήστε έναν αποκλειστικό χρήστη για το Dolibarr#

Δημιουργήστε έναν αποκλειστικό χρήστη χωρίς προνόμια, ο οποίος θα κατέχει και θα εκτελεί τη στοίβα του Dolibarr:

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

Η εντολή loginctl enable-linger είναι σημαντική επειδή οι υπηρεσίες systemd σε επίπεδο χρήστη διαφορετικά σταματούν μετά τη λήξη της τελευταίας συνεδρίας αυτού του χρήστη.

3.2.1.5. Δημιουργήστε έναν αντίστροφο διακομιστή μεσολάβησης (reverse proxy)#

Είστε απολύτως ελεύθεροι να το ρυθμίσετε με τον τρόπο που προτιμάτε· στις περισσότερες περιπτώσεις δεν υπάρχει σωστό ή λάθος. Εδώ περιγράφεται απλώς ο τρόπος με τον οποίο εμείς ρυθμίσαμε το σύστημα για να ολοκληρώσουμε το κείμενο και τις εικόνες των οδηγών.

Εγκαταστήστε το Nginx και το Certbot στον διακομιστή υποδοχής:

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

Δημιουργήστε το /etc/nginx/sites-available/dolibarr.conf με το ακόλουθο περιεχόμενο, αντικαθιστώντας το erp.example.com με τον πραγματικό σας τομέα:

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

Ενεργοποιήστε τον ιστότοπο και επαναφορτώστε το Nginx:

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

Ζητήστε ένα πιστοποιητικό Let’s Encrypt:

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

Αφού εκδοθεί επιτυχώς το πιστοποιητικό, το Certbot θα ενημερώσει τη διαμόρφωση του Nginx ώστε να ενεργοποιηθεί το HTTPS και να ανακατευθύνεται η κίνηση HTTP σε HTTPS.

3.2.1.6. Γίνετε ο χρήστης του Dolibarr#

Μεταβείτε στον νέο χρήστη:

sudo -iu dolibarr

Όλες οι υπόλοιπες εντολές Podman σε αυτόν τον οδηγό πρέπει να εκτελούνται ως αυτός ο χρήστης, ώστε η ανάπτυξη να παραμένει rootless.

3.2.1.7. Δημιουργήστε μόνιμους καταλόγους#

Δημιουργήστε τους καταλόγους που θα φιλοξενούν μόνιμα δεδομένα:

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

Όλα αυτά πρέπει να γίνουν ώστε να μην χάσετε δεδομένα σε περίπτωση επανεκκίνησης ή αναβάθμισης του Dolibarr σε νεότερη έκδοση.

3.2.1.8. Δημιουργήστε το αρχείο περιβάλλοντος#

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

Αυτές οι μεταβλητές αποτελούν μέρος της επίσημης διεπαφής container του Dolibarr. Επαληθεύετε πάντα ότι δεν έχουν αλλάξει και ότι δεν έχουν εισαχθεί νέοι περιορισμοί/συστάσεις πριν προχωρήσετε.

3.2.1.9. Δημιουργήστε το αρχείο compose#

Δημιουργήστε το 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#

Εκκινήστε τη στοίβα:

podman-compose up -d
podman-compose logs

Βεβαιωθείτε ότι τα containers εκτελούνται:

podman ps
podman-compose logs

Ανοίξτε το πρόγραμμα περιήγησής σας και μεταβείτε στη διεύθυνση:

https://erp.example.com

Αν όλα έχουν ρυθμιστεί σωστά, θα πρέπει να δείτε τη διεπαφή ιστού του Dolibarr μέσω HTTPS.

3.2.1.11. Εγκαταστήστε προσαρμοσμένες ενότητες#

Τώρα μπορείτε να τοποθετήσετε ενότητες στον κατάλογο ~/dolibarr/custom. Για το παράδειγμα της ενότητας TalerBarr, συνεχίστε με το Εγκατάσταση από το αποθετήριο πηγαίου κώδικα.