Como instalar o ERPNext Open Source ERP no CentOS 7

O ERP ou Enterprise Resource Planning é um conjunto de aplicativos corporativos usado para gerenciar os principais processos de negócios. O ERPNext é um aplicativo ERP auto-hospedado de código aberto e gratuito, escrito em Python. Ele usa o Node.js para o front end e o MariaDB para armazenar seus dados. O ERPNext fornece uma interface da web fácil de usar que permite que as empresas gerenciem as tarefas do dia a dia. Ele contém módulos para contabilidade, CRM, GRH, manufatura, PDV, gerenciamento de projetos, compras, gerenciamento de vendas, gerenciamento de armazéns e muito mais. O ERPNext pode ser usado para gerenciar diferentes setores, como prestadores de serviços, manufatura, varejo e escolas.

Neste tutorial, instalaremos o ERPNext no CentOS 7.

Pré-requisitos

Neste tutorial, usaremos erp.example.comcomo o nome de domínio apontado para o servidor. Substitua todas as ocorrências erp.example.compor seu nome de domínio real.

Atualize seu sistema básico usando o guia " Como atualizar o CentOS 7 ". Depois que seu sistema for atualizado, continue com a instalação do Python.

Instalar ferramentas de desenvolvimento

O ERPNext precisa do Python versão 2.7 para funcionar. O Python 2.7 é instalado por padrão em todas as instâncias do servidor CentOS. Você pode verificar se a versão instalada do Python executando:

python -V

Você deve obter uma saída semelhante.

[user@vultr ~]$ python -V
Python 2.7.5

Embora a versão instalada do Python não seja a mais recente, ela funciona sem problemas. Alterar a versão padrão do Python pode interromper o YUM.

Instale os pacotes no Development toolsgrupo necessários para compilar os arquivos do instalador.

sudo yum groupinstall -y "Development tools"

Instale mais algumas dependências:

sudo yum install -y redhat-lsb-core git python-setuptools python-devel openssl-devel libffi-devel

Instale a pipferramenta do Python . Pip é o gerenciador de dependências dos pacotes Python.

wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

O comando acima instalará o Pip no seu sistema. Para garantir que você tenha a versão mais recente pipe setuptoolsexecute:

sudo pip install --upgrade pip setuptools

Instale o Ansible usando o Pip. O Ansible automatiza o provisionamento de software, o gerenciamento de configurações e a implantação de aplicativos.

sudo pip install ansible

Instale o servidor MariaDB

MariaDB é um fork do servidor de banco de dados MySQL. Instale o MariaDB executando.

sudo yum -y install mariadb mariadb-server mysql-devel

O mecanismo de armazenamento Barracuda é necessário para a criação de bancos de dados ERPNext, portanto, você precisará configurar o MariaDB para usar o mecanismo de armazenamento Barracuda. Edite o arquivo de configuração padrão do MariaDB my.cnf.

sudo nano /etc/my.cnf

Adicione as seguintes linhas abaixo da symbolic-links=0linha.

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

Inicie o MariaDB e ative-o automaticamente no momento da inicialização.

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Antes de configurar o banco de dados, você precisará proteger o MariaDB. Você pode protegê-lo executando o mysql_secure_installationscript:

sudo mysql_secure_installation

Você será solicitado a senha de root atual do MariaDB. Por padrão, não há senha de root definida no MariaDB. Pressione a tecla "Enter" para continuar. Defina uma senha forte para o usuário root do seu servidor MariaDB e responda "Y" a todas as outras perguntas feitas. As perguntas feitas são auto-explicativas.

Instale Nginx, Nodejs e Redis

Como o repositório EPEL é instalado por padrão em todas as instâncias do Vultr CentOS 7, você pode instalar diretamente o Redis e o Nginx. Mas, para instalar a versão mais recente do Node.js., você precisará adicionar o repositório Nodesource ao seu sistema.

Adicione o repositório Nodesource para o Node.js 8.x.

sudo curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -

Instale Nginx, Nodejs e Redis:

sudo yum -y install nginx nodejs redis

Inicie o Nginx e ative-o no momento da inicialização executando:

sudo systemctl start nginx
sudo systemctl enable nginx

Inicie o Redis e ative-o no momento da inicialização executando:

sudo systemctl start redis
sudo systemctl enable redis

Instale o PDF Converter

