Instalação ERP · 17 min read · Oct 24, 2025

Como Instalar o ERPNext 14 no Debian 11

ERPNext é um sistema ERP (Planejamento de Recursos Empresariais) de código aberto que pode ser implementado em seu negócio. O ERPNext pode ser implementado em várias indústrias, como manufatura, distribuição, varejo, comércio, serviços, educação, organizações sem fins lucrativos e saúde. Além disso, fornece módulos como contabilidade, CRM, vendas, compras, website, e-commerce, ponto de venda, manufatura, armazém, gerenciamento de projetos, inventário e serviços.

ERPNext é uma plataforma ERP empresarial licenciada sob a Licença Pública Geral GNU v3. É principalmente escrito em Python e JavaScript, desenvolvido pela Frappe Technologies Pvt. O ERPNext é um aplicativo escrito sob o framework Frappe, um framework web de código aberto em Python e Javascript.

ERPNext é uma alternativa a serviços como NetSuite da Oracle, QAD, Tython, OpenBrave e Odoo. Em termos de funcionalidade, o ERPNext é semelhante ao Odoo (anteriormente OpenERP).

Neste tutorial, você instalará o ERPNext em um servidor Debian 11 e, em seguida, protegerá o ERPNext com certificados SSL/TLS via Certbot e Letsencrypt. Você também aprenderá como instalar dependências para o ERPNext, como Python 3.10, Redis, Nginx, Supervisor, Fail2ban, Servidor MariaDB, Node.js e Yarn, e o Framework Web Frappe.

Pré-requisitos

Você precisará dos seguintes requisitos para completar este tutorial:

  • Um servidor Debian 11 - Este exemplo usa um servidor Debian com o nome do host ‘ erpnext-server ‘.
  • Um usuário não-root com privilégios de administrador sudo/root. Você executará todos os comandos neste guia como um usuário não-root.
  • Um nome de domínio apontado para o endereço IP do servidor.

Agora vamos pular para a instalação.

Configurar Novo Usuário

O primeiro passo neste tutorial é criar um novo usuário que será usado para executar o aplicativo ERPNext. Além disso, você adicionará o novo usuário ao grupo ‘sudo’ e permitirá que esse usuário execute comandos com privilégios de root.

Execute o comando abaixo para criar um novo usuário e configurar a senha para o novo usuário. Neste exemplo, você criará um novo usuário ‘ frappe ‘ que será usado para executar o ERPNext.

sudo useradd -m -s /bin/bash frappe  
sudo passwd frappe

Agora adicione o usuário ‘ frappe ‘ ao grupo ‘sudo’ via o comando abaixo.

sudo usermod -aG sudo frappe

Por último, verifique o novo usuário executando o comando abaixo. Você estará logando como o usuário ‘ frappe ‘ e obtendo os privilégios de root via o comando ‘ sudo su ‘.

su - frappe  
sudo su

Seu prompt de terminal deve ser alterado para algo como ‘root@hostname:/home/frappe..’. Agora digite ‘exit’ para sair do shell root.

setup user

Com isso, você criou um novo usuário para o ERPNext. Nos próximos passos, você instalará o Python 3.10 manualmente compilando-o a partir da fonte.

Instalando Python 3.10

O ERPNext é um aplicativo web criado com um framework frappe, que é baseado em Python. No momento da redação deste texto, a versão mais recente do framework frappe e do ERPNext requer pelo menos Python 3.10.

Neste passo, você instalará o Python 3.10 manualmente a partir da fonte. Porque o repositório atual do Debian 11 ainda não fornece os pacotes do Python 3.10.

Antes de começar, certifique-se de que você está logado em seu servidor Debian como o novo usuário ‘ frappe ‘.

su - frappe

Para começar, execute o comando abaixo para atualizar o índice de pacotes do Debian.

sudo apt update

Agora execute o comando apt abaixo para instalar as dependências para compilar o Python.

