Android

Como implantar o odoo 11 no ubuntu 18.04

How to install Odoo 11 on Ubuntu 18.04

How to install Odoo 11 on Ubuntu 18.04

Índice:

Anonim

Odoo é o software empresarial tudo-em-um mais popular do mundo. Ele oferece uma variedade de aplicativos de negócios, incluindo CRM, site, comércio eletrônico, cobrança, contabilidade, fabricação, armazém, gerenciamento de projetos, estoque e muito mais, todos perfeitamente integrados.

Existem várias maneiras de instalar o Odoo, dependendo do caso de uso necessário. A maneira mais fácil e rápida de instalar o Odoo é usando seus repositórios oficiais do APT.

Este guia aborda as etapas necessárias para instalar e configurar o Odoo para produção usando o Git source e o ambiente virtual Python em um sistema Ubuntu 18.04.

Antes de você começar

Entre na sua máquina Ubuntu como usuário sudo e atualize o sistema para os pacotes mais recentes:

sudo apt update && sudo apt upgrade

Instale Git, Pip, Node.js e as ferramentas necessárias para criar dependências do Odoo:

sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less

Criar usuário Odoo

Crie um novo usuário e grupo do sistema com o diretório inicial /opt/odoo que executará o serviço Odoo.

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo Você pode nomear o usuário como quiser, mas certifique-se de criar um usuário do postgres com o mesmo nome.

Instale e configure o PostgreSQL

Instale o pacote PostgreSQL a partir dos repositórios padrão do Ubuntu:

sudo apt install postgresql

Após a conclusão da instalação, crie um usuário do PostgreSQL com o mesmo nome do usuário do sistema criado anteriormente, no nosso caso:

sudo su - postgres -c "createuser -s odoo"

Instalar Wkhtmltopdf

O pacote wkhtmltox fornece um conjunto de ferramentas de linha de comando de código aberto que podem renderizar HTML em PDF e vários formatos de imagem. Para imprimir relatórios em PDF, você precisará da ferramenta wkhtmltopdf . A versão recomendada para o Odoo é 0.12.1 que não está disponível nos repositórios oficiais do Ubuntu 18.04.

Faça o download do pacote usando o seguinte comando wget:

wget

Após a conclusão do download, instale o pacote digitando:

sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb

Instale e configure o Odoo

Instalaremos o Odoo a partir do repositório GitHub dentro de um ambiente virtual Python isolado, para que possamos ter mais controle sobre versões e atualizações.

Antes de iniciar o processo de instalação, certifique-se de mudar para odoo usuário.

sudo su - odoo

Para confirmar que você está logado como usuário odoo você pode usar o seguinte comando:

whoami

Agora podemos começar com o processo de instalação. Primeiro clone o odoo no repositório do GitHub:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11

  • Se você deseja instalar uma versão diferente do Odoo, altere o número da versão após a --branch --branch. Você pode nomear o diretório como desejar, por exemplo, em odoo11 você pode usar o nome do seu domínio.

Para criar um novo ambiente virtual para a instância do Odoo 11, execute:

cd /opt/odoo python3 -m venv odoo11-venv

ative o ambiente com o seguinte comando:

source odoo11-venv/bin/activate

e instale todos os módulos Python necessários com o pip3:

pip3 install wheel pip3 install -r odoo11/requirements.txt

pip3 é uma ferramenta para instalar e gerenciar pacotes Python.

Depois que a instalação estiver concluída, desative o ambiente e volte para o usuário sudo usando os seguintes comandos:

deactivate

exit

sudo mkdir /opt/odoo/odoo11-custom-addons sudo chown odoo: /opt/odoo/odoo11-custom-addons

Em seguida, precisamos criar um arquivo de configuração, podemos criar um novo a partir do zero ou copiar o arquivo de configuração incluído:

sudo cp /opt/odoo/odoo11/debian/odoo.conf /etc/odoo11.conf

Abra o arquivo e edite-o da seguinte maneira:

/etc/odoo11.conf

; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/odoo11/addons; If you are using custom modules; addons_path = /opt/odoo/odoo11/addons, /opt/odoo/odoo11-custom-addons Não se esqueça de alterar o my_admin_passwd para algo mais seguro e ajustar o addons_path se você estiver usando módulos personalizados.

Crie um arquivo de unidade systemd

Para executar o odoo como um serviço, criaremos um arquivo da unidade odoo11.service no diretório /etc/systemd/system/ com o seguinte conteúdo:

/etc/systemd/system/odoo11.service

Description=Odoo11 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo11 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf StandardOutput=journal+console WantedBy=multi-user.target

Notifique ao systemd que criamos um novo arquivo de unidade e inicie o serviço Odoo executando:

sudo systemctl daemon-reload sudo systemctl start odoo11

Você pode verificar o status do serviço com o seguinte comando:

sudo systemctl status odoo11

● odoo11.service - Odoo11 Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-03 21:23:08 UTC; 3s ago Main PID: 18351 (python3) Tasks: 4 (limit: 507) CGroup: /system.slice/odoo11.service └─18351 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf

e se não houver erros, você pode permitir que o serviço Odoo seja iniciado automaticamente no momento da inicialização:

sudo systemctl enable odoo11

sudo journalctl -u odoo11

Teste a instalação

Abra seu navegador e digite: http://:8069 http://:8069

Supondo que a instalação seja bem-sucedida, uma tela semelhante à seguinte será exibida:

