How to install Odoo 11 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
- Crie um arquivo de unidade systemd
- Teste a instalação
- Configurar o Nginx como um 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.
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, emodoo11
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:
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
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:
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:
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.
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 sslComo implantar o odoo 12 no ubuntu 18.04

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