O wkhtmltopdfprograma é uma ferramenta de linha de comando que converte HTML em PDF usando o mecanismo de renderização QT Webkit. Instale as dependências necessárias:

sudo yum -y install libXrender libXext xorg-x11-fonts-75dpi xorg-x11-fonts-Type1

Baixe a versão mais recente do wkhtmltopdf.

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

Extraia o archive executando:

sudo tar -xf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz -C /opt

O comando acima irá extrair o arquivo para /opt/wkhtmltox. Criar um link simbólico para que wkhtmltopdfe wkhtmltoimagepode ser executado em todo o mundo como um comando.

sudo ln -s /opt/wkhtmltox/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
sudo ln -s /opt/wkhtmltox/bin/wkhtmltoimage /usr/bin/wkhtmltoimage

Agora você pode executar o wkhtmltopdf -Vcomando para verificar se está funcionando. Você verá:

[user@vultr ~]$ wkhtmltopdf -V
wkhtmltopdf 0.12.4 (with patched qt)

Neste ponto, temos todas as dependências necessárias instaladas. Agora você pode prosseguir com a instalação do Bench.

Instalar banco

Benché um utilitário de linha de comando fornecido pela Frappe para instalar e gerenciar o aplicativo ERPNext em um sistema baseado em Unix para fins de desenvolvimento e produção. O Bench também pode criar e gerenciar o Nginx e a configuração do supervisor.

Crie um novo usuário para executar processos de bancada no ambiente isolado.

sudo adduser bench -d /opt/bench

Mude a senha do usuário.

sudo passwd bench

Forneça sudopermissões ao benchusuário.

sudo usermod -aG wheel bench

Efetue login como o benchusuário recém-criado :

sudo su - bench

Clone o repositório do Bench em /opt/bench:

cd /opt/bench
git clone https://github.com/frappe/bench bench-repo

Instale o Bench usando pip.

sudo pip install -e bench-repo

Depois que o Bench estiver instalado, continue com a instalação do ERPNext usando o Bench.

Instale o ERPNext usando o Bench

Inicialize um diretório de bancada com a estrutura frappe instalada. Para manter tudo arrumado, trabalharemos no /opt/benchdiretório O Bench também configurará backups regulares e atualizações automáticas uma vez por dia.

cd /opt/bench
bench init erpnext && cd erpnext

Crie um novo site Frappe:

bench new-site erp.example.com

O comando acima solicitará a senha raiz do MySQL. Forneça a senha que você definiu para o usuário root do MySQL anteriormente. Também solicitará que você defina uma nova senha para a conta de administrador. Você precisará dessa senha posteriormente para efetuar login no painel do administrador.

Faça o download dos arquivos de instalação do ERPNext do repositório git remoto usando o Bench.

bench get-app erpnext https://github.com/frappe/erpnext

Instale o ERPNext no seu site recém-criado:

bench --site erp.example.com install-app erpnext

O ERPNext está instalado no seu servidor. Você pode iniciar o aplicativo imediatamente para verificar se o aplicativo foi iniciado com êxito:

bench start

No entanto, você deve interromper a execução e prosseguir para configurar o aplicativo para uso em produção.

Supervisor de Instalação e Nginx

Por padrão, o aplicativo ERPNext atende na porta 8000, e não na porta HTTP padrão 80. Além disso, a execução do servidor da Web incorporado para uso em produção não é recomendada, pois estaremos expondo o servidor ao mundo. Portanto, você deve usar um servidor Web de produção como proxy reverso, como Apache ou Nginx. Neste tutorial, usaremos o Nginx como um proxy reverso, pois ele pode ser configurado automaticamente usando o Bench. O Bench pode gerar e instalar automaticamente a configuração de acordo com a configuração do ERPNext.

Embora possamos iniciar o aplicativo usando o comando acima, a execução do ERPNext será interrompida assim que você fechar o terminal. Para superar esse problema, recomendo usar o Supervisor, que é muito útil para executar o aplicativo continuamente em um ambiente de produção. Supervisor é um sistema de controle de processo que permite monitorar e controlar vários processos nos sistemas operacionais Linux. Uma vez configurado, o Supervisor inicia automaticamente o aplicativo no momento da inicialização e nas falhas. O Bench pode configurar automaticamente o Supervisor para o aplicativo ERPNext.

Supervisor de instalação:

sudo yum -y install supervisor

