Odoo Installation · 12 min read · Nov 12, 2025
Como Instalar o Software Odoo 14 ERP no Ubuntu 20.04

Odoo (anteriormente conhecido como OpenERP) é um conjunto auto-hospedado de mais de 10.000 aplicativos de código aberto adequados para uma variedade de necessidades empresariais, incluindo CRM, eCommerce, contabilidade, inventário, gerenciamento de projetos e ponto de venda. Esses aplicativos são totalmente integrados e acessados através de uma interface web comum.
Neste tutorial, aprenderemos a instalar o Odoo 14 Stack em um servidor baseado em Ubuntu 20.04.
Pré-requisitos
- Um servidor baseado em Ubuntu 20.04 com um mínimo de 2GB de RAM para hospedar o Odoo Stack.
- Um segundo servidor baseado em Ubuntu 20.04 com um mínimo de 2GB de RAM para hospedar o banco de dados PostgreSQL. Você pode, no entanto, instalar o banco de dados no mesmo servidor que o Odoo, mas para ambientes de produção, é altamente recomendado que você o instale em um servidor separado. Você também pode escolher qualquer uma das opções de banco de dados gerenciadas disponíveis de qualquer provedor de sua escolha.
- O requisito de RAM dependerá do número de usuários simultâneos que estarão usando o stack. Um guia detalhado sobre como calcular os requisitos do sistema pode ser encontrado na documentação do Odoo.
- Mantenha seus sistemas atualizados.
shell $ sudo apt update $ sudo apt upgrade - Um usuário não-root com privilégios sudo em ambos os servidores.
Configurar regras de Firewall
Para os propósitos deste tutorial, assumiremos que você tem o firewall ufw instalado em ambos os servidores.
No servidor Odoo, precisaremos que as portas 22, 80, 443, 6010, 5432 e 8069 estejam abertas. A porta 22 é usada para SSH, 80 é para HTTP, 443 é para HTTPS, 6010 é usada para comunicação do Odoo, 5432 é usada pelo PostgreSQL e 8069 é usada pela aplicação do servidor Odoo.
Execute os seguintes comandos para abrir as portas necessárias no servidor Odoo.
$ sudo ufw allow "OpenSSH"
$ sudo ufw allow 80,443,6010,5432,8069,8072/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 6010/tcp
$ sudo ufw allow 5432/tcp
$ sudo ufw allow 8069/tcp
$ sudo ufw allow 8072/tcp
No servidor PostgreSQL, precisamos abrir as portas 22, 6010 e 5432. Abra-as usando os comandos que acabamos de discutir.
Atribuir Nomes de Host
Você pode usar os endereços IP dos servidores ou usar seus Nomes de Domínio Totalmente Qualificados (FQDN), se disponíveis. Para o nosso tutorial, usaremos FQDNs e, para isso, precisamos definir nomes de host em ambos os servidores.
No servidor Odoo, abra o arquivo /etc/hosts.
$ sudo nano /etc/hosts
Certifique-se de que ele se pareça com o seguinte.
127.0.0.1 localhost
127.0.0.1 odoo.seudominio.com odoo
10.1.1.10 postgresql.seudominio.com postgresql
No servidor PostgreSQL, abra o arquivo e certifique-se de que ele se pareça com o seguinte.
127.0.0.1 localhost
127.0.0.1 postgresql.seudominio.com postgresql
10.1.2.10 odoo.seudominio.com odoo
Pressione Ctrl + X para fechar o editor e pressione Y quando solicitado a salvar o arquivo.
Instalar e Configurar PostgreSQL
O Ubuntu 20.04 vem com o PostgreSQL 12 por padrão e nós o instalaremos. Execute o seguinte comando no servidor PostgreSQL.
$ sudo apt install postgresql-12 postgresql-server-dev-12
Em seguida, precisamos criar um usuário de banco de dados odoo.
$ sudo -u postgres createuser odoo -U postgres -dP
A opção -u executa o comando como usuário postgres.
A opção -U indica o nome do usuário para conectar.
A opção -d concede ao usuário permissão para criar bancos de dados.
A opção -p solicita a senha do novo usuário.
Configurar Autenticação Baseada em Host
Precisamos dar permissão ao serviço PostgreSQL para poder se conectar ao servidor Odoo.
Primeiro, pare o serviço PostgreSQL.
$ sudo systemctl stop postgresql
Abra o arquivo /etc/postgresql/12/main/pg_hba.conf para edição.
$ sudo nano /etc/postgresql/12/main/pg_hba.conf
Cole a seguinte linha no final.
host all odoo odoo.seudominio.com md5
Esta linha concede permissão ao usuário odoo para se conectar a todos os bancos de dados dentro deste servidor. Você também pode especificar o nome dos bancos de dados em vez de usar a palavra-chave all.
Pressione Ctrl + X para fechar o editor e pressione Y quando solicitado a salvar o arquivo.
Configurar Endereço de Escuta do PostgreSQL
Em seguida, precisamos permitir que o servidor de banco de dados escute conexões remotas. Abra o arquivo /etc/postgresql/12/main/postgresql.conf para edição.
$ sudo nano /etc/postgresql/12/main/postgresql.conf
Altere a linha listen_addresses de
#listen_addresses = 'localhost' # qual(is) endereço(s) IP para escutar;
para.
#Da Seção CONEXÕES E AUTENTICAÇÃO
listen_addresses = '*'
O * significa que ele escutará todos os endereços IP. Você pode alterá-lo para o endereço IP da sua instância do odoo.
Pressione Ctrl + X para fechar o editor e pressione Y quando solicitado a salvar o arquivo.
Habilitar e Iniciar o Serviço PostgreSQL
Como nossa configuração está concluída, é hora de iniciar e habilitar o serviço PostgreSQL.
$ sudo systemctl start postgresql && sudo systemctl enable postgresql
Instalar Odoo
Instalar dependências e Preparar para instalação
Crie um novo usuário do sistema para gerenciar os processos do Odoo no servidor Odoo.
$ sudo adduser --system --home=/opt/odoo --group odoo
Precisamos instalar algumas dependências do sistema, mas primeiro, precisamos habilitar repositórios de origem. Para fazer isso, faça backup da lista de fontes original e, em seguida, habilite todos os repositórios de origem e atualize a lista de repositórios.
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list~
$ sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
$ sudo apt update
Instale as dependências do sistema necessárias para a configuração do Odoo 14.
$ sudo apt install python3-pip python3-suds python3-all-dev python3-venv python3-dev python3-setuptools python3-tk libxml2-dev libxslt1-dev libevent-dev libsasl2-dev libldap2-dev pkg-config libtiff5-dev libjpeg8-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev liblcms2-utils libwebp-dev tcl8.6-dev tk8.6-dev libyaml-dev fontconfig xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils libpq-dev
$ sudo apt build-dep lxml
Instale o Nodejs.
$ sudo curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
$ sudo apt install nodejs
Instale o pacote Less CSS usando o Node.
$ sudo npm install -g less less-plugin-clean-css
Baixe o pacote wkhtmltopdf versão 0.12.6.
$ cd /tmp
$ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
Instale o pacote.
$ sudo dpkg -i wkhtmltox_0.12.6-1.focal_amd64.deb
Para garantir que o wkhtmltopdf funcione corretamente, copie os binários para /usr/bin e dê as permissões adequadas.
$ sudo cp /usr/local/bin/wkhtmlto* /usr/bin/
$ sudo chmod a+x /usr/bin/wk*
$ cd ~
Baixar Arquivos do Odoo
Clone o repositório do Github do Odoo em seu sistema.
$ sudo git clone https://github.com/odoo/odoo.git --depth 1 --branch 14.0 --single-branch /opt/odoo
Para nosso propósito, estamos copiando o Odoo para o diretório /opt/odoo de onde ele será instalado.
Configurar Ambiente Virtual Python
Esta etapa é opcional, mas é recomendada, pois um ambiente virtual python para Odoo ajudará a evitar conflitos com os módulos Python do sistema operacional, especialmente ao realizar atualizações do SO.
Para isso, usaremos virtualenv.
- Crie um novo ambiente
virtualenvpara o Odoo.shell $ python3 -m venv /home//odoo-env - Ative o ambiente virtual. Estamos criando um ambiente no diretório home do usuário do sistema. Você é livre para escolher qualquer local que desejar.
shell $ source /home//odoo-env/bin/activate - Atualize o PIP, só por precaução.
shell (odoo-env) $ pip3 install --upgrade pip - Instale o wheel do Python no ambiente virtual.
shell $ pip3 install wheel
Instalar Dependências do Python
Instale as dependências do Python necessárias para o Odoo 14.
$ pip3 install -r /opt/odoo/doc/requirements.txt
$ pip3 install -r /opt/odoo/requirements.txt
Os requisitos levarão algum tempo para serem instalados, então tenha paciência.
Verifique se os requisitos estão instalados corretamente verificando a lista de módulos Python instalados.
$ pip3 list
Package Version
----------------------------- ---------
alabaster 0.7.12
appdirs 1.4.4
attrs 20.3.0
Babel 2.6.0
beautifulsoup4 4.9.3
cached-property 1.5.2
certifi 2020.12.5
chardet 3.0.4
decorator 4.3.0
defusedxml 0.7.1
docutils 0.14
ebaysdk 2.1.5
feedparser 5.2.1
freezegun 0.3.15
gevent 20.9.0
greenlet 0.4.17
html2text 2018.1.9
idna 2.6
imagesize 1.2.0
isodate 0.6.0
Jinja2 2.11.2
libsass 0.17.0
lxml 4.6.1
Mako 1.0.7
MarkupSafe 1.1.0
num2words 0.5.6
ofxparse 0.19
packaging 20.9
passlib 1.7.1
Pillow 8.0.1
pip 21.0.1
pkg-resources 0.0.0
polib 1.1.0
psutil 5.6.6
psycopg2 2.8.5
pyasn1 0.4.8
pyasn1-modules 0.2.8
pydot 1.4.1
Pygments 2.8.1
pyparsing 2.4.7
PyPDF2 1.26.0
pyserial 3.4
python-dateutil 2.7.3
python-ldap 3.1.0
python-stdnum 1.8
pytz 2019.1
pyusb 1.0.2
qrcode 6.1
reportlab 3.5.55
requests 2.21.0
requests-toolbelt 0.9.1
setuptools 44.0.0
six 1.15.0
snowballstemmer 2.1.0
soupsieve 2.2
Sphinx 3.5.2
sphinx-patchqueue 1.0.4
sphinxcontrib-applehelp 1.0.2
sphinxcontrib-devhelp 1.0.2
sphinxcontrib-htmlhelp 1.0.3
sphinxcontrib-jsmath 1.0.1
sphinxcontrib-qthelp 1.0.3
sphinxcontrib-serializinghtml 1.1.4
unidiff 0.6.0
urllib3 1.24.3
vobject 0.9.6.1
Werkzeug 0.16.1
wheel 0.36.2
xlrd 1.2.0
XlsxWriter 1.1.2
xlwt 1.3.0
zeep 3.2.0
zope.event 4.5.0
zope.interface 5.2.0
Saia do ambiente virtual Python.
$ deactivate
Configurar Odoo
Copie o arquivo de configuração padrão do Odoo para criar um novo.
$ sudo cp /opt/odoo/debian/odoo.conf /etc/odoo-server.conf
Abra o arquivo para edição.
$ sudo nano /etc/odoo-server.conf
Edite o arquivo para que ele se pareça com o seguinte.
[options]
; Esta é a senha que permite operações no banco de dados:
admin_passwd = admin
db_host = postgresql.seudominio.com
db_port = False
db_user = odoo
db_password = odoo_password
addons_path = /opt/odoo/addons
xmlrpc_port = 8069
Pressione Ctrl + X para fechar o editor e pressione Y quando solicitado a salvar o arquivo.
A opção admin_passwd é a senha que permite operações administrativas dentro da GUI do Odoo. Certifique-se de escolher uma senha segura.
A opção db_host é o FQDN ou o endereço IP do servidor PostgreSQL.
A opção db_port é definida como falsa, pois a porta padrão do PostgreSQL 5432 está sendo usada. Se você quiser usar uma porta diferente, precisará atualizar este valor.
A opção db_user é o nome do usuário do PostgreSQL.
A opção db_password é a senha do usuário PostgreSQL ‘odoo’ que criamos anteriormente no servidor PostgreSQL.
A opção addons_path é o caminho padrão dos Addons. Você também pode adicionar um caminho personalizado para Addons separando-os com vírgulas.
A opção xmlrpc_port é a porta na qual o Odoo escuta.
Criar serviço Odoo
Para garantir que o Odoo continue em execução mesmo após uma reinicialização do sistema, precisamos criar um serviço para ele.
Crie um arquivo /lib/systemd/system/odoo-server.service e abra-o para edição.
$ sudo nano /lib/systemd/system/odoo-server.service
Cole o seguinte código nele.
[Unit]
Description=Odoo Open Source ERP and CRM
[Service]
Type=simple
PermissionsStartOnly=true
SyslogIdentifier=odoo-server
User=odoo
Group=odoo
ExecStart=/home//odoo-env/bin/python3 /opt/odoo/odoo-bin --config=/etc/odoo-server.conf --addons-path=/opt/odoo/addons/
WorkingDirectory=/opt/odoo/
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Substitua /home/ pelo local que você escolheu para instalar o Ambiente Virtual Python.
Pressione Ctrl + X para fechar o editor e pressione Y quando solicitado a salvar o arquivo.
Definir permissões de arquivo
Defina permissões no arquivo odoo-server.service para que apenas o usuário Odoo possa lê-lo ou executá-lo.
$ sudo chmod 755 /lib/systemd/system/odoo-server.service
$ sudo chown odoo: /lib/systemd/system/odoo-server.service
Defina a propriedade no ambiente Python e no diretório de instalação do Odoo.
$ sudo chown -R odoo: /opt/odoo/
$ sudo chown -R odoo: /home//odoo-env
Restringir o arquivo de configuração do Odoo.
$ sudo chown odoo: /etc/odoo-server.conf
$ sudo chmod 640 /etc/odoo-server.conf
Iniciar o servidor Odoo
Inicie e habilite o servidor Odoo.
$ sudo systemctl start odoo-server
$ sudo systemctl enable odoo-server
Verifique o status do servidor.
$ sudo systemctl status odoo-server
No seu navegador, abra a URL http:// ou http://odoo.seudominio.com:8069. Se tudo estiver funcionando corretamente, você deverá ver a tela de criação do banco de dados do Odoo.

