Установка 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.
Troubleshooting + 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) поможет автоматизировать развертывание обновлений и изменений.