Instalación de Dolibarr ERP/CRM en VPS: Nginx, PostgreSQL y Let's Encrypt
TL;DR
En esta guía detallada, configuraremos paso a paso Dolibarr ERP/CRM —un potente sistema para la gestión empresarial— en su propio servidor virtual o dedicado (VPS/dedicated). Implementaremos Dolibarr versión 20.0 (actual para 2026) utilizando Nginx como servidor web, PostgreSQL para la base de datos y aseguraremos una conexión HTTPS segura a través de Let's Encrypt. Esto le permitirá obtener un control total sobre su infraestructura empresarial, garantizar un alto rendimiento y proteger sus datos.
- Dolibarr ERP/CRM versión 20.0 se instalará en un VPS con Nginx y PostgreSQL.
- Se configurará un acceso seguro por HTTPS utilizando certificados gratuitos de Let's Encrypt.
- Obtendrá un sistema completamente funcional para la gestión de ventas, proyectos, inventarios y finanzas.
- La guía incluye comandos para Ubuntu 24.04 LTS, actuales para 2026.
- Se describen los pasos para la preparación del servidor, instalación de software, configuración, copias de seguridad y resolución de problemas típicos.
Qué configuramos y por qué
En esta guía nos centraremos en la instalación y configuración de Dolibarr ERP/CRM —un sistema integral para la gestión de recursos empresariales (ERP) y relaciones con clientes (CRM). Dolibarr es una aplicación web que permite a pequeñas y medianas empresas (PYMES), autónomos y asociaciones gestionar eficazmente diversos aspectos de su actividad.
Una vez completada la configuración, obtendrá una plataforma completamente funcional, capaz de gestionar:
- Gestión de ventas: presupuestos, pedidos de clientes, facturas, envíos.
- Gestión de proyectos: tareas, costes de tiempo, planificación.
- Gestión de inventarios: productos, servicios, control de almacén.
- Finanzas: cuentas bancarias, pagos, gastos, informes.
- Relaciones con clientes: contactos, empresas de terceros, historial de interacciones.
- Marketing: envíos masivos, campañas.
Dolibarr es una potente alternativa a soluciones propietarias como SAP Business One u Odoo (en sus versiones gratuitas o básicas), ofreciendo flexibilidad y control total sobre los datos. La instalación en su propio VPS ofrece una serie de ventajas en comparación con los servicios en la nube (cloud-managed):
- Control total sobre los datos: Sus datos se almacenan en su servidor, no en el de un proveedor externo, lo cual es crítico para la confidencialidad y el cumplimiento normativo (por ejemplo, GDPR).
- Flexibilidad y personalización: Puede instalar cualquier módulo, realizar cambios en el código (si es necesario) y adaptar el sistema a procesos de negocio únicos sin las limitaciones de las plataformas SaaS.
- Ahorro de costes a largo plazo: Aunque la configuración inicial requiere tiempo, la ausencia de una tarifa de suscripción mensual por usuario o por funcionalidad puede reducir significativamente los costes operativos para equipos en crecimiento.
- Optimización del rendimiento: Puede elegir un servidor que se adapte perfectamente a sus necesidades y optimizarlo para el máximo rendimiento de Dolibarr, sin depender de los "vecinos" en la nube.
- Independencia del proveedor: No está vinculado a un único proveedor y puede migrar fácilmente Dolibarr a otro servidor o hosting si es necesario.
Este tutorial está diseñado para aquellos que buscan una solución fiable, controlada y escalable para gestionar su negocio, prefiriendo la implementación autónoma en un VPS.
Qué configuración de VPS se necesita para esta tarea
La elección de una configuración de VPS adecuada es crítica para garantizar un funcionamiento estable y rápido de Dolibarr. Los requisitos de recursos dependen del número de usuarios, el volumen de datos y la intensidad de uso del sistema. Dolibarr, Nginx, PostgreSQL y PHP-FPM son una pila bastante intensiva en recursos, por lo que no se debe escatimar en las características básicas.
Requisitos mínimos (para 1-5 usuarios)
- CPU: 2 núcleos x86-64 (procesadores modernos Intel Xeon E3/E5 o AMD EPYC).
- RAM: 4 GB DDR4. Esto es suficiente para PostgreSQL, PHP-FPM y Nginx con un pequeño volumen de datos y baja carga.
- Disco: 80 GB SSD NVMe. Para la base de datos, los archivos de Dolibarr y el sistema operativo. Un SSD NVMe mejora significativamente el rendimiento de las operaciones de entrada/salida, lo cual es crítico para las bases de datos.
- Red: 100 Mbps (canal garantizado). Para un acceso estable de los usuarios y copias de seguridad.
Plan de VPS recomendado (para 5-20 usuarios o uso activo)
Para un uso más activo de Dolibarr, soporte para un mayor número de usuarios o planes de expansión de funcionalidades, se recomienda la siguiente configuración:
- CPU: 4 núcleos x86-64.
- RAM: 8 GB DDR4.
- Disco: 160-240 GB SSD NVMe.
- Red: 1 Gbps (canal garantizado).
Para el alquiler de VPS con las características indicadas, puede considerar opciones que ofrezcan tarifas flexibles e infraestructura fiable.
Cuándo se necesita un dedicado, no un VPS
Un servidor dedicado (dedicated server) se vuelve preferible a un VPS en los siguientes casos:
- Gran número de usuarios: Si tiene más de 50 usuarios activos o miles de transacciones al día, los recursos del VPS pueden convertirse en un cuello de botella.
- Alta carga en la base de datos: Para bases de datos muy grandes (cientos de gigabytes) o consultas complejas, un servidor dedicado con CPU potentes y gran cantidad de RAM (por ejemplo, 32 GB+) proporcionará un mejor rendimiento.
- Mayores requisitos de seguridad y aislamiento: Un servidor dedicado proporciona un aislamiento físico completo, lo cual puede ser crítico para ciertos tipos de datos o auditorías de seguridad.
- Necesidad de hardware especial: Si necesita componentes de hardware específicos (por ejemplo, controladores RAID de hardware, GPU para otras tareas) o desea un control total sobre el hardware.
- Ejecución de múltiples servicios: Si además de Dolibarr planea alojar otras aplicaciones o microservicios exigentes.
En tales escenarios, un servidor dedicado adecuado puede ser una opción más justificada, a pesar de su mayor coste.
Ubicación: en qué influye
La elección de la ubicación del servidor influye en varios factores:
- Latencia: Cuanto más cerca esté el servidor de su audiencia principal (usuarios de Dolibarr), menor será la latencia y más rápida la respuesta del sistema. Para equipos locales, elija un servidor en su país o región vecina.
- Cumplimiento legal: Algunas industrias o países requieren el almacenamiento de datos en una jurisdicción específica. Asegúrese de que la ubicación elegida cumpla con estos requisitos.
- Costo: Los precios de los servidores VPS/dedicados pueden variar según la ubicación debido a los diferentes costes de electricidad, canales de comunicación e impuestos.
- Fiabilidad y disponibilidad: Elija proveedores con centros de datos en regiones con alta disponibilidad e infraestructura fiable.
Preparación del servidor
Antes de instalar Dolibarr, es necesario realizar una configuración básica de un VPS nuevo para garantizar la seguridad y estabilidad del funcionamiento. Utilizaremos el sistema operativo Ubuntu 24.04 LTS (Noble Numbat), actual para 2026.
1. Conexión por SSH
Utilice un cliente SSH para conectarse a su servidor. Reemplace your_user con el nombre de usuario (normalmente root o el proporcionado por el proveedor) y your_vps_ip con la dirección IP de su VPS.
ssh your_user@your_vps_ip
2. Actualización del sistema
Siempre comience actualizando la lista de paquetes y su instalación para asegurarse de tener las versiones de software y parches de seguridad más recientes.
sudo apt update && sudo apt upgrade -y
3. Creación de un nuevo usuario con permisos sudo (si ha iniciado sesión como root)
Trabajar como usuario root no es seguro. Cree un nuevo usuario y otórguele permisos sudo.
sudo adduser dolibarruser # Creamos un nuevo usuario
sudo usermod -aG sudo dolibarruser # Añadimos el usuario al grupo sudo
Ahora, salga de la sesión actual de root e inicie sesión con el nuevo usuario.
exit
ssh dolibarruser@your_vps_ip
4. Configuración de claves SSH para inicio de sesión sin contraseña
Esto mejora la seguridad y la comodidad. Genere las claves en su máquina local, si no las tiene:
ssh-keygen -t rsa -b 4096
Copie la clave pública al servidor:
ssh-copy-id dolibarruser@your_vps_ip
Después de verificar, desactive el inicio de sesión con contraseña para SSH (recomendado). Edite el archivo /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config
Encuentre y modifique las siguientes líneas:
#PasswordAuthentication yes
PasswordAuthentication no
#PermitRootLogin prohibit-password
PermitRootLogin no
Reinicie el servicio SSH:
sudo systemctl restart sshd
5. Instalación y configuración del firewall (UFW)
UFW (Uncomplicated Firewall) es una interfaz fácil de usar para iptables. Permita solo los puertos necesarios.
sudo apt install ufw -y # Instalamos UFW
sudo ufw default deny incoming # Denegamos todo el tráfico entrante por defecto
sudo ufw default allow outgoing # Permitimos todo el tráfico saliente por defecto
sudo ufw allow OpenSSH # Permitimos SSH (puerto 22)
sudo ufw allow http # Permitimos HTTP (puerto 80)
sudo ufw allow https # Permitimos HTTPS (puerto 443)
sudo ufw enable # Habilitamos UFW (confirme 'y')
sudo ufw status # Verificamos el estado
6. Instalación de Fail2Ban
Fail2Ban protege su servidor de ataques de fuerza bruta, bloqueando las direcciones IP que realizan demasiados intentos de inicio de sesión fallidos.
sudo apt install fail2ban -y # Instalamos Fail2Ban
sudo systemctl enable fail2ban # Habilitamos el inicio automático
sudo systemctl start fail2ban # Iniciamos el servicio
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # Creamos la configuración local
sudo nano /etc/fail2ban/jail.local # Editamos la configuración
En el archivo jail.local, asegúrese de que la sección [sshd] esté activa y configurada:
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 1h
Reinicie Fail2Ban:
sudo systemctl restart fail2ban
Instalación de software — paso a paso
Ahora que el servidor está preparado, procedamos con la instalación de los componentes principales: Nginx, PostgreSQL, PHP-FPM y el propio Dolibarr. Utilizaremos las versiones actuales del software para 2026, asumiendo que Ubuntu 24.04 LTS es una base estable.
1. Instalación de Nginx (servidor web)
Nginx actuará como un servidor web de alto rendimiento para Dolibarr.
sudo apt install nginx -y # Устанавливаем Nginx
sudo systemctl enable nginx # Включаем автозапуск Nginx
sudo systemctl start nginx # Запускаем Nginx
Verifique el estado de Nginx:
sudo systemctl status nginx
2. Instalación de PostgreSQL (servidor de bases de datos)
Dolibarr puede funcionar con MySQL/MariaDB, pero PostgreSQL a menudo se elige por su fiabilidad y rendimiento para aplicaciones complejas.
sudo apt install postgresql postgresql-contrib -y # Устанавливаем PostgreSQL и дополнительные утилиты
sudo systemctl enable postgresql # Включаем автозапуск PostgreSQL
sudo systemctl start postgresql # Запускаем PostgreSQL
3. Creación de la base de datos y el usuario de PostgreSQL para Dolibarr
Cambie al usuario postgres para crear la base de datos y el usuario.
sudo -i -u postgres # Переключаемся на пользователя postgres
createuser --pwprompt dolibarruserdb # Создаем пользователя базы данных и устанавливаем пароль (запомните его!)
createdb -O dolibarruserdb dolibarrdb # Создаем базу данных 'dolibarrdb' и назначаем владельца
exit # Возвращаемся к вашему sudo-пользователю
4. Instalación de PHP-FPM y extensiones necesarias
Dolibarr está escrito en PHP. Usaremos PHP-FPM (FastCGI Process Manager) para procesar scripts PHP, lo que proporciona un mejor rendimiento y seguridad.
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. Descarga e instalación de Dolibarr
Descargaremos la última versión estable de Dolibarr (por ejemplo, 20.0) del repositorio oficial de GitHub o SourceForge. Asegúrese de usar el enlace actual para 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 # Устанавливаем права на чтение/запись
En Dolibarr existe un directorio especial documents, que debe ser accesible para escritura por el servidor web, pero no debe ser accesible directamente desde el navegador. Lo colocamos fuera del directorio del servidor web por seguridad.
Configuración
Después de instalar todos los componentes, es necesario configurarlos correctamente. Esto incluye Nginx para servir Dolibarr, PHP-FPM para procesar scripts y asegurar la conexión HTTPS usando Let's Encrypt.
1. Configuración de Nginx para Dolibarr
Cree un nuevo archivo de configuración de Nginx para su dominio (por ejemplo, yourdomain.com). Reemplace yourdomain.com con su dominio real.
sudo nano /etc/nginx/sites-available/dolibarr.conf
Pegue el siguiente contenido:
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 файлы, если они используются для секретов
}
}
Cree un enlace simbólico a este archivo en sites-enabled y elimine la configuración predeterminada de 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. Configuración de PHP-FPM
A veces es necesario aumentar los límites de memoria y tiempo de ejecución para PHP. Edite el archivo php.ini para PHP 8.4 FPM:
sudo nano /etc/php/8.4/fpm/php.ini
Encuentre y modifique los siguientes parámetros:
memory_limit = 256M # Или выше, если у вас много RAM и пользователей
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
date.timezone = Europe/Moscow # Или ваш часовой пояс
Reinicie PHP-FPM para aplicar los cambios:
sudo systemctl restart php8.4-fpm
3. Obtención de un certificado SSL con Let's Encrypt (Certbot)
HTTPS es obligatorio para cualquier aplicación web moderna. Certbot automatiza la obtención e instalación de certificados Let's Encrypt.
sudo apt install certbot python3-certbot-nginx -y # Устанавливаем Certbot для Nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com # Запускаем Certbot
Siga las instrucciones de Certbot. Automáticamente modificará su configuración de Nginx, agregará redirecciones HTTPS y configurará la renovación automática del certificado. Una vez completado, su configuración de Nginx se actualizará y Dolibarr estará disponible a través de HTTPS.
4. Finalización de la instalación de Dolibarr a través de la interfaz web
Ahora que todo está configurado, abra su dominio (https://yourdomain.com) en el navegador. Verá la página de instalación de Dolibarr:
- Paso 1: Verifique los requisitos del sistema. Asegúrese de que todas las extensiones PHP necesarias y los permisos de archivos/directorios estén marcados como "OK".
- Paso 2: Configuración de la base de datos.
- Tipo de base de datos:
PostgreSQL - Nombre de host del SGBD:
localhost - Puerto del SGBD:
5432 - Nombre de la BD:
dolibarrdb(que creamos) - Login de usuario de la BD:
dolibarruserdb(que creamos) - Contraseña de usuario de la BD:
su_contraseña_de_bd
- Tipo de base de datos:
- Paso 3: Configuración de Dolibarr.
- Ruta al directorio de datos (
Dolibarr data directory):/var/lib/dolibarr/documents - Nombre de administrador:
admin(u otro) - Contraseña de administrador:
su_contraseña_de_administrador
- Ruta al directorio de datos (
Después de completar la instalación, Dolibarr le pedirá que elimine o cambie el nombre del archivo install.lock. Este es un paso importante para la seguridad:
sudo rm /var/www/dolibarr/install.lock
Ahora puede iniciar sesión en Dolibarr con el administrador creado.
5. Verificación de la funcionalidad
Abra su dominio en el navegador (https://yourdomain.com). Debería ver la página de inicio de sesión de Dolibarr.
También puede verificar la accesibilidad usando curl desde el servidor:
curl -v https://yourdomain.com
En la salida, debería ver una respuesta HTTP exitosa (código 200) e información sobre el certificado Let's Encrypt.
Copias de seguridad y mantenimiento
Las copias de seguridad regulares y el mantenimiento oportuno son clave para el funcionamiento estable y seguro de Dolibarr. La pérdida de datos puede ser catastrófica para cualquier negocio.
Qué respaldar
Para una recuperación completa de Dolibarr, necesitará tres componentes principales:
- Base de datos PostgreSQL: Contiene todos sus datos de negocio (clientes, facturas, pedidos, productos, etc.). Este es el componente más crítico.
- Directorio de documentos de Dolibarr:
/var/lib/dolibarr/documents. Aquí se almacenan los archivos adjuntos, facturas en PDF, informes de usuario y otros datos no estructurados. - Archivos de configuración de Dolibarr:
/var/www/dolibarr/conf/conf.php. Contiene los parámetros de conexión a la base de datos y otras configuraciones importantes. También es útil respaldar los archivos de configuración de Nginx (/etc/nginx/sites-available/dolibarr.conf) y PHP (/etc/php/8.4/fpm/php.ini).
Script sencillo de copia de seguridad automática
Crearemos un script sencillo que realizará un volcado de la base de datos y archivará el directorio de documentos. Luego, estos archivos se moverán a una ubicación segura.
sudo mkdir -p /opt/backups/dolibarr # Creamos el directorio para las copias de seguridad
sudo nano /opt/backups/dolibarr_backup.sh
Pegue el siguiente contenido en el archivo dolibarr_backup.sh. Reemplace YOUR_DB_PASSWORD con la contraseña del usuario de la base de datos dolibarruserdb.
#!/bin/bash
# Variables
DB_NAME="dolibarrdb"
DB_USER="dolibarruserdb"
DB_PASSWORD="YOUR_DB_PASSWORD" # Ingrese su contraseña de la BD
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}"
# Creación del volcado de la base de datos PostgreSQL
echo "Creando volcado de la base de datos..."
PGPASSWORD="${DB_PASSWORD}" pg_dump -U "${DB_USER}" -d "${DB_NAME}" > "${BACKUP_DIR}/${FILENAME_PREFIX}_db.sql"
if [ $? -eq 0 ]; then
echo "Volcado de la base de datos creado exitosamente: ${BACKUP_DIR}/${FILENAME_PREFIX}_db.sql"
else
echo "¡Error al crear el volcado de la base de datos!"
exit 1
fi
# Archivando el directorio de documentos y configuraciones
echo "Archivando el directorio de documentos y configuraciones..."
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 "Archivo de ficheros creado exitosamente: ${BACKUP_DIR}/${FILENAME_PREFIX}_files.tar.gz"
else
echo "¡Error al archivar los ficheros!"
exit 1
fi
# Eliminando copias de seguridad antiguas (guardamos las últimas 7 días)
echo "Eliminando copias de seguridad antiguas..."
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 "Copias de seguridad de más de 7 días eliminadas."
echo "Copia de seguridad de Dolibarr completada."
Haga el script ejecutable:
sudo chmod +x /opt/backups/dolibarr_backup.sh
Agregue el script a cron para su ejecución diaria (por ejemplo, a las 3:00 AM):
sudo crontab -e
Agregue la siguiente línea al final del archivo:
0 3 * * * /opt/backups/dolibarr_backup.sh >> /var/log/dolibarr_backup.log 2>&1
Dónde almacenar las copias de seguridad
Almacenar las copias de seguridad en el mismo servidor que Dolibarr es muy arriesgado. Si el servidor falla, perderá tanto el sistema como las copias de seguridad. Se recomienda utilizar una de las siguientes soluciones:
- Almacenamiento de objetos externo compatible con S3: La opción más fiable y escalable. Utilice utilidades como
s3cmd,rcloneoawscli(si usa AWS S3) para la carga automática de copias de seguridad. - VPS o servidor dedicado separado: Simplemente sincronice las copias de seguridad por SSH usando
rsynca otro servidor. - Almacenamiento en red NFS/SMB: Si tiene una red local con un NAS.
Ejemplo de cómo añadir rsync al script (después de eliminar las copias de seguridad antiguas):
# Sincronización de copias de seguridad a un servidor remoto (reemplace user@remote_host:/path/to/backups)
echo "Sincronizando copias de seguridad a un servidor remoto..."
rsync -avz --remove-source-files "${BACKUP_DIR}/" user@remote_host:/path/to/backups/
if [ $? -eq 0 ]; then
echo "Copias de seguridad sincronizadas exitosamente al servidor remoto."
else
echo "¡Error al sincronizar las copias de seguridad al servidor remoto!"
fi
Actualizaciones: rolling vs ventana de mantenimiento
- Actualizaciones del SO y del stack de software (Nginx, PHP, PostgreSQL): Para el software del sistema, se recomienda utilizar una "ventana de mantenimiento". Programe un momento en el que el sistema se utilice mínimamente y ejecute
sudo apt update && sudo apt upgrade -y. Siempre realice una copia de seguridad antes de actualizar. - Actualizaciones de Dolibarr: La actualización del propio sistema Dolibarr (por ejemplo, de la versión 20.0 a la 21.0) requiere un enfoque diferente. Normalmente, esto implica descargar la nueva versión, reemplazar los archivos (excepto los directorios
confydocuments) y luego ejecutar el script de actualización a través de la interfaz web. Siempre lea la documentación oficial de actualización de Dolibarr para la versión específica y realice una copia de seguridad completa antes de comenzar. - Renovación automática de Let's Encrypt: Certbot está configurado por defecto para la renovación automática de certificados. Puede verificar el estado de la tarea cron para Certbot:
sudo systemctl status certbot.timer.
Troubleshooting + FAQ
Incluso con una configuración cuidadosa, pueden surgir problemas. A continuación, se presentan preguntas frecuentes y sus soluciones.
No puedo acceder a Dolibarr a través del navegador (HTTP 502 Bad Gateway)
Qué verificar: El error 502 generalmente significa que Nginx no puede comunicarse con PHP-FPM.
- Verifique si PHP-FPM está en ejecución:
sudo systemctl status php8.4-fpm - Verifique los logs de PHP-FPM:
sudo journalctl -u php8.4-fpm - Verifique si la ruta al socket de PHP-FPM está correctamente especificada en la configuración de Nginx (
fastcgi_pass unix:/run/php/php8.4-fpm.sock;). - Asegúrese de que el usuario
www-data(bajo el cual se ejecuta Nginx) tenga permisos de lectura/escritura para el socket de PHP-FPM.
No puedo acceder a Dolibarr a través del navegador (HTTP 403 Forbidden)
Qué verificar: El error 403 generalmente significa que Nginx puede encontrar los archivos, pero tiene prohibido servirlos.
- Verifique los permisos del directorio
/var/www/dolibarr. El usuariowww-datadebe ser el propietario o tener permisos de lectura/ejecución.sudo ls -la /var/www/dolibarr - Verifique que no haya reglas
deny all;en la configuración de Nginx que bloqueen erróneamente el acceso a los archivos necesarios.
sudo chown -R www-data:www-data /var/www/dolibarr && sudo chmod -R 750 /var/www/dolibarr
No puedo conectar a la base de datos PostgreSQL desde Dolibarr
Qué verificar:
- Asegúrese de que PostgreSQL esté en ejecución:
sudo systemctl status postgresql - Verifique el nombre de la base de datos, el usuario y la contraseña en el archivo
/var/www/dolibarr/conf/conf.php(después de la instalación a través de la interfaz web). - Intente conectar a la base de datos manualmente desde el servidor:
(ingrese la contraseña).sudo -i -u postgres psql -d dolibarrdb -U dolibarruserdb - Verifique los logs de PostgreSQL en busca de errores:
sudo journalctl -u postgresql
conf.php. Si olvidó la contraseña de la base de datos, restablézcala para el usuario dolibarruserdb a través de psql.
El certificado Let's Encrypt no se renueva automáticamente
Qué verificar:
- Verifique el estado del temporizador de Certbot:
sudo systemctl status certbot.timer - Intente realizar la renovación manualmente:
(para prueba) osudo certbot renew --dry-run
(para renovación real).sudo certbot renew - Verifique los logs de Certbot:
sudo less /var/log/letsencrypt/letsencrypt.log - Asegúrese de que los puertos 80 y 443 estén abiertos en UFW.
--dry-run arroja errores, corríjalos (a menudo son problemas con el acceso al puerto 80 o registros DNS incorrectos). Asegúrese de que los nombres de dominio en su configuración de Nginx y en el comando Certbot coincidan.
No puedo subir archivos a Dolibarr (por ejemplo, adjuntos a facturas)
Qué verificar:
- Verifique los permisos del directorio de datos de Dolibarr:
/var/lib/dolibarr/documents. El usuariowww-datadebe tener permisos de escritura.sudo ls -la /var/lib/dolibarr/documents - Verifique los valores de
upload_max_filesizeypost_max_sizeen/etc/php/8.4/fpm/php.ini. Si los archivos son demasiado grandes, PHP podría rechazarlos.
sudo chown -R www-data:www-data /var/lib/dolibarr/documents && sudo chmod -R 750 /var/lib/dolibarr/documents. Aumente los límites en php.ini y reinicie PHP-FPM.
¿Qué configuración mínima de VPS es adecuada?
Para un equipo pequeño (1-5 usuarios activos) y un uso moderado de Dolibarr, un VPS con 2 núcleos de CPU, 4 GB de RAM y 80 GB de SSD NVMe será mínimamente adecuado. Esto proporcionará suficientes recursos para el sistema operativo, PostgreSQL, Nginx y PHP-FPM. Sin embargo, a medida que aumente el número de usuarios o la intensidad del trabajo con el sistema, se recomienda escalar los recursos para evitar ralentizaciones y garantizar un funcionamiento cómodo.
¿Qué elegir: VPS o dedicado para esta tarea?
Para la mayoría de las pequeñas y medianas empresas, autónomos y startups, un VPS será la opción óptima. Ofrece suficiente rendimiento, flexibilidad y rentabilidad. Un servidor dedicado tiene sentido si tiene un equipo muy grande (más de 50 usuarios), altos requisitos de rendimiento de la base de datos, estrictas normativas de seguridad y aislamiento, o si planea alojar muchos otros servicios que consumen muchos recursos en un solo host. Los servidores dedicados proporcionan control total sobre el hardware y recursos exclusivos, pero son significativamente más caros y requieren un mayor nivel de administración.
Conclusiones y próximos pasos
Ha desplegado con éxito Dolibarr ERP/CRM en su VPS, utilizando el stack Nginx, PostgreSQL y PHP-FPM, y ha asegurado una conexión segura con Let's Encrypt. Ahora tiene una plataforma potente y flexible para gestionar todos los aspectos de su negocio, completamente bajo su control.
Aquí hay algunos pasos que puede seguir para el desarrollo y la optimización de su sistema:
- Configuración de monitoreo: Instale sistemas de monitoreo (por ejemplo, Prometheus + Grafana o Zabbix) para rastrear el rendimiento del servidor, el uso de recursos y la salud de Dolibarr. Esto ayudará a identificar problemas antes de que se vuelvan críticos.
- Exploración de módulos de Dolibarr: Dolibarr cuenta con una amplia tienda de módulos (DoliStore) que pueden extender la funcionalidad del sistema para las necesidades específicas de su negocio. Explore las integraciones y extensiones disponibles.
- Optimización del rendimiento: A medida que la carga aumente, puede considerar la optimización de PostgreSQL (ajuste de
postgresql.conf), PHP-FPM (configuración de pools de procesos) y Nginx (almacenamiento en caché). - Implementación de CI/CD: Para desarrolladores o equipos que personalizan activamente Dolibarr, la configuración de un pipeline de integración continua/entrega continua (CI/CD) ayudará a automatizar el despliegue de actualizaciones y cambios.