Встановлення Dolibarr ERP/CRM на VPS: Nginx, PostgreSQL та Let's Encrypt
TL;DR
У цьому детальному посібнику ми крок за кроком налаштуємо Dolibarr ERP/CRM — потужну систему для управління бізнесом — на власному віртуальному або виділеному сервері (VPS/dedicated). Ми розгорнемо Dolibarr версії 20.0 (актуальна на 2026 рік) з використанням Nginx як веб-сервера, PostgreSQL для бази даних та забезпечимо безпечне HTTPS-з'єднання через Let's Encrypt. Це дозволить вам отримати повний контроль над вашою бізнес-інфраструктурою, забезпечити високу продуктивність та захист даних.
- Dolibarr ERP/CRM версії 20.0 буде встановлено на VPS з Nginx та PostgreSQL.
- Буде налаштовано безпечний доступ по HTTPS за допомогою безкоштовних сертифікатів Let's Encrypt.
- Ви отримаєте повністю функціональну систему для управління продажами, проєктами, запасами та фінансами.
- Посібник включає команди для Ubuntu 24.04 LTS, актуальні на 2026 рік.
- Описано кроки з підготовки сервера, встановлення ПЗ, конфігурації, резервного копіювання та усунення типових проблем.
Що ми налаштовуємо і навіщо
У цьому посібнику ми зосередимося на встановленні та налаштуванні Dolibarr ERP/CRM — комплексної системи для управління ресурсами підприємства (ERP) та взаємовідносинами з клієнтами (CRM). Dolibarr є веб-додатком, який дозволяє малим та середнім підприємствам (SMB), фрилансерам та асоціаціям ефективно управляти різними аспектами їхньої діяльності.
Після завершення налаштування ви отримаєте повністю функціональну платформу, здатну обробляти:
- Управління продажами: комерційні пропозиції, замовлення клієнтів, рахунки, відвантаження.
- Управління проєктами: завдання, часові витрати, планування.
- Управління запасами: продукти, послуги, складський облік.
- Фінанси: банківські рахунки, платежі, витрати, звіти.
- Взаємовідносини з клієнтами: контакти, сторонні компанії, історія взаємодій.
- Маркетинг: розсилки, кампанії.
Dolibarr — це потужна альтернатива пропрієтарним рішенням, таким як SAP Business One або Odoo (у їхніх безкоштовних або базових версіях), що пропонує гнучкість та повний контроль над даними. Встановлення на власному VPS дає низку переваг порівняно з хмарними (cloud-managed) сервісами:
- Повний контроль над даними: Ваші дані зберігаються на вашому сервері, а не у стороннього провайдера, що є критичним для конфіденційності та відповідності нормативам (наприклад, GDPR).
- Гнучкість та кастомізація: Ви можете встановлювати будь-які модулі, вносити зміни в код (якщо це необхідно) та адаптувати систему під унікальні бізнес-процеси без обмежень SaaS-платформ.
- Економія коштів у довгостроковій перспективі: Хоча початкове налаштування вимагає часу, відсутність щомісячної абонентської плати за користувача або за функціонал може значно знизити операційні витрати для зростаючих команд.
- Оптимізація продуктивності: Ви можете вибрати сервер, який ідеально відповідає вашим потребам, та оптимізувати його для максимальної продуктивності Dolibarr, не залежно від "сусідів" по хмарі.
- Незалежність від постачальника: Ви не прив'язані до одного провайдера і можете легко мігрувати Dolibarr на інший сервер або хостинг за необхідності.
Цей туторіал призначений для тих, хто шукає надійне, контрольоване та масштабоване рішення для управління своїм бізнесом, віддаючи перевагу самостійному розгортанню на VPS.
Який VPS-конфіг потрібен для цього завдання
Вибір відповідного VPS-конфігу є критичним для забезпечення стабільної та швидкої роботи Dolibarr. Вимоги до ресурсів залежать від кількості користувачів, обсягу даних та інтенсивності використання системи. Dolibarr, Nginx, PostgreSQL та PHP-FPM — це досить ресурсоємний стек, тому економити на базових характеристиках не варто.
Мінімальні вимоги (для 1-5 користувачів)
- CPU: 2 ядра x86-64 (сучасні процесори Intel Xeon E3/E5 або AMD EPYC).
- RAM: 4 GB DDR4. Цього достатньо для роботи PostgreSQL, PHP-FPM та Nginx з невеликим обсягом даних та невеликим навантаженням.
- Диск: 80 GB SSD NVMe. Для бази даних, файлів Dolibarr та операційної системи. NVMe SSD значно покращує продуктивність операцій вводу-виводу, що є критичним для баз даних.
- Мережа: 100 Mbps (гарантований канал). Для стабільного доступу користувачів та резервного копіювання.
Рекомендований VPS-план (для 5-20 користувачів або активного використання)
Для більш активного використання Dolibarr, підтримки більшої кількості користувачів або при планах на розширення функціоналу, рекомендується наступний конфіг:
- CPU: 4 ядра x86-64.
- RAM: 8 GB DDR4.
- Диск: 160-240 GB SSD NVMe.
- Мережа: 1 Gbps (гарантований канал).
Для оренди VPS із зазначеними характеристиками, ви можете розглянути варіанти, що пропонують гнучкі тарифи та надійну інфраструктуру.
Коли потрібен dedicated, а не VPS
Виділений сервер (dedicated server) стає кращим за VPS у таких випадках:
- Велика кількість користувачів: Якщо у вас понад 50 активних користувачів або тисячі транзакцій на день, ресурси VPS можуть стати вузьким місцем.
- Високе навантаження на базу даних: При дуже великих базах даних (сотні гігабайт) або складних запитах, dedicated сервер з потужними CPU та великим обсягом RAM (наприклад, 32 GB+) забезпечить кращу продуктивність.
- Підвищені вимоги до безпеки та ізоляції: Dedicated сервер забезпечує повну фізичну ізоляцію, що може бути критичним для певних видів даних або аудитів безпеки.
- Необхідність спеціального обладнання: Якщо вам потрібні специфічні апаратні компоненти (наприклад, апаратні RAID-контролери, GPU для інших завдань) або ви хочете повний контроль над апаратним забезпеченням.
- Запуск багатьох сервісів: Якщо крім Dolibarr ви плануєте розміщувати інші вимогливі додатки або мікросервіси.
У таких сценаріях, відповідний dedicated сервер може бути більш виправданим вибором, незважаючи на вищу вартість.
Локація: на що впливає
Вибір локації сервера впливає на кілька факторів:
- Затримка (Latency): Чим ближче сервер до вашої основної аудиторії (користувачів Dolibarr), тим нижча затримка та швидша відповідь системи. Для локальних команд вибирайте сервер у вашій країні або сусідньому регіоні.
- Відповідність законодавству: Деякі галузі або країни вимагають зберігання даних у певній юрисдикції. Переконайтеся, що вибрана локація відповідає цим вимогам.
- Вартість: Ціни на VPS/dedicated сервери можуть варіюватися залежно від локації через різну вартість електроенергії, каналів зв'язку та податків.
- Надійність та доступність: Вибирайте провайдерів з дата-центрами в регіонах з високою доступністю та надійною інфраструктурою.
Підготовка сервера
Перед встановленням Dolibarr необхідно виконати базове налаштування свіжого VPS, щоб забезпечити безпеку та стабільність роботи. Ми будемо використовувати операційну систему Ubuntu 24.04 LTS (Noble Numbat), актуальну на 2026 рік.
1. Підключення по SSH
Використовуйте SSH-клієнт для підключення до вашого сервера. Замініть your_user на ім'я користувача (зазвичай root або надане провайдером) та your_vps_ip на IP-адресу вашого VPS.
ssh your_user@your_vps_ip
2. Оновлення системи
Завжди починайте з оновлення списку пакетів та їх встановлення, щоб переконатися, що у вас найсвіжіші версії ПЗ та патчі безпеки.
sudo apt update && sudo apt upgrade -y
3. Створення нового користувача з правами sudo (якщо ви увійшли як root)
Робота під користувачем root небезпечна. Створіть нового користувача та надайте йому права sudo.
sudo adduser dolibarruser # Створюємо нового користувача
sudo usermod -aG sudo dolibarruser # Додаємо користувача в групу sudo
Тепер вийдіть з поточної сесії root та увійдіть під новим користувачем.
exit
ssh dolibarruser@your_vps_ip
4. Налаштування SSH-ключів для безпарольного входу
Це підвищує безпеку та зручність. Згенеруйте ключі на вашій локальній машині, якщо їх немає:
ssh-keygen -t rsa -b 4096
Скопіюйте публічний ключ на сервер:
ssh-copy-id dolibarruser@your_vps_ip
Після перевірки, вимкніть вхід за паролем для SSH (рекомендується). Відредагуйте файл /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Знайдіть та змініть наступні рядки:
#PasswordAuthentication yes
PasswordAuthentication no
#PermitRootLogin prohibit-password
PermitRootLogin no
Перезапустіть SSH-сервіс:
sudo systemctl restart sshd
5. Встановлення та налаштування міжмережевого екрана (UFW)
UFW (Uncomplicated Firewall) — це простий у використанні інтерфейс для iptables. Дозвольте лише необхідні порти.
sudo apt install ufw -y # Встановлюємо UFW
sudo ufw default deny incoming # Забороняємо всі вхідні за замовчуванням
sudo ufw default allow outgoing # Дозволяємо всі вихідні за замовчуванням
sudo ufw allow OpenSSH # Дозволяємо SSH (порт 22)
sudo ufw allow http # Дозволяємо HTTP (порт 80)
sudo ufw allow https # Дозволяємо HTTPS (порт 443)
sudo ufw enable # Включаємо UFW (підтвердіть 'y')
sudo ufw status # Перевіряємо статус
6. Встановлення Fail2Ban
Fail2Ban захищає ваш сервер від атак методом перебору, блокуючи IP-адреси, які роблять занадто багато невдалих спроб входу.
sudo apt install fail2ban -y # Встановлюємо Fail2Ban
sudo systemctl enable fail2ban # Включаємо автозапуск
sudo systemctl start fail2ban # Запускаємо сервіс
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Створюємо локальний конфіг
sudo nano /etc/fail2ban/jail.local # Редагуємо конфіг
У файлі jail.local переконайтеся, що секція [sshd] активна та налаштована:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h
Перезапустіть Fail2Ban:
sudo systemctl restart fail2ban
Встановлення ПЗ — покроково
Тепер, коли сервер підготовлено, приступимо до встановлення основних компонентів: Nginx, PostgreSQL, PHP-FPM та самого Dolibarr. Ми будемо використовувати актуальні версії ПЗ на 2026 рік, припускаючи, що Ubuntu 24.04 LTS є стабільною базою.
1. Встановлення Nginx (веб-сервер)
Nginx виступатиме в ролі високопродуктивного веб-сервера для Dolibarr.
sudo apt install nginx -y # Встановлюємо Nginx
sudo systemctl enable nginx # Вмикаємо автозапуск Nginx
sudo systemctl start nginx # Запускаємо Nginx
Перевірте статус Nginx:
sudo systemctl status nginx
2. Встановлення PostgreSQL (сервер баз даних)
Dolibarr може працювати з MySQL/MariaDB, але PostgreSQL часто обирають за його надійність та продуктивність для складних застосунків.
sudo apt install postgresql postgresql-contrib -y # Встановлюємо PostgreSQL та додаткові утиліти
sudo systemctl enable postgresql # Вмикаємо автозапуск PostgreSQL
sudo systemctl start postgresql # Запускаємо PostgreSQL
3. Створення бази даних та користувача PostgreSQL для Dolibarr
Переключіться на користувача postgres для створення бази даних та користувача.
sudo -i -u postgres # Переключаємося на користувача postgres
createuser --pwprompt dolibarruserdb # Створюємо користувача бази даних та встановлюємо пароль (запам'ятайте його!)
createdb -O dolibarruserdb dolibarrdb # Створюємо базу даних 'dolibarrdb' та призначаємо власника
exit # Повертаємося до вашого sudo-користувача
4. Встановлення PHP-FPM та необхідних розширень
Dolibarr написаний на PHP. Ми будемо використовувати PHP-FPM (FastCGI Process Manager) для обробки PHP-скриптів, що забезпечує кращу продуктивність та безпеку.
sudo apt install php8.4-fpm php8.4-pgsql php8.4-gd php8.4-curl php8.4-xml php8.4-mbstring php8.4-zip php8.4-intl php8.4-soap -y # Встановлюємо PHP 8.4 FPM та розширення (актуально на 2026 рік)
sudo systemctl enable php8.4-fpm # Вмикаємо автозапуск PHP-FPM
sudo systemctl start php8.4-fpm # Запускаємо PHP-FPM
5. Завантаження та встановлення Dolibarr
Ми завантажимо останню стабільну версію Dolibarr (наприклад, 20.0) з офіційного GitHub-репозиторію або SourceForge. Переконайтеся, що ви використовуєте актуальне посилання для 2026 року.
cd /tmp # Переходимо до тимчасової директорії
wget https://github.com/Dolibarr/dolibarr/releases/download/20.0.0/dolibarr-20.0.0.tgz # Завантажуємо архів Dolibarr 20.0.0 (приклад версії на 2026)
sudo tar -xzf dolibarr-20.0.0.tgz -C /opt/ # Розпаковуємо архів до /opt/
sudo mv /opt/dolibarr-20.0.0 /opt/dolibarr # Перейменовуємо директорію для зручності
sudo mkdir /var/www/dolibarr # Створюємо директорію для веб-доступу
sudo mv /opt/dolibarr/htdocs/ /var/www/dolibarr/ # Переміщуємо файли Dolibarr до веб-директорії
sudo mkdir /var/lib/dolibarr/documents # Створюємо директорію для документів Dolibarr поза веб-доступом
sudo chown -R www-data:www-data /var/www/dolibarr /var/lib/dolibarr/documents # Встановлюємо правильні права доступу
sudo chmod -R 750 /var/www/dolibarr /var/lib/dolibarr/documents # Встановлюємо права на читання/запис
У Dolibarr є спеціальна директорія documents, яка має бути доступна для запису веб-сервером, але не повинна бути доступна безпосередньо з браузера. Ми розміщуємо її поза директорією веб-сервера для безпеки.
Конфігурація
Після встановлення всіх компонентів необхідно їх правильно налаштувати. Це включає Nginx для обслуговування Dolibarr, PHP-FPM для обробки скриптів та забезпечення HTTPS-з'єднання за допомогою Let's Encrypt.
1. Налаштування Nginx для Dolibarr
Створіть новий файл конфігурації Nginx для вашого домену (наприклад, yourdomain.com). Замініть yourdomain.com на ваш реальний домен.
sudo nano /etc/nginx/sites-available/dolibarr.conf
Вставте наступний вміст:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/dolibarr;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.4-fpm.sock; # Переконайтеся, що це правильна версія PHP
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Забороняємо доступ до конфіденційних файлів Dolibarr
location ~ /(build|config|data|docs|install|lib|locale|sql|test)/ {
deny all;
}
location ~ /\.ht {
deny all;
}
location ~ \.log$ {
deny all;
}
location ~ \.sql$ {
deny all;
}
location ~ \.conf$ {
deny all;
}
location ~ \.ini$ {
deny all;
# Забороняємо також .env файли, якщо вони використовуються для секретів
}
}
Створіть символічне посилання на цей файл у sites-enabled та видаліть дефолтний конфіг Nginx:
sudo ln -s /etc/nginx/sites-available/dolibarr.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default # Видаляємо дефолтний конфіг Nginx
sudo nginx -t # Перевіряємо синтаксис конфігу Nginx
sudo systemctl restart nginx # Перезапускаємо Nginx
2. Налаштування PHP-FPM
Іноді потрібно збільшити ліміти пам'яті та часу виконання для PHP. Відредагуйте файл php.ini для PHP 8.4 FPM:
sudo nano /etc/php/8.4/fpm/php.ini
Знайдіть та змініть наступні параметри:
memory_limit = 256M # Або вище, якщо у вас багато RAM та користувачів
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
date.timezone = Europe/Moscow # Або ваш часовий пояс
Перезапустіть PHP-FPM для застосування змін:
sudo systemctl restart php8.4-fpm
3. Отримання SSL-сертифіката з Let's Encrypt (Certbot)
HTTPS є обов'язковим для будь-якого сучасного веб-застосунку. Certbot автоматизує отримання та встановлення сертифікатів Let's Encrypt.
sudo apt install certbot python3-certbot-nginx -y # Встановлюємо Certbot для Nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com # Запускаємо Certbot
Дотримуйтесь інструкцій Certbot. Він автоматично змінить ваш конфіг Nginx, додасть HTTPS-редиректи та налаштує автоматичне продовження сертифіката. Після завершення ваш Nginx-конфіг буде оновлено, і Dolibarr буде доступний за HTTPS.
4. Завершення встановлення Dolibarr через веб-інтерфейс
Тепер, коли все налаштовано, відкрийте ваш домен (https://yourdomain.com) у браузері. Ви побачите сторінку встановлення Dolibarr:
- Крок 1: Перевірте системні вимоги. Переконайтеся, що всі необхідні розширення PHP та права доступу до файлів/директорій відзначені як "OK".
- Крок 2: Налаштування бази даних.
- Тип бази даних:
PostgreSQL - Ім'я хоста СУБД:
localhost - Порт СУБД:
5432 - Ім'я БД:
dolibarrdb(яку ми створили) - Логін користувача БД:
dolibarruserdb(якого ми створили) - Пароль користувача БД:
ваш_пароль_від_бд
- Тип бази даних:
- Крок 3: Налаштування Dolibarr.
- Шлях до директорії даних (
Dolibarr data directory):/var/lib/dolibarr/documents - Ім'я адміністратора:
admin(або інше) - Пароль адміністратора:
ваш_пароль_адміністратора
- Шлях до директорії даних (
Після завершення встановлення Dolibarr попросить вас видалити або перейменувати файл install.lock. Це важливий крок для безпеки:
sudo rm /var/www/dolibarr/install.lock
Тепер ви можете увійти до Dolibarr під створеним адміністратором.
5. Перевірка працездатності
Відкрийте ваш домен у браузері (https://yourdomain.com). Ви повинні побачити сторінку входу до Dolibarr.
Ви також можете перевірити доступність за допомогою curl з сервера:
curl -v https://yourdomain.com
У виводі ви повинні побачити успішну HTTP-відповідь (код 200) та інформацію про сертифікат Let's Encrypt.
Резервні копії та обслуговування
Регулярне резервне копіювання та своєчасне обслуговування є ключовими для стабільної та безпечної роботи Dolibarr. Втрата даних може бути катастрофічною для будь-якого бізнесу.
Що резервувати
Для повного відновлення Dolibarr вам знадобляться три основні компоненти:
- База даних PostgreSQL: Містить усі ваші бізнес-дані (клієнти, рахунки, замовлення, продукти тощо). Це найкритичніший компонент.
- Директорія документів Dolibarr:
/var/lib/dolibarr/documents. Тут зберігаються прикріплені файли, рахунки у PDF, користувацькі звіти та інші неструктуровані дані. - Конфігураційні файли Dolibarr:
/var/www/dolibarr/conf/conf.php. Містить параметри підключення до бази даних та інші важливі налаштування. Також корисно резервувати конфіги Nginx (/etc/nginx/sites-available/dolibarr.conf) та PHP (/etc/php/8.4/fpm/php.ini).
Простий скрипт авторезервування
Ми створимо простий скрипт, який виконуватиме дамп бази даних та архівуватиме директорію документів. Потім ці файли будуть переміщені у безпечне місце.
sudo mkdir -p /opt/backups/dolibarr # Створюємо директорію для резервних копій
sudo nano /opt/backups/dolibarr_backup.sh
Вставте наступний вміст у файл dolibarr_backup.sh. Замініть YOUR_DB_PASSWORD на пароль користувача бази даних dolibarruserdb.
#!/bin/bash
# Переменные
DB_NAME="dolibarrdb"
DB_USER="dolibarruserdb"
DB_PASSWORD="YOUR_DB_PASSWORD" # Введіть ваш пароль від БД
BACKUP_DIR="/opt/backups/dolibarr"
DOLIBARR_DOCS_DIR="/var/lib/dolibarr/documents"
CONFIG_FILE="/var/www/dolibarr/conf/conf.php"
NGINX_CONFIG="/etc/nginx/sites-available/dolibarr.conf"
PHP_CONFIG="/etc/php/8.4/fpm/php.ini"
DATE=$(date +%Y%m%d%H%M%S)
FILENAME_PREFIX="dolibarr_backup_${DATE}"
# Створення дампу бази даних PostgreSQL
echo "Створення дампу бази даних..."
PGPASSWORD="${DB_PASSWORD}" pg_dump -U "${DB_USER}" -d "${DB_NAME}" > "${BACKUP_DIR}/${FILENAME_PREFIX}_db.sql"
if [ $? -eq 0 ]; then
echo "Дамп бази даних успішно створено: ${BACKUP_DIR}/${FILENAME_PREFIX}_db.sql"
else
echo "Помилка при створенні дампу бази даних!"
exit 1
fi
# Архівування директорії документів та конфігів
echo "Архівування директорії документів та конфігів..."
tar -czf "${BACKUP_DIR}/${FILENAME_PREFIX}_files.tar.gz" -C "$(dirname ${DOLIBARR_DOCS_DIR})" "$(basename ${DOLIBARR_DOCS_DIR})" \
-C "$(dirname ${CONFIG_FILE})" "$(basename ${CONFIG_FILE})" \
-C "$(dirname ${NGINX_CONFIG})" "$(basename ${NGINX_CONFIG})" \
-C "$(dirname ${PHP_CONFIG})" "$(basename ${PHP_CONFIG})"
if [ $? -eq 0 ]; then
echo "Архів файлів успішно створено: ${BACKUP_DIR}/${FILENAME_PREFIX}_files.tar.gz"
else
echo "Помилка при архівуванні файлів!"
exit 1
fi
# Видалення старих резервних копій (зберігаємо останні 7 днів)
echo "Видалення старих резервних копій..."
find "${BACKUP_DIR}" -type f -name "dolibarr_backup_*.sql" -mtime +7 -delete
find "${BACKUP_DIR}" -type f -name "dolibarr_backup_*.tar.gz" -mtime +7 -delete
echo "Резервні копії старші 7 днів видалено."
echo "Резервне копіювання Dolibarr завершено."
Зробіть скрипт виконуваним:
sudo chmod +x /opt/backups/dolibarr_backup.sh
Додайте скрипт до cron для щоденного виконання (наприклад, о 3:00 ранку):
sudo crontab -e
Додайте наступний рядок у кінець файлу:
0 3 * * * /opt/backups/dolibarr_backup.sh >> /var/log/dolibarr_backup.log 2>&1
Куди зберігати резервні копії
Зберігання резервних копій на тому ж сервері, що й Dolibarr, дуже ризиковано. Якщо сервер вийде з ладу, ви втратите і систему, і резервні копії. Рекомендується використовувати одне з наступних рішень:
- Зовнішнє S3-сумісне об'єктне сховище: Найбільш надійний та масштабований варіант. Використовуйте утиліти типу
s3cmd,rcloneабоawscli(якщо використовуєте AWS S3) для автоматичного завантаження резервних копій. - Окремий VPS або виділений сервер: Просто синхронізуйте резервні копії по SSH за допомогою
rsyncна інший сервер. - Мережеве сховище NFS/SMB: Якщо у вас є локальна мережа з NAS.
Приклад додавання rsync до скрипта (після видалення старих резервних копій):
# Синхронізація резервних копій на віддалений сервер (замініть user@remote_host:/path/to/backups)
echo "Синхронізація резервних копій на віддалений сервер..."
rsync -avz --remove-source-files "${BACKUP_DIR}/" user@remote_host:/path/to/backups/
if [ $? -eq 0 ]; then
echo "Резервні копії успішно синхронізовано на віддалений сервер."
else
echo "Помилка при синхронізації резервних копій на віддалений сервер!"
fi
Оновлення: rolling vs maintenance window
- Оновлення ОС та ПЗ стеку (Nginx, PHP, PostgreSQL): Для системного ПЗ рекомендується використовувати "maintenance window" (вікно обслуговування). Заплануйте час, коли система використовується мінімально, і виконайте
sudo apt update && sudo apt upgrade -y. Завжди робіть резервну копію перед оновленням. - Оновлення Dolibarr: Оновлення самої системи Dolibarr (наприклад, з версії 20.0 до 21.0) вимагає окремого підходу. Зазвичай це включає завантаження нової версії, заміну файлів (крім директорії
confтаdocuments), а потім запуск скрипта оновлення через веб-інтерфейс. Завжди читайте офіційну документацію щодо оновлення Dolibarr для конкретної версії та робіть повну резервну копію перед початком. - Автоматичне продовження Let's Encrypt: Certbot за замовчуванням налаштований на автоматичне продовження сертифікатів. Ви можете перевірити статус cron-завдання для Certbot:
sudo systemctl status certbot.timer.
Вирішення проблем + FAQ
Навіть при ретельному налаштуванні можуть виникнути проблеми. Нижче представлені типові питання та способи їх вирішення.
Не можу отримати доступ до Dolibarr через браузер (HTTP 502 Bad Gateway)
Що перевірити: Помилка 502 зазвичай означає, що Nginx не може зв'язатися з PHP-FPM.
- Перевірте, чи запущено PHP-FPM:
sudo systemctl status php8.4-fpm - Перевірте логи PHP-FPM:
sudo journalctl -u php8.4-fpm - Перевірте, чи правильно вказано шлях до сокету PHP-FPM у конфігу Nginx (
fastcgi_pass unix:/run/php/php8.4-fpm.sock;). - Переконайтеся, що користувач
www-data(від імені якого працює Nginx) має права на читання/запис до сокету PHP-FPM.
Не можу отримати доступ до Dolibarr через браузер (HTTP 403 Forbidden)
Що перевірити: Помилка 403 означає, що Nginx може знайти файли, але йому заборонено їх віддавати.
- Перевірте права доступу до директорії
/var/www/dolibarr. Користувачwww-dataповинен бути власником або мати права на читання/виконання.sudo ls -la /var/www/dolibarr - Перевірте, що в конфігу Nginx немає правил
deny all;, які помилково блокують доступ до потрібних файлів.
sudo chown -R www-data:www-data /var/www/dolibarr && sudo chmod -R 750 /var/www/dolibarr
Не можу підключитися до бази даних PostgreSQL з Dolibarr
Що перевірити:
- Переконайтеся, що PostgreSQL запущено:
sudo systemctl status postgresql - Перевірте ім'я бази даних, користувача та пароль у файлі
/var/www/dolibarr/conf/conf.php(після встановлення через веб-інтерфейс). - Спробуйте підключитися до бази даних вручну з сервера:
(введіть пароль).sudo -i -u postgres psql -d dolibarrdb -U dolibarruserdb - Перевірте логи PostgreSQL на помилки:
sudo journalctl -u postgresql
conf.php. Якщо забули пароль до бази, скиньте його для користувача dolibarruserdb через psql.
Сертифікат Let's Encrypt не продовжується автоматично
Що перевірити:
- Перевірте статус таймера Certbot:
sudo systemctl status certbot.timer - Спробуйте виконати продовження вручну:
(для тесту) абоsudo certbot renew --dry-run
(для реального продовження).sudo certbot renew - Перевірте логи Certbot:
sudo less /var/log/letsencrypt/letsencrypt.log - Переконайтеся, що порти 80 і 443 відкриті в UFW.
--dry-run видає помилки, виправте їх (часто це проблеми з доступом до порту 80 або неправильні DNS-записи). Переконайтеся, що доменні імена у вашому Nginx-конфігу та в команді Certbot збігаються.
Не можу завантажити файли в Dolibarr (наприклад, вкладення до рахунків)
Що перевірити:
- Перевірте права доступу до директорії даних Dolibarr:
/var/lib/dolibarr/documents. Користувачwww-dataповинен мати права на запис.sudo ls -la /var/lib/dolibarr/documents - Перевірте значення
upload_max_filesizeтаpost_max_sizeу/etc/php/8.4/fpm/php.ini. Якщо файли занадто великі, PHP може їх відхиляти.
sudo chown -R www-data:www-data /var/lib/dolibarr/documents && sudo chmod -R 750 /var/lib/dolibarr/documents. Збільште ліміти в php.ini та перезапустіть PHP-FPM.
Який VPS-конфіг мінімально підійде?
Для невеликої команди (1-5 активних користувачів) та помірного використання Dolibarr мінімально підійде VPS з 2 ядрами CPU, 4 GB RAM та 80 GB NVMe SSD. Це забезпечить достатньо ресурсів для операційної системи, PostgreSQL, Nginx та PHP-FPM. Однак, при зростанні кількості користувачів або інтенсивності роботи з системою, рекомендується масштабувати ресурси, щоб уникнути уповільнень та забезпечити комфортну роботу.
Що вибрати — VPS чи dedicated для цього завдання?
Для більшості малих та середніх підприємств, фрілансерів та стартапів VPS буде оптимальним вибором. Він пропонує достатню продуктивність, гнучкість та економічність. Виділений сервер (dedicated) має сенс розглядати, якщо у вас дуже велика команда (50+ користувачів), високі вимоги до продуктивності бази даних, суворі нормативи щодо безпеки та ізоляції, або якщо ви плануєте розміщувати безліч інших ресурсоємних сервісів на одному хості. Dedicated сервери забезпечують повний контроль над залізом та ексклюзивні ресурси, але коштують значно дорожче та вимагають більшого рівня адміністрування.
Висновки та наступні кроки
Ви успішно розгорнули Dolibarr ERP/CRM на вашому VPS, використовуючи стек Nginx, PostgreSQL та PHP-FPM, а також забезпечили безпечне з'єднання за допомогою Let's Encrypt. Тепер у вас є потужна та гнучка платформа для управління всіма аспектами вашого бізнесу, повністю під вашим контролем.
Ось кілька кроків, які ви можете зробити для подальшого розвитку та оптимізації вашої системи:
- Налаштування моніторингу: Встановіть системи моніторингу (наприклад, Prometheus + Grafana або Zabbix) для відстеження продуктивності сервера, використання ресурсів та стану Dolibarr. Це допоможе виявляти проблеми до того, як вони стануть критичними.
- Вивчення модулів Dolibarr: Dolibarr має великий магазин модулів (DoliStore), які можуть розширити функціональність системи під специфічні потреби вашого бізнесу. Вивчіть доступні інтеграції та розширення.
- Оптимізація продуктивності: Зі зростанням навантаження ви можете розглянути оптимізацію PostgreSQL (тюнінг
postgresql.conf), PHP-FPM (налаштування пулів процесів) та Nginx (кешування). - Впровадження CI/CD: Для розробників або команд, які активно кастомізують Dolibarr, налаштування конвеєра безперервної інтеграції/безперервної поставки (CI/CD) допоможе автоматизувати розгортання оновлень та змін.