sudo apt install wget build-essential libncursesw5-dev libssl-dev \  
     libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev

Digite y quando solicitado e pressione ENTER para prosseguir.

install dependencies

Em seguida, baixe o código-fonte do Python 3.10 a partir da página de download do Python via o comando wget abaixo. Neste exemplo, você baixará e instalará o Python 3.10.9.

wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tgz

Após o código-fonte do Python ser baixado, extraia o código-fonte do Python via o comando tar e mude o diretório de trabalho para ele.

tar xzf Python-3.10.9.tgz  
cd Python-*/

Agora execute o comando abaixo para compilar o Python 3.10 e instalá-lo.

./configure --enable-optimizations  
nproc  
sudo make -j2  
sudo make altinstall

download compile python

Após a instalação do Python ser concluída, você deve encontrar seu binário Python no diretório ‘ /usr/local/bin/ ‘. Execute o comando abaixo para verificar a instalação do Python 3.10.

ls /usr/local/bin

Você deve ver o arquivo binário dos pacotes do Python 3.10, como ‘ python3.10 ‘ e ‘ pip3.10 ‘.

Em seguida, para garantir que você pode executar os novos comandos da versão do Python, você deve adicionar o diretório ‘ /usr/local/bin ‘ ao PATH do sistema e ao secure_path do visudo.

Crie um novo arquivo ‘/etc/profile.d/custom-path.sh’ usando o comando do editor nano abaixo.

sudo nano /etc/profile.d/custom-path.sh

Adicione a seguinte linha ao arquivo.

export PATH=$PATH:/usr/local/bin/

Salve o arquivo e saia do editor.

Agora execute o comando abaixo para carregar o novo arquivo ‘ /etc/profile.d/custom-path.sh ‘ e verificar o PATH do sistema.

source /etc/profile.d/custom-path.sh  
echo $PATH

Você deve ver que o diretório ‘ /usr/local/bin ‘ foi adicionado à variável de ambiente PATH do sistema.

Em seguida, execute o comando abaixo para editar a configuração dos sudoers.

sudo visudo

Na linha ‘ Defaults secure_path= ‘, adicione o novo secure_path binário ‘ /usr/local/bin ‘.

Defaults secure_path=....:/usr/local/bin

Salve e saia do editor quando terminar.

Com isso, você agora pode executar o novo Python 3.10 via o comando sudo. Execute o comando abaixo para verificar o Python3.10 e Pip3.10.

sudo python3.10 --version  
sudo pip3.10 --version

Abaixo está a saída semelhante que você receberá em seu terminal.

setup python

Agora que você instalou o Python 3.10, passe para a próxima instalação das dependências do ERPNext, que é o servidor web Nginx e o Supervisor.

Instalando Nginx e Supervisor

Para instalar o ERPNext, você deve instalar o Nginx, que será usado como o servidor web padrão, e o Supervisor como o gerenciador de processos. Ambos os pacotes, Nginx e Supervisor, estão disponíveis no repositório Debian e você pode facilmente instalar ambos os pacotes via APT.

Execute o comando apt abaixo para instalar os pacotes Nginx e Supervisor.

sudo apt install git nginx supervisor

Digite y quando solicitado e pressione ENTER para prosseguir.

install nginx supervisor

Em seguida, execute o comando utilitário systemctl abaixo para verificar ambos os serviços Nginx e Supervisor. Isso garantirá que ambos os serviços Nginx e Supervisor estejam em execução e habilitados, o que significa que ambos os serviços devem ser executados automaticamente na inicialização.

Verifique o serviço Nginx.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Saída:

verify nginx

Verifique o serviço Supervisor.

sudo systemctl is-enabled supervisor  
sudo systemctl status supervisor

Saída:

verify supervisor

Com o Nginx e o Supervisor instalados e em execução, passe para a próxima instalação do Servidor Redis e Fail2ban.

