Como Instalar Odoo na VPS Linux: Guia Passo a Passo

10 min de leitura Tutoriais de Hospedagem

A gestão empresarial moderna exige agilidade, controle e flexibilidade. Para muitas empresas, especialmente pequenas e médias, a contratação de soluções SaaS caras pode representar um custo proibitivo a longo prazo. A alternativa robusta é o CRM self-hosted ou ERP open source, onde você mantém total soberania sobre os dados e a infraestrutura. Neste guia técnico, vamos detalhar como instalar Odoo na VPS Linux, transformando um servidor limpo em uma poderosa ferramenta de automação comercial e gestão.

O Odoo é uma suíte completa de aplicativos de negócios que inclui CRM, vendas, projeto, contabilidade e estoque. Rodar essa aplicação em seu próprio servidor próprio garante conformidade com LGPD, personalização profunda e integração direta com outros sistemas locais. Abaixo, apresentamos um roteiro validado para ambientes Debian/Ubuntu, o padrão da indústria para estabilidade.

1. Preparação do Ambiente: Requisitos de Hardware e Sistema

Antes de iniciar o processo de instalação, é crucial garantir que a sua infraestrutura atenda aos requisitos mínimos de performance. Odoo é uma aplicação Python pesada em operações de banco de dados; servidores fracos resultarão em latência alta e má experiência do usuário.

Requisitos Mínimos Recomendados:

  • CPU: 2 vCores ou mais.
  • RAM: No mínimo 4GB (8GB é o ideal para produção com múltiplos usuários).
  • Disco: SSD NVMe recomendado para I/O rápido do PostgreSQL.
  • Sistema Operacional: Ubuntu 22.04 LTS ou Debian 11/12.

Assumindo que você já possui acesso SSH ao seu servidor, o primeiro passo é atualizar o sistema operacional para garantir que todos os pacotes base estejam seguros e atualizados.

sudo apt update
sudo apt upgrade -y

Este comando sincroniza as listas de pacotes e instala as atualizações pendentes. Aguarde a conclusão antes de prosseguir para a criação do usuário dedicado, uma prática essencial de segurança que evita a execução de serviços como root.

2. Criação do Usuário Systemd para Odoo

Por questões de segurança e boas práticas de administração de sistemas, nunca execute o Odoo com privilégios de superusuário (root). Vamos criar um usuário dedicado chamado odoo16 (ou a versão desejada) que pertencerá ao grupo odoo.

sudo groupadd -r odoo
sudo useradd -m -g odoo -c "Odoo ERP User" -s /bin/bash odoo16

O sinalizador -m cria o diretório home do usuário, enquanto -s /bin/bash garante que o usuário tenha um shell interativo se necessário para depuração. Agora, precisamos instalar as dependências do sistema. O Odoo depende fortemente de bibliotecas Python e ferramentas de compilação.

3. Instalação e Configuração do Banco de Dados PostgreSQL

O Odoo utiliza o PostgreSQL como seu banco de dados principal. A instalação é direta, mas requer uma configuração específica para que o usuário odoo16 criado anteriormente possa se autenticar.

sudo apt install postgresql -y

Após a instalação, precisamos criar um superusuário no PostgreSQL com o mesmo nome do usuário Linux. Isso simplifica a autenticação usando ident peer (identidade local).

sudo su - postgres
createuser --superuser --createdb odoo16
exit

O comando su - postgres troca o usuário para o administrador nativo do banco de dados. O createuser define as permissões necessárias. Note que não definimos senha aqui, pois configuraremos a autenticação no arquivo pg_hba.conf posteriormente, preferindo a segurança da conexão local Unix socket.

4. Instalação das Dependências Python e Bibliotecas do Sistema

O Odoo é escrito em Python 3 e requer várias bibliotecas de sistema para manipulação de imagens (wkhtmltopdf), documentos XML e conexões web. Instale o conjunto completo de ferramentas:

sudo apt install -y git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt1-dev libzip2-dev libldap2-dev libsasl2-dev python3-lxml

O pacote libxslt1-dev é crítico para a geração de PDFs e relatórios. O python3-lxml é essencial para o processamento XML do Odoo. Sem essas bibliotecas, a instalação falhará ou os módulos de relatório não funcionarão corretamente.

5. Download e Instalação do Código Fonte do Odoo

Existem duas formas principais de obter o Odoo: via PyPI (pip) ou clonando o repositório Git. Para ambientes de produção com controle de versão, recomendamos a instalação via pip em um ambiente virtual isolado.

sudo -u odoo16 -H git clone https://www.github.com/odoo/odoo --branch 16.0 --depth 1 /opt/odoo/odoo16

Este comando clona apenas a versão estável mais recente (16.0) diretamente para o diretório /opt/odoo/odoo16. O uso do usuário odoo16 garante que os arquivos tenham as permissões corretas.

Agora, crie um ambiente virtual Python para isolar as dependências do Odoo das outras aplicações do servidor:

sudo -u odoo16 -H python3 -m venv /opt/odoo/odoo16-venv

Ative o ambiente virtual e instale as dependências Python listadas no arquivo requirements.txt do projeto.

source /opt/odoo/odoo16-venv/bin/activate
cd /opt/odoo/odoo16
pip3 install wheel
pip3 install -r requirements.txt

A instalação via pip pode demorar alguns minutos dependendo da largura de banda. Se houver erros de compilação, verifique se as bibliotecas do sistema instaladas no passo 4 estão presentes.

