How to Install Odoo 13 on Ubuntu 18.04
Índice:
- Antes de você começar
- Criar usuário Odoo
- Instale e configure o PostgreSQL
- Instalar Wkhtmltopdf
- Instale e configure o Odoo
- Criar um arquivo de unidade Systemd
- Teste a instalação
- Configurar o Nginx como proxy de terminação SSL
- Alterar a interface de ligação
- Ativar multiprocessamento
- Conclusão
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.
O Odoo pode ser instalado de várias maneiras diferentes. A maneira mais fácil e rápida de instalar o Odoo é usando seus repositórios oficiais do APT.
Este tutorial aborda as etapas necessárias para instalar e configurar o Odoo 12 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 um 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 do sistema para o Odoo chamado
odoo12
com o diretório inicial
/opt/odoo12
usando o seguinte comando:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Você pode usar qualquer nome para o usuário do Odoo, desde que crie um usuário do PostgreSQL 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 que o usuário do sistema criado anteriormente, no nosso caso é
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
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.
Antes de iniciar o processo de instalação, mude para o usuário "odoo12":
sudo su - odoo12
Comece clonando o código-fonte do Odoo 12 no repositório do GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Após o download do código-fonte, crie um novo ambiente virtual Python para a instalação do Odoo 12:
cd /opt/odoo12
python3 -m venv odoo-venv
Em seguida, ative o ambiente com o seguinte comando:
source odoo-venv/bin/activate
Instale todos os módulos Python necessários com o pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Se você encontrar algum erro de compilação durante a instalação, verifique se instalou todas as dependências necessárias listadas na seção
Before you begin
.
Desative o ambiente usando o seguinte comando:
deactivate
Crie um novo diretório para os complementos personalizados:
mkdir /opt/odoo12/odoo-custom-addons
Volte para o seu usuário sudo:
exit
Em seguida, crie um arquivo de configuração, copiando o arquivo de configuração de amostra incluído:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Abra o arquivo e edite-o da seguinte maneira:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo12 db_password = False addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Não se esqueça de alterar o
my_admin_passwd
para algo mais seguro.
Criar um arquivo de unidade Systemd
Para executar o Odoo como um serviço, precisamos criar um arquivo de unidade de serviço no diretório
/etc/systemd/system/
.
Abra seu editor de texto e cole a seguinte configuração:
sudo nano /etc/systemd/system/odoo12.service
/etc/systemd/system/odoo12.service
Description=Odoo12 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo12 PermissionsStartOnly=true User=odoo12 Group=odoo12 ExecStart=/opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console WantedBy=multi-user.target
Notifique o systemd da existência de um novo arquivo de unidade e inicie o serviço Odoo executando:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Verifique o status do serviço com o seguinte comando:
sudo systemctl status odoo12
A saída deve ser semelhante a abaixo, indicando que o serviço Odoo está ativo e em execução.
* odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-09 14:15:30 PDT; 3s ago Main PID: 24334 (python3) Tasks: 4 (limit: 2319) CGroup: /system.slice/odoo12.service `-24334 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Permita que o serviço Odoo seja iniciado automaticamente no momento da inicialização:
sudo systemctl enable odoo12
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 proxy de terminação SSL
Verifique se você atendeu aos seguintes pré-requisitos antes de continuar com esta seção:
- Nome de domínio apontando para o IP do servidor público. Neste tutorial, usaremos o certificado
example.com
.Nginx.S.SL instalado para o seu domínio. Você pode instalar um certificado SSL Let's Encrypt criptografado gratuitamente.
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).
O uso de um proxy reverso oferece muitos benefícios, como balanceamento de carga, terminação SSL, armazenamento em cache, compactação, exibição de conteúdo estático e muito mais.
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.
Abra seu editor de texto e crie o seguinte arquivo:
sudo nano /etc/nginx/sites-enabled/example.com
/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
Em seguida, precisamos informar ao Odoo que usaremos o proxy. Para fazer isso, abra o arquivo de configuração e adicione a seguinte linha:
/etc/odoo12.conf
proxy_mode = True
Reinicie o serviço Odoo para que as alterações entrem em vigor:
sudo systemctl restart odoo12
Nesse momento, seu servidor está configurado e você pode acessar sua instância do Odoo em:
https://example.com
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. 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, configuraremos o Odoo para ouvir apenas em
127.0.0.1
. Abra a configuração e adicione as duas linhas a seguir no final do arquivo:
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:
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
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
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/odoo12.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 odoo12
O restante dos recursos do sistema será usado por outros serviços executados nesse sistema. 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
Este tutorial orientou você na instalação do Odoo 12 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 sslComo implantar o odoo 11 no ubuntu 18.04

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.
Como implantar o rocket.chat no ubuntu 18.04

O Rocket.Chat é uma plataforma de comunicação de equipe de código aberto, uma alternativa do Slack auto-hospedada. O Rocket.Chat é uma solução perfeita para empresas e comunidades que desejam hospedar seu próprio sistema de bate-papo.
Como implantar o mais importante no ubuntu 18.04

O Mattermost reúne toda a comunicação da sua equipe em um único local e oferece vários recursos, incluindo compartilhamento de arquivos, mensagens individuais e em grupo, emojis personalizados, chamadas de vídeo e muito mais.