Instalando Redis e Fail2ban

O Redis é um banco de dados chave-valor que pode ser usado para armazenar dados temporários, como sessões. O Fail2ban é uma ferramenta de segurança para bloquear ataques de força bruta contra seus aplicativos ERPNext.

O ERPNext requer Redis, que será usado como o gerenciador de sessões, e o Fail2ban para bloquear ataques de força bruta na página de login do usuário do ERPNext.

Execute o comando apt abaixo para instalar o Redis e o Fail2ban em seu servidor Debian.

sudo apt install redis-server fail2ban

Digite y quando solicitado para a confirmação e pressione ENTER para prosseguir.

install redis

install fail2ban

Após a instalação do Redis e do Fail2ban, execute o comando systemctl abaixo para verificar ambos os serviços.

sudo systemctl is-enabled redis-server  
sudo systemctl status redis-server
sudo systemctl is-enabled fail2ban  
sudo systemctl status fail2ban

Para o serviço Redis, você deve ver uma saída semelhante a esta - O serviço Redis está habilitado e será executado automaticamente na inicialização. E o status atual do Redis está em execução.

verify redis

Para o serviço Fail2ban, você deve ver uma saída semelhante a esta - O serviço Fail2ban está habilitado e será executado automaticamente na inicialização. E o status atual do Fail2ban está em execução.

verify fail2ban

Agora você tem o Servidor Redis e o Fail2ban instalados e em execução. Nos próximos passos, você instalará e configurará o servidor de banco de dados MariaDB.

Instalando e Configurando o Servidor MariaDB

Na instalação padrão, o ERPNext usará MySQL/MariaDB como o servidor de banco de dados. O ERPNext requer uma versão específica do MySQL/MariaDB para a instalação.

Neste passo, você instalará o Servidor MariaDB 10.6 a partir do repositório oficial do MariaDB. Em seguida, você adicionará configurações ao seu Servidor MariaDB e protegerá a implantação do Servidor MariaDB.

Execute o comando abaixo para adicionar o repositório do Servidor MariaDB v10.6.

sudo curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.6"

Você receberá uma saída semelhante a esta.

Agora execute o comando apt abaixo para instalar os pacotes do MariaDB.

sudo apt install mariadb-server mariadb-client default-libmysqlclient-dev

Digite y quando solicitado para a instalação e pressione ENTER para prosseguir.

install mariadb

Após a instalação do Servidor MariaDB, execute o comando systemctl abaixo para verificar o serviço MariaDB e garantir que o serviço esteja habilitado e em execução.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

Você deve agora obter uma saída como a seguinte - o serviço MariaDB está habilitado e será executado automaticamente na inicialização. E o status atual do serviço MariaDB está em execução.

verify mariadb

Em seguida, abra o arquivo de configuração do Servidor MariaDB ‘/etc/alternatives/my.cnf’ usando o comando do editor nano abaixo.

sudo nano /etc/alternatives/my.cnf

Adicione as seguintes linhas ao arquivo. A configuração abaixo habilitará o formato ‘barruca’ em seu Servidor MariaDB e também você definirá o conjunto de caracteres padrão para o servidor e cliente como ‘ utf8mb4 ‘.

[mysqld]  
innodb-file-format=barracuda  
innodb-file-per-table=1  
innodb-large-prefix=1  
character-set-client-handshake = FALSE  
character-set-server = utf8mb4  
collation-server = utf8mb4_unicode_ci  
  
[mysql]  
default-character-set = utf8mb4

Salve o arquivo e saia do editor quando terminar.

Agora execute o comando systemctl abaixo para reiniciar o serviço MariaDB e aplicar as alterações.

sudo systemctl restart mariadb

Em seguida, você irá proteger sua implantação do MariaDB.