6. Configuração do Arquivo de Configuração (odoo.conf)

O coração da instalação é o arquivo odoo.conf. Crie um diretório de configuração e o arquivo correspondente:

sudo mkdir /etc/odoo
sudo touch /etc/odoo/odoo.conf
sudo chown odoo16:odoo /etc/odoo/odoo.conf

Edite o arquivo com seu editor de texto preferido (nano ou vim) e insira as seguintes configurações:

[options]
; This is the password that allows database operations:
admin_passwd = my_admin_secret_password
db_host = False
db_port = False
db_user = odoo16
xmlrpc_port = 8069
logfile = /var/log/odoo16/odoo.log
logrotate = True
workers = 2
max_cron_threads = 1
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648

Explicação das Diretivas Críticas:

  • admin_passwd: Senha mestra para gerenciamento de banco de dados. Nunca use "admin". Altere para uma string complexa.
  • db_user: Deve corresponder ao usuário criado no PostgreSQL.
  • workers: Número de processos worker. A fórmula recomendada é (CPU * 2) + 1. Para um servidor com 2 CPUs, 5 workers é o máximo, mas recomendamos 2 ou 3 para iniciantes.
  • limit_memory_hard/soft: Limites de memória em bytes. 2GB hard limit evita que o Odoo consuma toda a RAM e cause o OOM Killer do kernel.

Crie também o diretório de logs e dê permissão ao usuário odoo:

sudo mkdir /var/log/odoo16
sudo touch /var/log/odoo16/odoo.log
sudo chown odoo16:odoo /var/log/odoo16/odoo.log

7. Instalação do wkhtmltopdf (Crucial para Relatórios)

O Odoo usa o wkhtmltopdf para converter relatórios HTML em PDF. A versão padrão nos repositórios Ubuntu geralmente é antiga e não suporta cabeçalhos/rodapés corretamente. Recomendamos a instalação da versão 0.12.6, que é a mais compatível com o Odoo.

wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
sudo apt install -y ./wkhtmltox_0.12.6.1-3.jammy_amd64.deb

Se estiver em Debian, ajuste o nome do pacote .deb correspondente à sua versão (bookworm/buster). Verifique a instalação executando wkhtmltopdf --version.

8. Configuração do Sistema de Serviço Systemd

Para garantir que o Odoo inicie automaticamente em caso de reinicialção e seja gerenciado facilmente, criaremos um serviço systemd.

sudo nano /etc/systemd/system/odoo16.service

Insira a seguinte configuração:

[Unit]
Description=Odoo16
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
User=odoo16
Group=odoo
ExecStart=/opt/odoo/odoo16-venv/bin/python3 /opt/odoo/odoo16/odoo-bin -c /etc/odoo/odoo.conf
WorkingDirectory=/opt/odoo/odoo16

[Install]
WantedBy=multi-user.target

Salve o arquivo, recarregue o daemon do systemd e inicie o serviço:

sudo systemctl daemon-reload
sudo systemctl enable --now odoo16
sudo systemctl status odoo16

O comando status mostrará se o serviço está ativo (running). Se houver erros, verifique o arquivo /var/log/odoo16/odoo.log para diagnósticos.

9. Configuração de Firewall e Acesso Web

O Odoo escuta na porta 8069 por padrão. Se você estiver usando UFW (Uncomplicated Firewall) no Ubuntu, libere a porta:

sudo ufw allow 8069/tcp

Para acesso externo seguro, é altamente recomendável colocar o Odoo atrás de um proxy reverso como Nginx ou Apache, que lida com SSL/TLS e redirecionamento HTTP para HTTPS. Embora fora do escopo deste guia básico, a configuração mínima de Nginx envolve redirecionar proxy_pass http://127.0.0.1:8069;.

10. Finalização da Instalação via Web

Agora que a infraestrutura está pronta, abra seu navegador e acesse http://SEU_IP_DO_SERVIDOR:8069. Você verá a tela de criação do banco de dados Odoo.

Passos na Interface Web:

  1. Dados do Banco: Insira o nome do banco de dados (ex: odoo_db), o usuário (odoo16) e uma senha forte para o admin do banco.
  2. Senha Mestra: A tela pedirá a senha mestra definida no arquivo odoo.conf.
  3. Informações da Empresa: Preencha nome, idioma (Português Brasil), e país.
  4. Módulos Iniciais: Selecione os aplicativos que deseja instalar (CRM, Vendas, etc.). Para um CRM self-hosted limpo, selecione apenas "CRM".

Clique em "Criar banco de dados". O processo levará alguns minutos. Ao finalizar, você será redirecionado para o painel de login. Use as credenciais definidas durante a criação do banco.

Conclusão e Próximos Passos

Você acabou de concluir a instalação de um ERP open source completo em sua própria infraestrutura. Este setup oferece controle total sobre seus dados e permite expansões futuras sem custos adicionais de licença.

Dicas de Manutenção:

  • Faça backups regulares do banco PostgreSQL e do diretório /etc/odoo.
  • Monitore o uso de memória, especialmente se adicionar muitos módulos personalizados.
  • Mantenha o sistema operacional atualizado regularmente com apt upgrade.

Com este vps linux tutorial, você está pronto para implementar automação comercial eficiente e escalável. Para personalizações avançadas, consulte a documentação oficial do desenvolvedor Odoo.

Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000
WhatsApp