Como instalar o ERPNext Open Source ERP no Ubuntu 17.04

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

Pré-requisitos

  • Uma instância do servidor Vultr Ubuntu 17.04.
  • Um usuário sudo .

Nota: Para este 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 .

Antes de começarmos, verifique se o servidor está atualizado.

sudo apt update
sudo apt -y upgrade

Instalar ferramentas de desenvolvimento

O ERPNext precisa do Python versão 2.7 para funcionar. Instale o Python 2.7.

sudo apt -y install python-minimal

Você deve poder verificar sua versão.

python -V

Você verá a seguinte saída.

user@vultr:~$ python -V
Python 2.7.13

Instale mais algumas dependências.

sudo apt -y install git build-essential python-setuptools python-dev libffi-dev libssl-dev

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

Verifique se você possui a versão mais recente de pipe setuptools.

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

Adicione o repositório MariaDB ao sistema.

sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.2/ubuntu xenial main'

Instale o MariaDB.

sudo apt update
sudo apt -y install mariadb-server libmysqlclient-dev

Forneça uma senha forte para o usuário root do MariaDB quando solicitado.

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/mysql/my.cnf

Adicione as seguintes linhas abaixo da [mysqld]linha.

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

Além disso, adicione a seguinte linha abaixo da [mysql]linha.

default-character-set = utf8mb4

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

sudo systemctl restart mariadb
sudo systemctl enable mariadb

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. Forneça a senha que você definiu durante a instalação. Você será perguntado se deseja alterar a senha existente do usuário root do seu servidor MariaDB. Você pode pular a configuração de uma nova senha, pois você já forneceu uma senha forte durante a instalação. Responda "Y" a todas as outras perguntas feitas.

Instale Nginx, Node.js e Redis

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

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

Instale Nginx, Node.js e Redis.

sudo apt -y install nginx nodejs redis-server

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

sudo systemctl start nginx
sudo systemctl enable nginx

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

sudo systemctl start redis-server
sudo systemctl enable redis-server

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 apt -y install libxrender1 libxext6 xfonts-75dpi xfonts-base

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 arquivo morto.

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 wkhtmltopdf -Vpara verificar se está funcionando. Você verá isso.

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 configurações do Nginx e do supervisor.

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

sudo adduser bench --home /opt/bench

Forneça sudopermissões ao benchusuário.

sudo usermod -aG sudo bench

Faça o login como o benchusuário recém-criado .

sudo su - bench

Clone o repositório 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 sob o /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 no repositório remoto do git 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

Você pode iniciar o aplicativo imediatamente para verificar se o aplicativo foi instalado com sucesso.

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 escuta na porta 8000, não na porta HTTP padrão 80. Além disso, não é recomendável executar o servidor da Web incorporado para uso em produção, pois exporemos o servidor ao mundo. Você deve usar um servidor Web de produção como um proxy reverso, como Apache ou Nginx. 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 'bench start', a execução do ERPNext será interrompida assim que você fechar o terminal. Para superar esse problema, você deve 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.

Instale o Supervisor.

sudo apt -y install supervisor

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

sudo systemctl start supervisor
sudo systemctl enable supervisor

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 a outros usuários a execução dos arquivos no diretório inicial do usuário do Bench.

chmod o+x /opt/bench/

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:~/erpnext$ sudo supervisorctl status all
erpnext-redis:erpnext-redis-cache                 RUNNING   pid 13852, uptime 0:00:54
erpnext-redis:erpnext-redis-queue                 RUNNING   pid 13851, uptime 0:00:54
erpnext-redis:erpnext-redis-socketio              RUNNING   pid 13853, uptime 0:00:54
erpnext-web:erpnext-frappe-web                    RUNNING   pid 13856, uptime 0:00:54
erpnext-web:erpnext-node-socketio                 RUNNING   pid 13855, uptime 0:00:54
erpnext-workers:erpnext-frappe-default-worker-0   RUNNING   pid 13862, uptime 0:00:54
erpnext-workers:erpnext-frappe-long-worker-0      RUNNING   pid 13870, uptime 0:00:54
erpnext-workers:erpnext-frappe-schedule           RUNNING   pid 13869, uptime 0:00:54
erpnext-workers:erpnext-frappe-short-worker-0     RUNNING   pid 13875, uptime 0:00:54

