Odoo é um poderoso sistema ERP (Enterprise Resource Planning) Open Source que oferece uma ampla gama de recursos de gerenciamento de negócios, incluindo CRM, contabilidade, gerenciamento de estoque e muito mais.
Então se você está buscando uma solução robusta e flexível para gerenciar seu negócio, o Odoo ERP pode ser exatamente o que você precisa. Conhecido por sua facilidade de uso e capacidade de integrar diferentes aspectos da sua empresa em uma única plataforma, o Odoo tem se tornado uma escolha popular entre empreendedores e grandes organizações.
Neste guia, vamos te mostrar, de forma simples e prática, como instalar o Odoo ERP no Ubuntu 24.04, preparando o terreno para que você possa começar a aproveitar todas as funcionalidades que essa poderosa ferramenta tem a oferecer. Vamos nessa?
ÍNDICE DE CONTEÚDO
Pré-requisitos para a instalação do Odoo
Antes de começar a instalação do Odoo ERP no Ubuntu 24.04, é fundamental que você tenha alguns pré-requisitos em mãos.
- Ubuntu 24.04 LTS instalado e atualizado
- Acesso root ou privilégios sudo
- Mínimo de 4GB de RAM
- 20GB de espaço em disco
- Conexão com a internet
1. Instalando as dependências
Vamos iniciar nossa instalação atualizando os pacotes do sistema para as versões mais recentes. Isso garante que você tenha acesso aos patches de segurança e correções de bugs mais recentes.
Abra seu terminal e execute o seguinte comando:
sudo apt update && sudo apt upgrade -y
O próximo passo na instalação do Odoo ERP é garantir que todas as dependências estejam correndo bem. Para isso, execute o seguinte comando no terminal:
sudo apt install -y build-essential wget git python3.11-dev python3.11-venv \
libfreetype-dev libxml2-dev libzip-dev libsasl2-dev node-less \
libjpeg-dev zlib1g-dev libpq-dev libxslt-dev libldap2-dev \
libtiff5-dev libopenjp2-7-dev libcap-dev
2. Criando usuário do sistema para Odoo
É hora de adicionar um novo usuário ao sistema especialmente para o Odoo. Para isso, use o comando:
sudo adduser --system --shell /bin/bash --gecos 'Odoo user' --group --home /opt/odoo17 odoo17
Definição do diretório home
Esse usuário terá seu diretório home configurado como /opt/odoo17, que é uma boa prática de segurança.
Considerações de segurança
Rodar o Odoo com um usuário específico é essencial para evitar potenciais problemas de segurança que poderiam ser introduzidos se o Odoo fosse executado como root.
3. Instalando e configurando o PostgreSQL
Para que o Odoo funcione corretamente, é necessário instalar o PostgreSQL, pois é o banco de dados que ele utiliza.
Siga as etapas e comandos abaixo:
# Adicionar repositório oficial do PostgreSQL
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/postgresql/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
# Instalar PostgreSQL 16
sudo apt install postgresql-16
# Criar usuário do banco de dados
sudo su - postgres -c "createuser -P odoo17"
# Digite e confirme a senha quando solicitado
# Configurar permissões
sudo -u postgres psql << EOF
ALTER USER odoo17 WITH CREATEDB;
\q
EOF
# Otimizações do PostgreSQL
sudo nano /etc/postgresql/16/main/postgresql.conf
Adicione estas configurações otimizadas ao postgresql.conf:
# Para sistema com 4GB de RAM
shared_buffers = 512MB # 12.5% da RAM total
work_mem = 16MB # Valor mais conservador
maintenance_work_mem = 128MB # Reduzido para sistemas menores
effective_cache_size = 1536MB # ~38% da RAM total
# Outros parâmetros permanecem iguais
wal_buffers = 16MB
checkpoint_completion_target = 0.9
# Ajustes de Planejador
random_page_cost = 1.1
effective_io_concurrency = 200
# Paralelismo ajustado
max_worker_processes = 4 # Reduzido para sistemas menores
max_parallel_workers_per_gather = 2
max_parallel_workers = 4
Reinicie o PostgreSQL:
sudo systemctl restart postgresql
4. Instalando o wkhtmltopdf
O Odoo exige o wkhtmltopdf para gerar relatórios em PDF. Sem ele, algumas funcionalidades de relatórios não funcionarão.
Método de instalação
A instalação do wkhtmltopdf pode ser feita através do seguinte comando:
# Download do pacote
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
# Instalação
sudo apt install -y ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb
# Remover arquivo de instalação
rm wkhtmltox_0.12.6.1-2.jammy_amd64.deb
Verificação da instalação
Para confirmar que a instalação foi bem-sucedida, posso utilizar o comando:
which wkhtmltopdf
5. Configuração do ambiente Python
Após a instalação das dependências, é hora de configurar o ambiente Python.
Criar diretório para o Odoo (se ainda não existir):
sudo mkdir -p /opt/odoo17
Criar ambiente virtual:
cd /opt/odoo17
sudo python3.11 -m venv venv
Ajustar permissões:
sudo chown -R odoo17:odoo17 /opt/odoo17
Ativar ambiente virtual e instalar ferramentas básicas:
sudo su - odoo17 << 'EOF'
cd /opt/odoo17
source venv/bin/activate
pip install --upgrade pip
pip install wheel setuptools
deactivate
EOF
6. Instalando o Odoo
Agora que todas as dependências estão prontas, é momento de instalar o Odoo.
# Clonar o repositório do Odoo
sudo su - odoo17 << 'EOF'
cd /opt/odoo17
git clone https://github.com/odoo/odoo.git --depth 1 --branch 17.0 --single-branch .
# Ativar ambiente virtual e instalar dependências
source venv/bin/activate
pip install -r requirements.txt
deactivate
EOF
# Criar diretório para addons customizados
sudo mkdir /opt/odoo17/custom_addons
sudo chown odoo17:odoo17 /var/log/odoo17
# Criar diretório para logs
sudo mkdir /var/log/odoo17
sudo chown odoo17:odoo17 /var/log/odoo
7. Configurando o arquivo de configuração do Odoo
Agora é a hora de criar o arquivo de configuração do Odoo. Faça isso com o editor nano:
sudo nano /etc/odoo17.conf
No arquivo, adicione as seguintes linhas:
[options]
; Senha forte para administração (altere para uma senha segura)
admin_passwd = SuaSenhaForteAqui123!@#
; Configurações do banco de dados
db_host = localhost
db_port = 5432
db_user = odoo17
db_password = senha_do_banco_criada_anteriormente
; Caminhos dos addons
addons_path = /opt/odoo17/addons,/opt/odoo17/custom_addons
; Configurações de segurança
proxy_mode = True
list_db = False
; Configurações de log
logfile = /var/log/odoo17/odoo17.log
log_level = warn
; Configurações de desempenho
workers = 4
max_cron_threads = 2
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
; Configurações adicionais de segurança
limit_time_cpu = 600
limit_time_real = 1200
max_cron_threads = 2
É crucial usar uma senha forte aqui, pois essa será a senha de administração do Odoo.
8. Criando o arquivo de unidade do Systemd
Para gerenciar o Odoo mais facilmente, crie um arquivo de unidade para o systemd:
sudo nano /etc/systemd/system/odoo17.service
Configurações do serviço Odoo
Dentro desse arquivo, adicione:
[Unit]
Description=Odoo ERP
After=network.target postgresql.service
Requires=postgresql.service
[Service]
Type=simple
User=odoo17
Group=odoo17
ExecStart=/opt/odoo17/venv/bin/python3.11 /opt/odoo17/odoo-bin -c /etc/odoo.conf
StandardOutput=journal
StandardError=journal
Restart=always
RestartSec=10
LimitNOFILE=65536
KillMode=mixed
[Install]
WantedBy=multi-user.target
Verificação e ativação do serviço
Depois de salvar e sair do editor, recarregue o systemd e ative o serviço:
sudo systemctl daemon-reload
sudo systemctl enable --now odoo
Verifique o status do serviço para garantir que está funcionando:
sudo systemctl status odoo
9. Configurações Adicionais de Sistema
Vamos ajustar os limites do sistema:
sudo nano /etc/security/limits.conf
Adicione:
odoo17 soft nofile 65536
odoo17 hard nofile 65536
Configurar rotação de logs:
sudo nano /etc/logrotate.d/odoo
Adicione:
/var/log/odoo17/*.log {
weekly
rotate 4
compress
missingok
notifempty
copytruncate
}
10. Iniciar e Habilitar o Serviço
# Recarregar configurações do systemd
sudo systemctl daemon-reload
# Iniciar o serviço
sudo systemctl start odoo
# Habilitar início automático
sudo systemctl enable odoo
# Verificar status
sudo systemctl status odoo
11. Testando a instalação do Odoo
Com tudo configurado, agora posso acessar a interface web do Odoo. Vá ao navegador e digite:
http://SEU_IP_SERVER:8069
Processo de criação de um banco de dados
Na interface, preciso criar um novo banco de dados. A senha de administração que defini anteriormente será necessária aqui.
Resolução de possíveis erros de conexão
Se encontrar problemas ao se conectar ao banco de dados, posso precisar ajustar as configurações no arquivo pg_hba.conf do PostgreSQL:
sudo nano /etc/postgresql/12/main/pg_hba.conf
Mude a autenticação local para trust
temporariamente para resolver problemas de conexão, mas é recomendável mudar quantos antes para o método adequado.
12. Configurando um proxy reverso (Nginx)
Configurar um proxy reverso com Nginx ou Apache facilita o acesso ao Odoo sem a necessidade de especificar a porta. Isso também oferece benefícios como melhor desempenho e segurança.
Mas antes vamos instalar e configurar o Let’s Encrypt:
Adicionando Configuração do Let’s Encrypt
# Instalar Nginx e Certbot
sudo apt install nginx certbot python3-certbot-nginx -y
# Obter certificado SSL
sudo certbot --nginx -d seu_dominio.com
# Verificar renovação automática
sudo systemctl status certbot.timer
Passos para instalar Nginx
Se você decidir usar Nginx, pode instalá-lo com:
sudo apt install nginx -y
Crie configuração do Nginx para o Odoo:
sudo nano /etc/nginx/sites-available/odoo17
Adicione a seguinte configuração (substitua server_name e seu_dominio.com por seu nome de domínio):
# Definição dos upstreams
upstream odoo17 {
server 127.0.0.1:8069;
keepalive 32; # Mantém conexões ativas
}
upstream odoo17-chat {
server 127.0.0.1:8072;
keepalive 32;
}
# Cache para arquivos estáticos
proxy_cache_path /var/cache/nginx/odoo levels=1:2 keys_zone=odoo_cache:10m max_size=10g inactive=60m use_temp_path=off;
# Configuração HTTP (redirecionamento para HTTPS)
server {
listen 80;
server_name seu_dominio.com; # Substitua pelo seu domínio
return 301 https://$server_name$request_uri;
}
# Configuração HTTPS
server {
listen 443 ssl http2;
server_name seu_dominio.com; # Substitua pelo seu domínio
# Configurações SSL (já configuradas pelo Certbot)
ssl_certificate /etc/letsencrypt/live/seu_dominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/seu_dominio.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
# Configurações modernas de SSL
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# HSTS (remova se estiver testando)
add_header Strict-Transport-Security "max-age=63072000" always;
# Logs
access_log /var/log/nginx/odoo17.access.log combined buffer=512k flush=1m;
error_log /var/log/nginx/odoo17.error.log warn;
# Configurações de Buffer
client_max_body_size 100M;
client_body_buffer_size 1m;
proxy_buffer_size 4k;
proxy_buffers 8 16k;
proxy_busy_buffers_size 32k;
# Timeouts
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# 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;
}
Habilite o site:
sudo ln -s /etc/nginx/sites-available/odoo17 /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl restart nginx
Considerações finais
Manutenção e atualizações futuras
É importante que você faça atualizações regulares do Odoo ERP e das dependências. Com o tempo, novas versões com correções e funcionalidades serão lançadas.
Suporte e comunidade Odoo
A comunidade Odoo é muito ativa. Se você enfrentar qualquer problema, pode sempre buscar ajuda em fóruns especializados ou na documentação oficial.
Recursos adicionais e documentação
Para informações adicionais, consulte a documentação oficial do Odoo, que é um ótimo recurso para entender melhor as funcionalidades e a configuração do Odoo ERP.
Agora, com o Odoo ERP instalado e funcionando no meu servidor Ubuntu 24.04, você está pronto para aproveitar tudo o que essa poderosa ferramenta tem a oferecer!
Aproveite para ler também: Os melhores sistemas CRM Open Source em 2024
Qualquer dúvida, deixe um comentário abaixo ou entre em contato conosco.