Preencha todos os campos. Marque o campo Dados de Demonstração para preencher o banco de dados com dados de exemplo e clique no botão Criar banco de dados.
Em seguida, você verá uma lista de aplicativos que pode escolher e selecionar.
Na primeira vez que você criar um banco de dados, a página de addons levará um tempo para carregar, então não atualize a página.
Instalar e Configurar Nginx
Até agora, temos usado o servidor Odoo para executar o stack. Mas, idealmente, é melhor executá-lo no Nginx usando um proxy, pois isso nos permitirá instalar SSL nele.
Instale o Nginx.
$ sudo apt install nginx
Para executá-lo via Nginx, precisamos executar o Odoo no localhost. Para mudar isso, pare o serviço Odoo.
$ sudo systemctl stop odoo-server
Abra o arquivo de configuração do servidor Odoo.
$ sudo nano /etc/odoo-server.conf
Adicione as seguintes linhas a ele.
xmlrpc_interface = 127.0.0.1
proxy_mode = True
Crie um arquivo de configuração do Nginx para o Odoo.
$ sudo nano /etc/nginx/sites-available/odoo.conf
Cole o código abaixo.
#servidor odoo
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
# http -> https
server {
listen 80;
server_name odoo.seudominio.com;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443 ssl http2;
server_name odoo.seudominio.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Adicionar Cabeçalhos para modo proxy do odoo
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;
# Parâmetros SSL
ssl_certificate /etc/letsencrypt/live/odoo.seudominio.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/odoo.seudominio.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m; # cerca de 40000 sessões
ssl_session_tickets off;
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;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
# log
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Redirecionar solicitações longpoll para a porta de longpolling do odoo
location /longpolling {
proxy_pass http://odoochat;
}
# Redirecionar solicitações para o servidor backend do odoo
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
# gzip comum
gzip_types text/css text/scss text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Pressione Ctrl + X para fechar o editor e pressione Y quando solicitado a salvar o arquivo.
Ative este arquivo de configuração vinculando-o ao diretório sites-enabled.
$ sudo ln -s /etc/nginx/sites-available/odoo.conf /etc/nginx/sites-enabled/
Teste a configuração do Nginx.
$ sudo nginx -t
Instalar SSL
Instalaremos SSL usando o serviço Let’s Encrypt.
Para isso, instale o Certbot.
$ sudo apt install certbot
Pare o Nginx porque ele interferirá no processo do Certbot.
$ sudo systemctl stop nginx
Gere o certificado. Também precisamos criar um certificado DHParams.
$ sudo certbot certonly --standalone -d odoo.seudominio.com --preferred-challenges http --agree-tos -n -m [email protected] --keep-until-expiring
$ sudo systemctl start nginx
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Também precisamos configurar um trabalho cron para renovar o SSL automaticamente. Para abrir o editor crontab, execute o seguinte comando.
$ sudo crontab -e
Cole a seguinte linha no final.
25 2 * * * /usr/bin/certbot renew --quiet --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"
O trabalho cron acima será executado pelo certbot às 2:25 da manhã todos os dias. Você pode alterá-lo para qualquer coisa que desejar.
Salve o arquivo pressionando Ctrl + X e digitando Y quando solicitado.
Iniciar Odoo
Agora que tudo está configurado, podemos iniciar o servidor Odoo novamente.
$ sudo systemctl start odoo-server
Inicie o Odoo em seu navegador via https://odoo.seudominio.com. Você verá uma tela descrita anteriormente. Insira os detalhes necessários para criar o banco de dados e você deve fazer login no Odoo e ver uma tela como esta.

Conclusão
Isso conclui nosso tutorial sobre como instalar o Odoo no servidor Ubuntu 20.04. Se você tiver alguma dúvida, poste nos comentários abaixo.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.