3.2.1. Instalacja Dolibarr i Talerbarr z wiersza poleceń#

Ważne: To nie jest oficjalny samouczek instalacji Dolibarr. Stanowi on jedynie kompletny przewodnik krok po kroku dotyczący instalacji modułu Talerbarr, wykorzystujący konkretnie instalację opartą na folderze, a nie instalację przez interfejs Dolibarr lub Dolistore.

Ten samouczek jest przeznaczony dla użytkowników posiadających pewne doświadczenie programistyczne lub administracyjne. Jeśli nigdy wcześniej nie korzystałeś z narzędzi wiersza poleceń, rozważ bardziej przyjazny dla użytkownika sposób uzyskania Dolibarr, taki jak rozwiązanie SaaS zatwierdzone przez zespół Dolibarr.

3.2.1.1. Posiadanie serwera Debian#

Przed przystąpieniem do dalszych czynności upewnij się, że masz działający serwer Debian z dostępem sudo. Podczas tej instalacji Dolibarr będzie działać w rootless Podman jako zwykły użytkownik, natomiast sudo jest używane wyłącznie do instalacji pakietów i wstępnej konfiguracji systemu. Rootless Podman jest oficjalnie wspieranym trybem, a w przypadku usług użytkownika, które muszą przetrwać wylogowanie i uruchamiać się przy starcie systemu, wskazówki dotyczące Podman/systemd zalecają włączenie lingeringu dla tego użytkownika.

3.2.1.2. Posiadanie rekordu DNS#

Utwórz rekord DNS u rejestratora domeny lub u dostawcy DNS:

Typ: A

Nazwa: erp, dolibarr lub inna subdomena według wyboru

Wartość: publiczny adres IP serwera

3.2.1.3. Instalacja Podman#

Zainstaluj Podman oraz narzędzia potrzebne do kontenerów 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. Utwórz dedykowanego użytkownika dla Dolibarr#

Utwórz dedykowanego użytkownika bez uprawnień administratora, który będzie właścicielem i będzie uruchamiał stos Dolibarr:

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

Polecenie loginctl enable-linger jest ważne, ponieważ usługi systemd na poziomie użytkownika są w przeciwnym razie zatrzymywane po zakończeniu ostatniej sesji tego użytkownika.

3.2.1.5. Utwórz reverse proxy#

Oczywiście możesz skonfigurować to w preferowany przez siebie sposób — w większości przypadków nie ma tu dobrych czy złych rozwiązań. Poniżej opisano jedynie sposób, w jaki przygotowaliśmy system na potrzeby tekstu i zrzutów ekranu w tych samouczkach.

Zainstaluj Nginx i Certbot na hoście:

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

Utwórz plik /etc/nginx/sites-available/dolibarr.conf o następującej zawartości, zastępując erp.example.com swoją rzeczywistą domeną:

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

Włącz witrynę i przeładuj Nginx:

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

Wystąp o certyfikat Let’s Encrypt:

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

Po pomyślnym wystawieniu certyfikatu Certbot zaktualizuje konfigurację Nginx, aby włączyć HTTPS i przekierowywać ruch HTTP na HTTPS.

3.2.1.6. Przełącz się na użytkownika Dolibarr#

Przełącz się na nowego użytkownika:

sudo -iu dolibarr

Wszystkie pozostałe polecenia Podman w tym samouczku powinny być uruchamiane jako ten użytkownik, aby wdrożenie pozostało rootless.

3.2.1.7. Utwórz katalogi trwałe#

Utwórz katalogi, które będą przechowywać dane trwałe:

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

Wszystko to należy wykonać, aby nie utracić danych w przypadku ponownego uruchomienia systemu lub aktualizacji Dolibarr do nowszej wersji.

3.2.1.8. Utwórz plik środowiskowy#

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

Te zmienne są częścią oficjalnego interfejsu kontenera Dolibarr. Zawsze weryfikuj ponownie, czy nie uległy zmianie i czy nie wprowadzono nowych ograniczeń/zaleceń przed kontynuowaniem.

3.2.1.9. Utwórz plik compose#

Utwórz plik 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. Uruchom Dolibarr#

Uruchom stos:

podman-compose up -d
podman-compose logs

Sprawdź, czy kontenery są uruchomione:

podman ps
podman-compose logs

Otwórz przeglądarkę i przejdź do:

https://erp.example.com

Jeśli wszystko zostało poprawnie skonfigurowane, powinieneś zobaczyć interfejs webowy Dolibarr działający przez HTTPS.

3.2.1.11. Zainstaluj moduły niestandardowe#

Teraz możesz umieszczać moduły w katalogu ~/dolibarr/custom. Aby zapoznać się z przykładem modułu TalerBarr, przejdź do Instalacja z repozytorium źródłowego.