3.2.1. Instalar o Dolibarr e o Talerbarr a partir da linha de comandos#
Importante: Este não é um tutorial oficial de instalação do Dolibarr. É fornecido apenas como um guia completo, do início ao fim, para instalar o módulo Talerbarr, utilizando especificamente uma instalação baseada em pastas em vez da instalação através da interface do Dolibarr ou da Dolistore.
Este tutorial destina-se a utilizadores com alguma experiência em desenvolvimento ou administração de sistemas. Se nunca utilizou ferramentas de linha de comandos antes, considere uma forma mais simples de obter o Dolibarr, como uma solução SaaS aprovada pela equipa do Dolibarr.
3.2.1.1. Ter um servidor Debian#
Certifique-se de que tem um servidor Debian a funcionar com acesso sudo antes de prosseguir. Para esta instalação, o Dolibarr será executado em Podman sem privilégios de root (rootless) como utilizador normal, enquanto o sudo é utilizado apenas para a instalação de pacotes e a configuração inicial do sistema. O Podman rootless é um modo oficialmente suportado e, para serviços de utilizador que devem sobreviver ao logout e iniciar no arranque, as orientações do Podman/systemd recomendam ativar o «lingering» para esse utilizador.
3.2.1.2. Ter um registo DNS#
Crie um novo registo DNS com o seu fornecedor de serviços de registo de domínios:
Tipo: A
Nome: erp, dolibarr, ou outro subdomínio à sua escolha
Valor: O endereço IP público do seu servidor
3.2.1.3. Instalar o Podman#
Instale o Podman e as ferramentas necessárias para contentores sem privilégios de 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. Criar um utilizador dedicado para o Dolibarr#
Crie um utilizador dedicado sem privilégios que será o proprietário e executará a stack do Dolibarr:
sudo adduser --disabled-password --gecos "" dolibarr
sudo loginctl enable-linger dolibarr
O comando loginctl enable-linger é importante porque, caso contrário, os serviços systemd ao nível do utilizador são interrompidos após o términus da última sessão desse utilizador.
3.2.1.5. Criar um proxy inverso#
É absolutamente livre de o configurar da forma que preferir; não existe, no essencial, uma forma certa ou errada. Aqui descreve-se apenas como preparámos o sistema para completar o texto e as imagens dos tutoriais.
Instale o Nginx e o Certbot no anfitrião:
sudo apt update
sudo apt install -y nginx certbot python3-certbot-nginx
Crie o ficheiro /etc/nginx/sites-available/dolibarr.conf com o seguinte conteúdo, substituindo erp.example.com pelo seu domínio 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;
}
}
Ative o site e recarregue o Nginx:
sudo ln -s /etc/nginx/sites-available/dolibarr.conf /etc/nginx/sites-enabled/dolibarr.conf
sudo nginx -t
sudo systemctl reload nginx
Solicite um certificado Let’s Encrypt:
sudo certbot --nginx -d erp.example.com
Depois de o certificado ser emitido com sucesso, o Certbot atualizará a configuração do Nginx para ativar o HTTPS e redirecionar o tráfego HTTP para HTTPS.
3.2.1.6. Mudar para o utilizador do Dolibarr#
Mude para o novo utilizador:
sudo -iu dolibarr
Todos os restantes comandos Podman neste tutorial devem ser executados como este utilizador, para que a implementação se mantenha sem privilégios de root.
3.2.1.7. Criar diretórios persistentes#
Crie os diretórios que irão armazenar os dados persistentes:
mkdir -p ~/dolibarr/{mariadb,documents,custom}
cd ~/dolibarr
Tudo isto tem de ser feito para que não perca dados em caso de reinício ou em caso de atualização do Dolibarr para uma versão mais recente.
3.2.1.8. Criar o ficheiro de ambiente#
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 variáveis fazem parte da interface oficial do contentor Dolibarr. Verifique sempre se não foram alteradas e se não foram introduzidas novas restrições/recomendações antes de prosseguir.
3.2.1.9. Criar o ficheiro compose#
Crie o ficheiro 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 o Dolibarr#
Inicie a stack:
podman-compose up -d
podman-compose logs
Verifique se os contentores estão em execução:
podman ps
podman-compose logs
Abra o seu navegador e aceda a:
https://erp.example.com
Se tudo estiver configurado corretamente, deverá ver a interface web do Dolibarr através de HTTPS.
3.2.1.11. Instalar módulos personalizados#
Agora pode colocar módulos no diretório ~/dolibarr/custom. Para o exemplo do módulo TalerBarr, continue com Instalar a partir do repositório de código-fonte.