3.2.1. Встановлення Dolibarr і Talerbarr з командного рядка#
Важливо: Це не офіційний посібник з установлення Dolibarr. Він надається лише як повний наскрізний посібник із встановлення модуля Talerbarr, зокрема з використанням установлення на основі папки, а не встановлення через інтерфейс користувача Dolibarr або Dolistore.
Цей посібник призначений для користувачів із певним досвідом розробки або системного адміністрування. Якщо ви ніколи раніше не користувалися інструментами командного рядка, розгляньте більш зручний спосіб отримання Dolibarr, наприклад SaaS-рішення, схвалене командою Dolibarr.
3.2.1.1. Мати сервер Debian#
Перш ніж продовжити, переконайтеся, що у вас є працюючий сервер Debian із доступом sudo. Для цього встановлення Dolibarr працюватиме в rootless Podman від імені звичайного користувача, тоді як sudo використовується лише для встановлення пакетів і початкового налаштування системи. Rootless Podman є офіційно підтримуваним режимом, і для користувацьких служб, які мають зберігатися після виходу з сеансу та запускатися під час завантаження, рекомендації Podman/systemd радять увімкнути lingering для цього користувача.
3.2.1.2. Мати запис DNS#
Створіть запис DNS у свого реєстратора домену або DNS-провайдера:
Тип: A
Назва: erp, dolibarr або інший піддомен на ваш вибір
Значення: публічна IP-адреса вашого сервера
3.2.1.3. Встановіть Podman#
Встановіть Podman та інструменти, необхідні для контейнерів без прав 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. Створіть зворотний проксі-сервер#
Ви абсолютно вільні налаштувати це у зручний для вас спосіб, тут здебільшого немає правильного чи неправильного варіанту; тут просто описано, як ми підготували систему для створення тексту й зображень цих посібників.
Встановіть 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 у цьому посібнику слід виконувати від імені цього користувача, щоб розгортання залишалося без прав root.
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
Ці змінні є частиною офіційного інтерфейсу контейнера 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
Перевірте, що контейнери запущені:
podman ps
podman-compose logs
Відкрийте браузер і перейдіть за адресою:
https://erp.example.com
Якщо все налаштовано правильно, ви маєте побачити веб-інтерфейс Dolibarr через HTTPS.
3.2.1.11. Встановлення власних модулів#
Тепер ви можете розмістити модулі в каталозі ~/dolibarr/custom. Для прикладу з модулем TalerBarr продовжіть з Встановлення з репозиторію вихідного коду.