Para parar todos os processos do ERPNext.

sudo supervisorctl stop all

Para iniciar todos os processos do ERPNext.

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ê deve ver esta saída.

bench@vultr:~/erpnext$ bench enable-scheduler
Enabled for erp.example.com

Conclusão

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 Ubuntu 17.04.



Leave a Comment

Como instalar a plataforma LiteCart Shopping Cart no Ubuntu 16.04

Como instalar a plataforma LiteCart Shopping Cart no Ubuntu 16.04

LiteCart é uma plataforma de carrinho de compras de código aberto e gratuita escrita em PHP, jQuery e HTML 5. É um software de comércio eletrônico simples, leve e fácil de usar

Como instalar o Blacklistd no FreeBSD 11.1

Como instalar o Blacklistd no FreeBSD 11.1

Introdução Qualquer serviço conectado à Internet é um alvo em potencial para ataques de força bruta ou acesso injustificado. Existem ferramentas como fail2ba

Configurar um TeamTalk Server no Linux

Configurar um TeamTalk Server no Linux

O TeamTalk é um sistema de conferência que permite aos usuários ter conversas de áudio / vídeo de alta qualidade, bate-papo por texto, transferir arquivos e compartilhar telas. É eu

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 Grafana no Ubuntu 16.04 LTS

Instale o Grafana no Ubuntu 16.04 LTS

Usando um sistema diferente? Introdução O Grafana é um software de código aberto que transforma vários feeds de sistemas como Graphite, Telegraf, um

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

Instalando o Fuel CMS no Ubuntu 16.04 LTS

Instalando o Fuel CMS no Ubuntu 16.04 LTS

Usando um sistema diferente? O Fuel CMS é um sistema de gerenciamento de conteúdo baseado em CodeIgniter. Seu código fonte está hospedado no GitHub. Este guia mostra como você pode

Como instalar o Couch CMS 2.0 em um VPS Debian 9 LAMP

Como instalar o Couch CMS 2.0 em um VPS Debian 9 LAMP

Usando um sistema diferente? O Couch CMS é um sistema de gerenciamento de conteúdo (CMS) simples e flexível, gratuito e de código aberto que permite que os web designers

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

Instalando o Docker no Ubuntu 14.04

Instalando o Docker no Ubuntu 14.04

Usando um sistema diferente? O Docker é um aplicativo que permite implantar programas executados como contêineres. Foi escrito no popular programa Go

Como instalar e configurar o CyberPanel no Ubuntu 18.04 LTS

Como instalar e configurar o CyberPanel no Ubuntu 18.04 LTS

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

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.

Como instalar o Kanboard no Debian 9

Como instalar o Kanboard no Debian 9

Usando um sistema diferente? Introdução O Kanboard é um programa de software de gerenciamento de projetos gratuito e de código aberto, projetado para facilitar e visualizar

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 WonderCMS no Fedora 29

Como instalar o WonderCMS no Fedora 29

Usando um sistema diferente? O WonderCMS é um CMS de arquivo simples, rápido e pequeno, de código aberto, escrito em PHP. O código fonte do WonderCMS está hospedado no Github. Este guia irá

Como instalar o Redaxscript 3.2 CMS em um Ubuntu 16.04 LAMP VPS

Como instalar o Redaxscript 3.2 CMS em um Ubuntu 16.04 LAMP VPS

Usando um sistema diferente? O Redaxscript 3.2 CMS é um sistema de gerenciamento de conteúdo (CMS) moderno e ultra leve, gratuito e de código aberto com foguete-fas

Como instalar o Neos CMS no Debian 9

Como instalar o Neos CMS no Debian 9

Usando um sistema diferente? Neos é uma plataforma de aplicativos de conteúdo com um CMS e uma estrutura de aplicativos em seu núcleo. Este guia mostra como instalar

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ê

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.