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 frappeAgora adicione o usuário ‘ frappe ‘ ao grupo ‘sudo’ via o comando abaixo.
sudo usermod -aG sudo frappePor ú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 suSeu prompt de terminal deve ser alterado para algo como ‘root@hostname:/home/frappe..’. Agora digite ‘exit’ para sair do shell root.

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 - frappePara começar, execute o comando abaixo para atualizar o índice de pacotes do Debian.
sudo apt updateAgora 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-devDigite y quando solicitado e pressione ENTER para prosseguir.

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.tgzApó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
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/binVocê 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.shAdicione 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 $PATHVocê 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 visudoNa linha ‘ Defaults secure_path= ‘, adicione o novo secure_path binário ‘ /usr/local/bin ‘.
Defaults secure_path=....:/usr/local/binSalve 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 --versionAbaixo está a saída semelhante que você receberá em seu terminal.

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 supervisorDigite y quando solicitado e pressione ENTER para prosseguir.

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 nginxSaída:

Verifique o serviço Supervisor.
sudo systemctl is-enabled supervisor
sudo systemctl status supervisorSaída:

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 fail2banDigite y quando solicitado para a confirmação e pressione ENTER para prosseguir.


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-serversudo systemctl is-enabled fail2ban
sudo systemctl status fail2banPara 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.

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.

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-devDigite y quando solicitado para a instalação e pressione ENTER para prosseguir.

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 mariadbVocê 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.

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.cnfAdicione 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 = utf8mb4Salve 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 mariadbEm 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-installationCom 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
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 --versionwhich wkhtmltoimage
wkhtmltoimage --versionVocê receberá uma saída semelhante a esta - O Wkhtmltopdf v0.12 está instalado em seu sistema Debian.

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 bashVocê receberá uma saída semelhante a esta.

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
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 yarnAgora a instalação do Node.js e do gerenciador de pacotes Yarn deve começar.

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-benchVocê receberá uma saída semelhante a esta durante a instalação do 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 --versionCom 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-benchVocê receberá uma saída semelhante a esta durante a instalação do framework frappe.

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

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/frappeCom 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-benchExecute 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.localPor último, execute o comando abaixo para mudar para o novo site/projeto ‘ erp.howtoforge.local ‘.
bench use erp.howtoforge.localAbaixo está a saída durante a criação do site/projeto e após você ter mudado para o novo site/projeto.

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 erpnextAbaixo está uma saída semelhante que você receberá durante o processo de download do ‘ payments ‘.

E abaixo está o processo de download do aplicativo 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 erpnextVocê 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.

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 offNeste 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 frappeAbaixo está a saída durante a instalação do Ansible.

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

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 nginxDepois disso, execute novamente o comando bench abaixo para garantir que a configuração do Supervisor e do Nginx esteja instalada.
sudo bench setup production frappeDigite y para sobrescrever as configurações atuais e pressione ENTER para prosseguir.

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 statusSe 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.

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.

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

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.

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

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

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

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-nginxApó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.localCom 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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.