Instalar o ERP Odoo 10 no Ubuntu Server
APRESENTAÇÃO:
Odoo (anteriormente intitulado OpenERP) é uma solução de gestão empresarial ERP completo, com um sistema CRM. É baseado na arquitetura MVC e implementa um cliente e um servidor, sendo a comunicação entre o cliente e o servidor por interface XML-RPC. O Software é open source e disponível sob a GNU General Public License - Affero. As principais áreas funcionais são: contabilidade gerencial, contabilidade, gerenciamento de materiais, gestão de vendas e compras, tarefas automatizadas, gestão de recursos humanos, marketing, help desk, e ponto de venda. O Odoo é extremamente modular, com 350 módulos disponíveis. (fonte: wikipedia)
Nesse link podem ser encontrado alguns parceiros Odoo no Brasil:
Justificativa para o Tutorial
Existem vários tutoriais para instalação do Odoo pela rede, quando o conheci, testei muitos desses tutoriais e com nenhum a instalação foi direta e sem alterações. Então resolvi compartilhar aqui minha experiência.
A maioria dos tutoriais encontrados se refere a instalação para desenvolvedores, isso faz com que sejam direcionadas a Desktop e a instalação de muitas bibliotecas sejam ignoradas na hora de fazê-la em um servidor.
O Sistema Operacional
Como um dos grandes desenvolvedores do Odoo no Brasil (Trust-Code) utiliza o Ubuntu para desenvolver, alguns itens já vem instalado por padrão nessa distribuição ou disponíveis em seus repositórios, fazendo dela a melhor escolha na hora de instalar o Odoo.
Para garantir segurança e até algum desempenho, é melhor que seja utilizado a versão "Ubuntu Server", no caso desse tutorial foi utilizado a versão 16.04.2 com download efetuado em 12/03/17 em www.ubuntu.com/download/server.
O Odoo
A versão instalada nesse tutorial foi a 10.0 Community.
A INSTALAÇÃO:
O foco desse tutorial é a instalação do Odoo e não do Sistema Operacional, então começaremos considerando que o Ubuntu já está devidamente instalado e atualizado.
1º Passo - Instalar e configurar o Postgresql:
Instalar:
$ sudo apt-get install postgresql
Usar o usuário postgres
$ sudo su postgres
Acessar a interface de comando do postgresql
$ psql
Alterar a senha do usuário postgres que é o usuário padrão.
postgres=# alter user postgres with password 'zzxx1a2b3c';
Criar o usuário Odoo com os privilégios necessários e definir senha:
postgres=# create user odoo superuser inherit createdb createrole noreplication;
postgres=# alter user postgres with password 'yyop7k2b3c';
postgres=# \q
exit
Alterar o arquivo pg_hba.conf e o postgresql.conf para que seja possível o acesso remoto ao banco
$ sudo su
# vim /etc/postgresql/9.5/main/pg_hba.conf
Adicione, ao final do arquivo, a linha: host all all 0.0.0.0/0 md5
* Mas essa linha deve ser alterada no caso de sistema em produção para restringir a sua rede.
# vim /etc/postgresql/9.5/main/postgresql.conf
Troque a linha:
#listen_addresses = 'localhost'
Por:
listen_addresses = '*'
Reinicialize o postgresql
# service postgresql restart
2º Passo - Instalar as dependências do Sistema Operacional.
$ sudo apt-get install python-pip libxml2-dev libxslt-dev libevent-dev libsasl2-dev libldap2-dev libpq-dev libjpeg-dev nodejs npm
$ sudo apt-get install python-libxml2 libxmlsec1-dev python-openssl python-cffi
$ sudo apt-get install zlib1g-dev fontconfig libfreetype6 libfreetype6-dev libx11-6 libxext6 libxrender1 libjpeg-turbo8 $ sudo apt-get install git $ sudo apt-get install build-essential autoconf libtool pkg-config python-opengl python-imaging python-pyrex python-pyside.qtopengl idle-python2.7 qt4-dev-tools qt4-designer libqtgui4 libqtcore4 libqt4-xml libqt4-test libqt4-script libqt4-network libqt4-dbus python-qt4 python-qt4-gl libgle3 python-dev libpq-dev
3º Passo - Instalar e atualizar as dependências do python.
* Não sei exatamente como chamar essas instalações já que são particulares do python e ainda não conheço muito bem. As linhas a seguir foram retiradas de outros tutoriais e de pesquisas quando ocorriam erros:
sudo pip install --upgrade pip sudo pip install -U setuptools sudo easy_install greenlet sudo easy_install gevent
sudo pip install -r /opt/odoo/doc/requirements.txt sudo pip install -r /opt/odoo/requirements.txt
Criar um arquivo "pip-requirements" com o seguinte conteúdo: Poderá haver redundância, mas isso será corrigido em breve:
Babel==1.3 Jinja2==2.7.3 Mako==1.0.1 MarkupSafe==0.23 Pillow==2.7.0 Python-Chart==1.39 PyYAML==3.11 Werkzeug==0.9.6 argparse==1.2.1 decorator==3.4.0 docutils==0.12 feedparser==5.1.3 gdata==2.0.18 gevent==1.0.2 greenlet==0.4.7 jcconv==0.2.3 lxml==3.4.1 mock==1.0.1 ofxparse==0.14 passlib==1.6.2 psutil==2.2.0 psycogreen==1.0 psycopg2==2.5.4 pyPdf==1.13 pydot==1.0.2 pyparsing==2.0.3 pyserial==2.7 python-dateutil==2.4.0 python-ldap==2.4.19 python-openid==2.2.5 pytz==2014.10 pyusb==1.0.0b2 qrcode==5.1 reportlab==3.1.44 requests==2.6.0 six==1.9.0 suds-jurko==0.6 vobject==0.6.6 wsgiref==0.1.2 XlsxWriter==0.7.7 xlwt==0.7.5 openpyxl==2.4.0-b1 boto==2.38.0 odoorpc suds_requests pytrustnfe python-boleto python-cnab http://labs.libre-entreprise.org/frs/download.php/897/pyxmlsec-0.3.1.tar.gz
Instale todos esses itens usando o comando:
$ sudo -H pip install -r pip-requirements
Outros itens:
$ sudo npm install -g less $ sudo ln -s /usr/bin/nodejs /usr/bin/node
$ wget http://download.gna.org/wkhtmltopdf/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb $ sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
4º Passo - A instalação do Odoo propriamente e o addons brasileiro.
$ sudo su
# cd /opt
# git clone https://github.com/odoo/odoo.git
# cd odoo
# git clone https://github.com/Trust-Code/odoo-brasil.git
5º Passo - Criar o arquivo de configuração odoo.config.
# vim odoo.config
Adicionar as linhas a seguir:
[options] addons_path=addons,odoo/addons,odoo-brasil admin_passwd = admin auto_reload = False csv_internal_sep = , db_host = localhost db_maxconn = 64 db_name = False db_port = False db_template = template0 db_user = odoo db_password= yyop7k2b3c
* Cabe algumas observações aqui:
> o iten "addons_path" deveria permitir a configuração com o caminho completo das referidas pastas, mas não consegui usar assim, deu alguns problemas quando tentei. Então sugiro usar dessa forma, mas lembre-se que na hora de executar vc deve estar dentro da pasta /opt/odoo.
6º Passo - Executar o servidor.
Existe uma velha briga entre desenvolvedores e administradores de sistemas quando o assunto é segurança. Em muitos sistemas o servidor tem que ser executado como root e isso não é uma boa prática pois dá excesso de poderes sobre o Sistema Operacional para o sistema e isso deixa brechas de segurança. Nesse exemplo, vou deixar sendo executado com root, mas farei alterações em breve para que o sistema seja executado sob um usuário comum com poderes limitados.
# cd /opt/odoo
# ./odoo-bin --config=odoo-config
7º Passo - Acessar o Odoo remotamente.
Como essa instalação em específico foi efetuada em uma versão Server do Ubuntu, não existirá ambiente gráfico ou navegadores instalados. Então o acesso, obrigatoriamente, deverá ser feito a partir de outra máquina.
Abrir o navegador e acessar http://ip-do-servidor:8069
Será vista a tela abaixo:
Preencha conforme suas necessidades:
Database Name: O banco de dados que será criado para sua empresas;
Email: Não precisa ser obrigatoriamente um e-mail, é um nome de usuário que será usado como administrador.
Password: Senha para esse usuário;
Language: O idioma do sistema;
Country: O país onde será usado;
Load demonstration data: Se habilitado, o sistema será populado com dados de exemplos.
Instalação terminada. Agora a aventura é aprender a usá-lo de forma correta e eficiente.
Caso ache erros no tutorial, por favor, informe nos comentários ou de qq forma que conseguir.