Execute o comando ‘ mariadb-secure-installation ‘ para proteger sua implantação do MariaDB. Você será solicitado a configurar a senha root do MariaDB, então certifique-se de inserir e repetir a nova senha. Para as demais configurações, insira Y para confirmar e pressione ENTER.

sudo mariadb-secure-installation

Com isso, você agora terminou a instalação e configuração do Servidor MariaDB. No próximo passo, você instalará o pacote wkhtmltopdf que o ERPNext usará para gerar relatórios em PDF.

Instalando o Pacote Wkhtmltopdf

Neste passo, você instalará o pacote Wkhtmltopdf que o ERPNext usará para gerar relatórios em PDF. O Wkhtmltopdf pode ser baixado e instalado manualmente via arquivo .deb ou .rpm. Mas para Debian, você pode instalá-lo a partir do repositório oficial do Debian via APT.

Execute o comando abaixo para instalar o pacote wkhtmltopdf. Digite Y quando solicitado e pressione ENTER para prosseguir.

sudo apt install xvfb libfontconfig wkhtmltopdf

install wkhtmltopdf

Após o Wkhtmltopdf ser instalado, execute o comando abaixo para verificá-lo. O comando wkhtmltopdf é usado para converter a página HTML em PDF, enquanto o wkhtmltoimage converte a página HTML em vários formatos de imagem.

which wkhtmltopdf  
wkhtmltopdf --version
which wkhtmltoimage  
wkhtmltoimage --version

Você receberá uma saída semelhante a esta - O Wkhtmltopdf v0.12 está instalado em seu sistema Debian.

verify wkhtmltopdf

Nos próximos passos, você instalará o Node.js e o gerenciador de pacotes Yarn que serão usados para gerar arquivos estáticos para o ERPNext.

Instalando Nodejs 16 e Yarn

A versão mais recente do ERPNext é v14, que requer pelo menos o Node.js 16 e o gerenciador de pacotes Yarn. Neste passo, você instalará o Node.js 16 via o repositório Nodesource. Em seguida, instale o gerenciador de pacotes Yarn.

Para começar, execute o comando abaixo para adicionar o repositório Nodesource para o Node.js 16.

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash

Você receberá uma saída semelhante a esta.

add nodesource repo

Em seguida, execute o comando abaixo para adicionar o repositório Yarn para a distribuição Debian-Linux.

sudo curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null  
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

add yarn repo

Depois disso, atualize e atualize seu índice de pacotes Debian via o comando ‘apt update’. Em seguida, instale o Node.js e o gerenciador de pacotes yarn via o comando ‘apt install’.

sudo apt update  
sudo apt install nodejs yarn

Agora a instalação do Node.js e do gerenciador de pacotes Yarn deve começar.

install yarn and nodejs

Quando o Node.js e o Yarn forem instalados, você agora terminou a instalação das dependências de pacotes para o Framework Web Frappe e o aplicativo ERPNext.

Instalando o framework frappe e frappe-bench

O ERPNext é um software ERP de código aberto que foi criado com o framework frappe, que é escrito em Python e JavaScript. Para instalar o ERPNext, você deve instalar o framework frappe em seu sistema, e ele pode ser instalado via o ‘frappe-bench’ ou ‘bench’.

Então primeiro, você deve instalar o bench. Em seguida, instale o framework frappe via o bench. Por último, você instalará o aplicativo ERPNext dentro do framework frappe.

Para instalar o bench, execute o comando pip3.10 abaixo.

sudo pip3.10 install frappe-bench

Você receberá uma saída semelhante a esta durante a instalação do bench.

install bench

Após o bench ser instalado, execute o comando abaixo para verificá-lo. Você receberá o caminho binário do comando ‘ bench ‘ e a versão atual do bench que você instalou.

which bench  
bench --version

Com o bench instalado, você então instalará o framework frappe. Execute o comando ‘bench’ abaixo para instalar o framework frappe em seu diretório de trabalho atual. Além disso, você especificará a versão do Python que será usada para Python 3.10, especificará a versão do framework frappe para v14 e o diretório de instalação alvo é ‘ frappe-bench ‘.