Inicie o Supervisor e ative-o automaticamente no momento da inicialização:

sudo systemctl start supervisord
sudo systemctl enable supervisord

Banco de instalação para uso em produção:

 sudo bench setup production bench

O comando acima pode solicitar que você substitua o arquivo de configuração padrão existente do Supervisor por um novo. Escolha ycontinuar. O Bench adiciona vários processos ao arquivo de configuração do Supervisor. O comando acima também perguntará se você deseja substituir a configuração atual do Nginx por uma nova. Entre ypara continuar. Depois que o Bench concluir a instalação da configuração, forneça outros usuários para executar os arquivos no diretório inicial do usuário do Bench.

chmod o+x /opt/bench/

Se você estiver executando um firewall em seu servidor, precisará configurá-lo para definir uma exceção para o serviço HTTP. Permita que o proxy reverso do Nginx se conecte de fora da rede.

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Agora você pode acessar o site em http://erp.example.com.

Você pode verificar o status dos processos executando:

sudo supervisorctl status all

Você deve ver a seguinte saída:

[bench@vultr ~]$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 2554, uptime 1:06:58
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 2553, uptime 1:06:58
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 2555, uptime 1:06:58
erpnext-web:erpnext-frappe-web                    RUNNING   pid 2559, uptime 1:06:58
erpnext-web:erpnext-node-socketio                 RUNNING   pid 2556, uptime 1:06:58
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 2549, uptime 1:06:58
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 2551, uptime 1:06:58
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 2550, uptime 1:06:58
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 2552, uptime 1:06:58

Para parar todos os processos do ERPNext, use:

sudo supervisorctl stop all

Para iniciar todos os processos do ERPNext, use:

sudo supervisorctl start all

Configurando o SSL usando o Let's Encrypt

Let's Encrypt fornece certificados SSL gratuitos para os usuários. O SSL pode ser instalado manual ou automaticamente através do Bench. O Bench pode instalar automaticamente o cliente Let's Encrypt e obter os certificados. Além disso, ele atualiza automaticamente a configuração do Nginx para usar os certificados.

O nome do domínio que você está usando para obter os certificados da autoridade de certificação Let's Encrypt deve ser apontado para o servidor. O cliente verifica a autoridade do domínio antes de emitir os certificados.

Habilite a multilocação DNS para o aplicativo ERPNext.

bench config dns_multitenant on

Execute o Bench para configurar o Let's Encrypt no seu site:

sudo bench setup lets-encrypt erp.example.com

Durante a execução do script, o cliente Let's Encrypt solicitará que você pare temporariamente o servidor da web Nginx. Ele instalará automaticamente os pacotes necessários e o cliente Let's Encrypt. O cliente solicitará seu endereço de email. Você também precisará aceitar os termos e condições. Depois que os certificados forem gerados, o Bench também gerará a nova configuração do Nginx, que usa os certificados SSL. Você será solicitado antes de substituir a configuração existente. O Bench também cria uma crontabentrada para renovar automaticamente os certificados todos os meses.

Por fim, ative o agendador para executar automaticamente os trabalhos agendados:

bench enable-scheduler

Você deveria ver:

[bench@vultr erpnext]$ bench enable-scheduler
Enabled for erp.example.com

Empacotando

Depois que o processo terminar, você poderá acessar seu aplicativo em https://erp.example.com. Entre com o nome de usuário Administratore a senha que você definiu durante a instalação. Você será levado à mesa onde precisará fornecer informações para definir o ERPNext ERP de acordo com a sua empresa. Agora você pode usar o aplicativo para gerenciar sua empresa.

Parabéns, você tem um aplicativo ERPNext totalmente funcional instalado no seu servidor CentOS 7.



Leave a Comment

Configure sua própria rede privada com o OpenVPN

Configure sua própria rede privada com o OpenVPN

O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes

Como instalar e configurar o CyberPanel no servidor CentOS 7

Como instalar e configurar o CyberPanel no servidor CentOS 7

Usando um sistema diferente? Introdução O CyberPanel é um dos primeiros painéis de controle do mercado, tanto de código aberto quanto de OpenLiteSpeed. What thi

Instale o eSpeak no CentOS 7

Instale o eSpeak no CentOS 7

Usando um sistema diferente? O ESpeak pode gerar arquivos de áudio de conversão de texto em fala (TTS). Isso pode ser útil por vários motivos, como criar seu próprio Turim

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Monitore seus dispositivos usando o LibreNMS no CentOS 7