Configurar o Nginx como um proxy de terminação SSL

  • Você tem um nome de domínio apontando para o IP do servidor público. Neste tutorial, usaremos example.com . Você tem o Nginx instalado seguindo estas instruções. Você tem um certificado SSL instalado para o seu domínio. Você pode instalar um certificado SSL Let's Encrypt criptografado gratuitamente seguindo estas instruções.

O servidor da web padrão do Odoo está servindo tráfego por HTTP. Para tornar nossa implantação do Odoo mais segura, configuraremos o Nginx como um proxy de terminação SSL que servirá ao tráfego por

O proxy de terminação SSL é um servidor proxy que lida com a criptografia / descriptografia SSL. Isso significa que nosso proxy de terminação (Nginx) manipulará e descriptografará as conexões TLS de entrada (HTTPS) e transmitirá as solicitações não criptografadas ao nosso serviço interno (Odoo) para que o tráfego entre o Nginx e o Odoo não seja criptografado (HTTP).

Precisamos dizer ao Odoo que usaremos um proxy, abra o arquivo de configuração e adicione a seguinte linha:

/etc/odoo11.conf

proxy_mode = True

Reinicie o serviço Odoo para que as alterações entrem em vigor:

sudo systemctl restart odoo11

Usar o Nginx como proxy nos oferece vários benefícios. Neste exemplo, configuraremos a terminação SSL, o redirecionamento HTTP para HTTPS, o redirecionamento WWW para não WWW, armazenaremos em cache os arquivos estáticos e habilitaremos a compactação GZip.

/etc/nginx/sites-enabled/example.com

# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Handle / requests location / { proxy_redirect off; proxy_pass http://odoo; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; } Não se esqueça de substituir example.com pelo seu domínio Odoo e defina o caminho correto para os arquivos de certificado SSL. Os trechos usados ​​nesta configuração são criados neste guia.

Quando terminar, reinicie o serviço Nginx com:

sudo systemctl restart nginx

Alterar a interface de ligação

Esta etapa é opcional, mas é uma boa prática de segurança. Por padrão, o servidor Odoo escuta a porta 8069 em todas as interfaces, portanto, se você deseja desativar o acesso direto à sua instância do Odoo, pode bloquear a porta 8069 para todas as interfaces públicas ou forçar o Odoo a ouvir apenas na interface local.

Neste guia, forçaremos o Odoo a ouvir apenas em 127.0.0.1 . Abra a configuração do Odoo e adicione as duas linhas a seguir no final do arquivo:

/etc/odoo11.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Salve o arquivo de configuração e reinicie o servidor Odoo para que as alterações entrem em vigor:

sudo systemctl restart odoo

Ativar multiprocessamento

Por padrão, o Odoo está trabalhando no modo multithreading. Para implantações de produção, é recomendável alternar para o servidor de multiprocessamento, pois aumenta a estabilidade e faz melhor uso dos recursos do sistema. Para habilitar o multiprocessamento, precisamos editar a configuração do Odoo e definir um número diferente de zero de processos de trabalho.

O número de trabalhadores é calculado com base no número de núcleos de CPU no sistema e na memória RAM disponível.

De acordo com a documentação oficial do Odoo para calcular o número de trabalhadores e o tamanho de memória RAM necessário, usaremos as seguintes fórmulas e suposições:

Cálculo do número do trabalhador

  • número máximo teórico de trabalhador = (system_cpus * 2) + 11 trabalhador pode servir ~ = 6 usuários simultâneos

Cálculo do tamanho da memória RAM

  • Consideraremos que 20% de todos os pedidos são pesados, enquanto 80% são mais leves. Solicitações pesadas estão usando cerca de 1 GB de RAM, enquanto as mais leves estão usando cerca de 150 MB de RAM.

grep -c ^processor /proc/cpuinfo

Digamos que tenhamos um sistema com 4 núcleos de CPU, 8 GB de memória RAM e 30 usuários simultâneos de Odoo.

  • 30 users / 6 = **5** (5 é o número teórico de trabalhadores necessários) (4 * 2) + 1 = **9** (9 é o número máximo teórico de trabalhadores)

Com base no cálculo acima, podemos usar 5 trabalhadores + 1 trabalhador para o trabalhador cron, que é um total de 6 trabalhadores.

Calcule o consumo de memória RAM com base no número de trabalhadores:

  • RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM

O cálculo acima mostra que nossa instalação do Odoo precisará de cerca de 2 GB de RAM.

Para alternar para o modo multiprocessamento, abra o arquivo de configuração e acrescente as seguintes linhas:

/etc/odoo11.conf

limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 5

Reinicie o serviço Odoo para que as alterações entrem em vigor:

sudo systemctl restart odoo11

O restante dos recursos do sistema será usado por outros serviços executados em nossa máquina. Neste guia, instalamos o Odoo junto com o PostgreSQL e o Nginx em um mesmo servidor e, dependendo da sua configuração, você também pode ter outros serviços em execução no seu servidor.

Conclusão

É isso aí! Este tutorial orientou você na instalação do Odoo 11 no Ubuntu 18.04 em um ambiente virtual Python usando o Nginx como proxy reverso. Você também aprendeu como habilitar o multiprocessamento e otimizar o Odoo para o ambiente de produção. Você também pode verificar nosso tutorial sobre como criar backups diários automáticos de seus bancos de dados Odoo.

ubuntu odoo postgresql python pip nginx proxy ssl