bench init --python python3.10 --frappe-branch version-14 frappe-bench

Você receberá uma saída semelhante a esta durante a instalação do framework frappe.

install frappeframework via bench

Após o framework frappe ser instalado, você deve receber a seguinte saída ao final da instalação.

frappeframework installed

Por último, execute o comando abaixo para permitir que outros usuários leiam e executem o diretório de instalação do frappeframework. Isso é necessário para que o servidor web Nginx possa ler e executar o frappeframework.

sudo chmod -R o+rx /home/frappe/frappe-bench  
or  
sudo chmod -R o+rx /home/frappe

Com o framework frappe instalado, você estará pronto para instalar e configurar o ERPNext.

Configurar Novo Site/Projeto no Frappeframework

Antes de instalar o ERPNext, você deve criar um novo site/projeto no framework frappe. Neste passo, você criará um novo site/projeto e mudará o ambiente para o novo projeto via o bench.

Primeiro, mude seu diretório de trabalho para ‘ frappe-bench ‘ via o comando cd.

cd ~/frappe-bench

Execute o comando bench abaixo para criar um novo site/projeto para o ERPNext. Neste exemplo, você criará um novo site ‘ erp.howtoforge.local ‘, que é o nome de domínio alvo da instalação do ERPNext. Além disso, durante o processo de configuração, você será solicitado a configurar a senha do Administrador para seu projeto frappe, então insira sua senha e repita. Essa senha será usada para fazer login em seu aplicativo ERPNext.

bench new-site erp.howtoforge.local

Por último, execute o comando abaixo para mudar para o novo site/projeto ‘ erp.howtoforge.local ‘.

bench use erp.howtoforge.local

Abaixo está a saída durante a criação do site/projeto e após você ter mudado para o novo site/projeto.

create new site project

Instalando o ERPNext via frappe-bench

Após o novo site/projeto no framework frappe ser criado, execute o comando abaixo para baixar o aplicativo ‘ payments ‘ e o ‘ erpnext ‘. Neste exemplo, você baixará o ERPNext v14.

bench get-app payments  
bench get-app --branch version-14 erpnext

Abaixo está uma saída semelhante que você receberá durante o processo de download do ‘ payments ‘.

download app payments

E abaixo está o processo de download do aplicativo ERPNext.

download app erpnext

Em seguida, execute o comando abaixo para instalar o aplicativo ERPNext no site/projeto ‘erp.howtoforge.local ‘.

bench --site erp.howtoforge.local install-app erpnext

Você receberá uma saída semelhante a esta - Além disso, você deve ver que o aplicativo ‘ payments ‘ é instalado automaticamente como a dependência para o aplicativo ERPNext.

install erpnext

Por último, execute o comando bench abaixo para habilitar o agendador e desativar o modo de manutenção no site/projeto ‘erp.howtoforge.local’.

bench --site erp.howtoforge.local enable-scheduler  
bench --site erp.howtoforge.local set-maintenance-mode off

Neste ponto, a instalação do ERPNext está concluída. Mas, se você executar o ERPNext em produção, deve configurar e configurar o servidor web Nginx e o Supervisor, que podem ser configurados via comando bench.

Implantando o ERPNext para Produção

Primeiro, execute o comando abaixo para começar a configurar o framework frappe e o ERPNext para o ambiente de produção. Isso instalará o Ansible e configurará a implantação do ERPNext automaticamente via Ansible.

sudo bench setup production frappe

Abaixo está a saída durante a instalação do Ansible.

install dependnecies

Abaixo está a saída quando a configuração é concluída.

installation finished

Em seguida, execute o comando bench abaixo para configurar o Nginx e o Supervisor para o ERPNext. Quando solicitado a sobrescrever as configurações atuais, insira y para confirmar e pressione ENTER.

