3.2.1. Instalar Dolibarr y Talerbarr desde la línea de comandos#
Importante: Este no es un tutorial de instalación oficial de Dolibarr. Se ofrece únicamente como guía completa de extremo a extremo para instalar el módulo Talerbarr, utilizando específicamente una instalación basada en carpetas en lugar de la instalación a través de la interfaz de Dolibarr o de Dolistore.
Este tutorial está pensado para usuarios con cierta experiencia en desarrollo o administración de sistemas. Si nunca ha utilizado herramientas de línea de comandos, considere una forma más accesible de obtener Dolibarr, como una solución SaaS aprobada por el equipo de Dolibarr.
3.2.1.1. Tener un servidor Debian#
Asegúrese de disponer de un servidor Debian en funcionamiento con acceso sudo antes de continuar. Para esta instalación, Dolibarr se ejecutará en Podman sin privilegios (rootless) como usuario normal, mientras que sudo se utiliza únicamente para la instalación de paquetes y la configuración inicial del sistema. Podman sin privilegios es un modo oficialmente compatible, y para los servicios de usuario que deben sobrevivir al cierre de sesión y arrancar al iniciar el sistema, la guía de Podman/systemd recomienda habilitar el «lingering» para ese usuario.
3.2.1.2. Configurar un registro DNS#
Cree un nuevo registro DNS con su registrador de dominios:
Tipo: A
Nombre: erp, dolibarr, u otro subdominio de su elección
Valor: Dirección IP de su servidor
3.2.1.3. Instalación en Debian#
Instale Podman y las herramientas necesarias para contenedores sin privilegios:
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. Crear un usuario dedicado para Dolibarr#
Cree un usuario dedicado sin privilegios que será propietario de la pila de Dolibarr y la ejecutará:
sudo adduser --disabled-password --gecos "" dolibarr
sudo loginctl enable-linger dolibarr
El comando loginctl enable-linger es importante porque, de lo contrario, los servicios systemd de nivel de usuario se detienen cuando finaliza la última sesión de ese usuario.
3.2.1.5. Crear un proxy inverso#
Es totalmente libre de configurarlo de la forma que prefiera; en general no hay una forma correcta o incorrecta. Aquí simplemente se describe cómo preparamos el sistema para completar el texto y las imágenes de los tutoriales.
Instale Nginx y Certbot en el host:
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
Cree /etc/nginx/sites-available/dolibarr.conf con el siguiente contenido, sustituyendo erp.example.com por su dominio real:
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;
}
}
Habilite el sitio y recargue Nginx:
sudo ln -s /etc/nginx/sites-available/dolibarr.conf /etc/nginx/sites-enabled/dolibarr.conf
sudo nginx -t
sudo systemctl reload nginx
Solicite un certificado de Let’s Encrypt:
sudo certbot --nginx -d erp.example.com
Una vez emitido correctamente el certificado, Certbot actualizará la configuración de Nginx para habilitar HTTPS y redirigir el tráfico HTTP a HTTPS.
3.2.1.6. Convertirse en el usuario de Dolibarr#
Cambie al nuevo usuario:
sudo -iu dolibarr
Todos los comandos de Podman restantes de este tutorial deben ejecutarse como este usuario para que el despliegue siga siendo sin privilegios.
3.2.1.7. Crear directorios persistentes#
Cree los directorios que contendrán los datos persistentes:
mkdir -p ~/dolibarr/{mariadb,documents,custom}
cd ~/dolibarr
Todo esto debe hacerse para que no pierda datos en caso de reinicio o de actualización de Dolibarr a una versión más reciente.
3.2.1.8. Crear el archivo de entorno#
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
Estas variables forman parte de la interfaz oficial del contenedor de Dolibarr. Verifique siempre que no hayan cambiado y que no se hayan introducido nuevas restricciones o recomendaciones antes de continuar.
3.2.1.9. Crear el archivo compose#
Cree 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. Iniciar Dolibarr#
Inicie la pila:
podman-compose up -d
podman-compose logs
Compruebe que el servicio comercial está activo:
podman ps
podman-compose logs
Abra su navegador y vaya a:
https://erp.example.com
Si todo está configurado correctamente, debería ver la interfaz web de Dolibarr a través de HTTPS.
3.2.1.11. Instalar módulos personalizados#
Ahora puede colocar módulos en el directorio ~/dolibarr/custom. Para el ejemplo del módulo TalerBarr, continúe con Instalar desde el repositorio de código fuente.