Usando um sistema diferente? O LibreNMS é um sistema de monitoramento de rede de código aberto completo. Ele usa o SNMP para obter os dados de diferentes dispositivos. Uma variedade

Como usar o Sudo no Debian, CentOS e FreeBSD

Como usar o Sudo no Debian, CentOS e FreeBSD

Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud

Como instalar o RabbitMQ no CentOS 7

Como instalar o RabbitMQ no CentOS 7

Usando um sistema diferente? O RabbitMQ é um intermediário de mensagens de código aberto amplamente usado, escrito na linguagem de programação Erlang. Como um middleware orientado a mensagens

Configurar o Nginx-RTMP no CentOS 7

Configurar o Nginx-RTMP no CentOS 7

Usando um sistema diferente? O RTMP é ótimo para veicular conteúdo ao vivo. Quando o RTMP é emparelhado com o FFmpeg, os fluxos podem ser convertidos em várias qualidades. Vultr i

Como instalar o Gradle no CentOS 7

Como instalar o Gradle no CentOS 7

Usando um sistema diferente? Gradle é um conjunto de ferramentas de automação de compilação de código aberto e gratuito baseado nos conceitos do Apache Ant e Apache Maven. Gradle fornece

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Instale um servidor FTP com ProFTPd no CentOS 6 ou CentOS 7

Usando um sistema diferente? Neste guia, veremos como configurar um servidor FTP (ProFTPd) para transferir arquivos entre o seu PC e o seu servidor.

Instalando o Netdata no CentOS 7

Instalando o Netdata no CentOS 7

Usando um sistema diferente? O Netdata é uma estrela em ascensão no campo do monitoramento de métricas do sistema em tempo real. Comparado com outras ferramentas do mesmo tipo, o Netdata:

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Como instalar o Apache Cassandra 3.11.x no CentOS 7

Usando um sistema diferente? O Apache Cassandra é um sistema de gerenciamento de banco de dados NoSQL gratuito e de código aberto, projetado para fornecer escalabilidade, alta

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Como instalar um servidor Just Cause 2 (JC2-MP) no CentOS 7

Neste tutorial, aprenda como configurar um servidor multiplayer Just Cause 2. Pré-requisitos Verifique se o sistema está totalmente atualizado antes de começarmos

Como instalar o servidor Starbound no CentOS 7

Como instalar o servidor Starbound no CentOS 7

Usando um sistema diferente? Neste tutorial, explicarei como configurar um servidor Starbound no CentOS 7. Pré-requisitos Você precisa ser o proprietário deste jogo

Instalando e configurando o ZNC no CentOS 7

Instalando e configurando o ZNC no CentOS 7

O ZNC é um segurança IRC gratuito e de código aberto que permanece permanentemente conectado a uma rede para que os clientes possam receber mensagens enviadas enquanto estiverem offline. Thi

Como instalar o Django no CentOS 7

Como instalar o Django no CentOS 7

O Django é uma estrutura Python popular para escrever aplicativos da web. Com o Django, você pode criar aplicativos mais rapidamente, sem reinventar a roda. Se você quiser você

Como instalar o CMS de outubro no CentOS 7

Como instalar o CMS de outubro no CentOS 7

Outubro é um sistema de gerenciamento de conteúdo de código aberto baseado no Laravel PHP Framework. Com uma interface elegante e uma arquitetura modular concisa

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Como configurar a autenticação de dois fatores (2FA) para SSH no CentOS 6 usando o Google Authenticator

Após alterar a porta SSH, configurar a batida na porta e fazer outros ajustes para a segurança SSH, talvez haja mais uma maneira de protegê-lo

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Como instalar o MyCLI no Linux (CentOS, Debian, Fedora e Ubuntu)

Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Como instalar o Directus 6.4 CMS em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Directus 6.4 CMS é um sistema de gerenciamento de conteúdo sem cabeça (CMS) poderoso e flexível, gratuito e de código aberto que fornece

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Como instalar o Reader Self 3.5 RSS Reader em um CentOS 7 LAMP VPS

Usando um sistema diferente? O Reader Self 3.5 é um leitor de RSS auto-hospedado, simples e flexível, gratuito e de código aberto, e uma alternativa ao Google Reader. Leitor Sel

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.