sudo bench setup supervisor  
sudo bench setup nginx

Depois disso, execute novamente o comando bench abaixo para garantir que a configuração do Supervisor e do Nginx esteja instalada.

sudo bench setup production frappe

Digite y para sobrescrever as configurações atuais e pressione ENTER para prosseguir.

reinstall to ensure all installed

Por último, execute o comando ‘supervisorctl’ abaixo com privilégios sudo. Isso verificará todos os processos e serviços que são usados pelo framework frappe e ERPNext.

sudo supervisorctl status

Se sua instalação do ERPNext for bem-sucedida, você deve receber uma saída semelhante à seguinte - Todos os serviços para o framework frappe e ERPNext estão em execução.

verify supervisorctl

Neste ponto, você terminou a instalação do ERPNext e ele está em execução com o Nginx como servidor web e o Supervisor como gerenciador de processos. Agora você pode acessar sua instalação do ERPNext via seu nome de domínio e o navegador web.

Configurando a Instalação do ERPNext

Abra seu navegador web e visite o nome de domínio da sua instalação do ERPNext (ou seja: http://erp.howtoforge.local /). Você verá a página de login do framework frappe.

Insira o usuário padrão ‘ Administrator ‘ e insira a senha que você usou durante o processo de criação do site/projeto.

frappeframeowrk login

Agora selecione o idioma padrão, o fuso horário e a moeda. Em seguida, clique em Próximo.

erpnext basic configuration

Insira o novo usuário administrador para sua instalação do ERPNext. Insira seu nome completo, endereço de e-mail e senha, em seguida, clique em Próximo.

create admin user

Insira o nome da empresa e faça o upload do logotipo da sua empresa, em seguida, clique em Próximo.

setup organization

Insira detalhes sobre sua organização e clique em Completar Configuração.

setup organization

Agora você deve ver o painel de administração da sua instalação do ERPNext.

ERPNExt dashboard

Protegendo com Certificados SSL/TLS via Certbot e Letsencrypt

Neste passo, você protegerá a implantação do ERPNext com certificados SSL/TLS que podem ser gerados usando a ferramenta Certbot do Letsencrypt. Antes de começar, certifique-se de que seu nome de domínio está apontado para o endereço IP do seu servidor e que você possui um endereço de e-mail que será usado para se registrar no Letsencrypt.

Execute o comando apt abaixo para instalar a ferramenta certbot e o plugin certbot para o servidor web Nginx. Quando solicitado, insira y para confirmar e pressione ENTER para prosseguir.

sudo apt install certbot python3-certbot-nginx

Após o certbot ser instalado, execute o comando certbot abaixo para gerar certificados SSL para seu nome de domínio ERPNext. Certifique-se de alterar o nome de domínio e o endereço de e-mail no comando abaixo.

sudo certbot --nginx --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d erp.howtoforge.local

Com isso, a instalação do ERPNext agora está protegida com certificados SSL/TLS via Certbot e Letsencrypt. Você também configurou o redirecionamento automático de HTTP para HTTPS no seu nome de domínio ERPNext, que o Certbot gerencia automaticamente.

Conclusão

Neste tutorial, você aprendeu como instalar o ERPNext, um software ERP de código aberto, em um servidor Debian 11. Você também aprendeu como instalar algumas dependências, como Python 3.10, que é instalado manualmente compilando e instalando o código-fonte. Você instalou outras dependências em seu servidor Debian, como MariaDB, Nginx, Supervisor, Redis e Fail2ban.

Você também aprendeu como instalar o framework Frappe e construir o ERPNext em cima dele. Em seguida, você aprendeu a configuração básica do ERPNext como software ERP.

Finalmente, você configurou o ERPNext para produção configurando o Nginx como servidor web e o Supervisor como gerenciador de processos. Você também protegeu o uso do ERPNext com Certbot e Letsencrypt.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.