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.