domingo, 12 de abril de 2020

Instalacion de Odoo11 en Ubuntu 18

Hola banda, pues aqui de nuevo, por ahi tenemos un video en mi canal de youtube, si te interesa aprender, PfSense, Linux o Windows date una vuelta a lo mejor encuentras algo que te pueda servir.

Canal de Pedro Moreno

Ahora para ver el video de como instalar Odoo11 bajo Ubuntu 18.0.4 aqui lo tienes:

Video 22: Instalacion y Confguracion de Odoo11 en Ubuntu 18 LTS

A muchos les gusta leer por ello aqui plasmo como se lleva a cabo para la instalacion, veran que es muy sencillo, ademas que si vez el video, ocupas los comandos usados para que los lleves a la practica, aqui estan plasmados.

Antes de iniciar les recuerdo que por alguna razon el equipo de Odoo continue utlizando la base de datos PostgreSQL, en esta version estamos usando la que viene de fabrica bajo Ubuntu que es la 10.x.

Van a ver que es bien sencillo y pronto tendran su sistema corriendo y aprendiendo con el, por que la regla es, nunca dejar de aprender...

NOTA: Todos los pasos los estoy haciendo como usuario 'root' si deseas hacer uso de sudo adelante no hay problema, ya estoy acostumbrado a hacerlo de este manera.

Iniciamos los pasos.

1; Instalar y Actualizar Ubuntu.

Esta es la parte mas sencilla de todo, ahi que instalar y posteriormente actualizar el sistema, no debe quedar nada pendiente.

apt-get update && apt-get upgrade -y

Ya que terminen, reinician el sistema.

shutdown -r now

2; Deshabilitar Servicios Innecesarios.

Importante conocer bien nuestros sistemas, algo que siempre tengo la constumbre desde mis antepasados es saber que servicios estan en ejecusion al arrancar el sistema y cuales realmente son necesarios para lo que nuestro sistema tiene como finalidad, ya que de no hacerlo tendremos aplicaciones no escenciales y mal gastando tanto CPU como memoria.

Para este caso vamos a deshabilitar los siguientes:
  • iscsi.service 
  • open-iscsi.service 
  • iscsid.socket
  • ufw.service iscsid.socket 
  • remote-fs.target 
  • ebtables.service 
  • setvtrgb.service
Los demas los estoy investigando para saber si me sirven o hacen cosas que no necesito, entonces para esto ejecutamos el siguiente comando:

systemctl stop iscsi.service
systemctl stop open-iscsi.service
systemctl stop open-iscsi.service
systemctl stop ufw.service
systemctl stop remote-fs.target
systemctl stop ebtables.service
systemctl stop ebtables.service

Ahora vamos a deshabilitarlos para que ya no arranquen cada que el sistema inicia.

systemctl disable iscsi.service
systemctl disable open-iscsi.service
systemctl disable open-iscsi.service
systemctl disable ufw.service
systemctl disable remote-fs.target
systemctl disable ebtables.service
systemctl disable ebtables.service

Lo estoy haciendo paso por paso, para todos aquellos que estan iniciando en este mundo asi pueden ver como se lleva a cabo y no revolverlos con grupos de comandos y se queden con la duda, no todos apredemos de la misma manera, ahi que conocernos.

3; Hora del Servidor.

Importante que tengamos nuestro servidor a la hora correcta o sea a la hora de nuestra zona, en mi casi yo me encuentro en Tijuana, entonces mi zona es: America/Tijuana, pero donde esta esta info?

 cd /usr/share/zoneinfo

Un listado nos muestra todo esto, aqui es solo buscar donde esta su zona, la vamos a usar para indicarle al sistema cual zona de horario usar.


En mi caso me dice que actualmente tiene como zona:


Yo estoy en Tijuana, asi que vamos a cambiar la zona, ya que mi horario nada que ver con el del servidor quien dice que son las :

Sun Apr 12 21:15:31 UTC 2020

Y localmente son:

2:15PM Tiempo del Pacifico.

Para ello ejecutamos estos comandos.

unlink /etc/localtime
ln -s /usr/share/zoneinfo/America/Tijuana /etc/localtime
ls -l /etc/localtime
lrwxrwxrwx 1 root root 35 Apr 12 14:16 /etc/localtime -> /usr/share/zoneinfo/America/Tijuana
 date
Sun Apr 12 14:16:44 PDT 2020


Ya estamos en la hora correcta para mi, ustedes revisen cual es su zona y adapten los comandos a su area.

Vamos a lo que sigue.

4; Instalar PostgreSQL.

La base de datos donde Odoo almacena toda su info, PostgreSQL version de fabrica con Ubuntu, es un paso bien sencillo, solo tecleamos esto:

apt-get install postgresql -y

Al final tendremos algo similae a esto:


Ahora vamos a verificar que el servicio de PostgreSQL este en operacion:

systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2020-04-12 14:20:19 PDT; 12min ago
 Main PID: 2370 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4657)
   CGroup: /system.slice/postgresql.service

Apr 12 14:20:19 odoo-server systemd[1]: Starting PostgreSQL RDBMS...
Apr 12 14:20:19 odoo-server systemd[1]: Started PostgreSQL RDBMS.

Perfecto, esta activo, pero vamos un poco mas adentro, revisemos accesando la consola del sistema, creando una base de datos y luego borrandola...

su postgres
postgres@odoo-server:/usr/share/zoneinfo$ psql postgres postgres
psql (10.12 (Ubuntu 10.12-0ubuntu0.18.04.1))
Type "help" for help.

postgres=#


Como podemos ver, ya estamos en la consola, ahora listamos las base de datos de fabrica:

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

postgres=#


Creamos una base de datos:

postgres=# CREATE DATABASE pruebabd;
CREATE DATABASE
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 pruebabd  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

postgres=#


Ahora borremos la base de datos:

postgres=# DROP DATABASE pruebabd;
DROP DATABASE
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(3 rows)

postgres=#


Comando funciono, ya no esta la base de datos que hace rato creamos, se ve todo en orden.

Ahora salimos de la consola de PostgreSQL y regresamos a el usuario root:

postgres=# \q
postgres@odoo-server:/usr/share/zoneinfo$ exit
exit
root@odoo-server:/usr/share/zoneinfo#


Ya solo por ultimo, voy a revisar si el log de la base de datos no arroja algun error raro antes de, los logs son la parte mas fundamental que debemos revisar cuando el sistema esta raro.

tail -n 50 /var/log/postgresql/postgresql-10-main.log
2020-04-12 14:20:26.675 PDT [3600] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2020-04-12 14:20:26.677 PDT [3600] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2020-04-12 14:20:26.699 PDT [3610] LOG:  database system was shut down at 2020-04-12 14:20:23 PDT
2020-04-12 14:20:26.718 PDT [3600] LOG:  database system is ready to accept connections
2020-04-12 14:20:27.260 PDT [3619] [unknown]@[unknown] LOG:  incomplete startup packet


Como se puede ver no hay ningun error que indique problemas.

5; Instalacion de pip3.

Como sabemos, python es el lenguaje de Odoo, entonces vamos a necesitar ciertas librerias, una de ellas es pip3, para su instalacion ejecutamos:

apt-get install python3-pip -y

Esto instalara varias aplicaciones en el sistema, al final obtendremos algo similar a esto:


Revisamos la version...

pip3 -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)


6; Intalacion de Librerias de Python para Odoo en pip3

Ahora seguimos con mas librerias de python, por ello ocupamos pip para poder instalarlas. Ejecutamos lo siguiente:

pip3 install num2words
pip3 install phonenumbers
pip3 install xlwt


7; Instalacion de Odoo11.

Ya tenemos el sistema listo para llevar a cabo la instalacion de Odoo11, para estos llevamos a cabo estos pasos.

7.1 Instalacion de la llave para el repositorio de Ubuntu.

wget -O - https://nightly.odoo.com/odoo.key | apt-key add -


7.2 Agregamos el repositorio de odoo a nuestro ubuntu.

echo "deb http://nightly.odoo.com/11.0/nightly/deb/ ./" >> /etc/apt/sources.list

El comando anterior no regresa ninguna respuesta. Aqui como se ve en el comando anterior, agregamos esa linea a el archivo sources.list y si lo abrimos vamos a ver esto al final del archivo:


Se ve en la imagen anterior que al final tenemos la ruta donde ubuntu va ir a traer odoo cuando ejecutamos la instalacion, que es lo que sigue.

7.2 Actualizamos el repositorio de ubuntu.

apt-get update

Vean como ya nos aparece el repositorio de odoo11.



7.3 Instalación de Odoo11.

Ya es momento de instalar odoo11.

apt-get install odoo -y

Esto va ir e instalar muchas librerias y aplicaciones que odoo11 requiere para su correcta operacion. Dependiendo la velocidad de su conexion y su equipo de computo, puede ser tarde o lo haga muy rapido.

Al final tendremos algo similar a esto:


No hay errores, todo se instalo correctamente. Una vez instalado, el servicio arranca solito, revisemos.

root@odoo-server:/usr/share/zoneinfo# systemctl status odoo
● odoo.service - Odoo Open Source ERP and CRM
   Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-04-12 15:42:51 PDT; 3min 2s ago
 Main PID: 13220 (odoo)
    Tasks: 4 (limit: 4657)
   CGroup: /system.slice/odoo.service
           └─13220 /usr/bin/python3 /usr/bin/odoo --config /etc/odoo/odoo.conf --logfile /var/log/odoo/odoo-server.log

Apr 12 15:42:51 odoo-server systemd[1]: Started Odoo Open Source ERP and CRM.



Entonces, nuestro servidor odoo esta listo para recibir peticiones, vamos a revisar nuestros servicios esperando peticiones, odoo usa el puerto 8069 TCP para esto, ejecutamos este comando:

netstat -ltup

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:8069            0.0.0.0:*               LISTEN      13220/python3
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN      722/systemd-resolve
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      869/sshd
tcp        0      0 localhost:postgresql    0.0.0.0:*               LISTEN      3600/postgres
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      869/sshd
udp        0      0 localhost:domain        0.0.0.0:*                           722/systemd-resolve
udp        0      0 odoo-server:bootpc      0.0.0.0:*                           690/systemd-network


Como se ve en los datos anteriores, esta escuchando la 0.0.0.0:8069, es odoo11 :-).

Aun no vamos a entrar a el sistema, ocupamos llevar a cabo unas instalaciones mas, por ello vamos a apagar el servicio.

systemctl stop odoo

Sigamos.

8; Instalar  Wkhtmltopdf

Esta aplicacion tiene que ver con los reportes, para poder convertir html a pdf. Antes de, instalamos estas aplicaciones:

8.1 Fonts

apt-get install xfonts-base xfonts-75dpi -y

Termina todo sin problemas.  Ahora vamos a seguir los pasos para la descarga de otra aplicacion mas y por ultimo la que buscamos. Vamos a descargar todo en el directorio /tmp.

8.2 Libpng

cd /tmp
wget http://security.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
dpkg -i libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

8.3 Wkhtmltopdf

Esta un poco grande esta aplicacion.

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.bionic_amd64.deb
dpkg -i wkhtmltox_0.12.5-1.bionic_amd64.deb

Y por ultimo agregamos unos enlaces a los binarios de la aplicacion:

ln -s /usr/local/bin/wkhtmltopdf /usr/bin/
ln -s /usr/local/bin/wkhtmltoimage /usr/bin/


9; Iniciamos el Servicio Odoo11.

Ya tenemos todo listo para la ejecucion de Odoo11, entonces ya sabemos como iniciar el servicio:

systemctl start odoo

Estatus del servicio?

systemctl status odoo
● odoo.service - Odoo Open Source ERP and CRM
   Loaded: loaded (/lib/systemd/system/odoo.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2020-04-12 16:07:11 PDT; 12s ago
 Main PID: 13744 (odoo)
    Tasks: 4 (limit: 4657)
   CGroup: /system.slice/odoo.service
           └─13744 /usr/bin/python3 /usr/bin/odoo --config /etc/odoo/odoo.conf --logfile /var/log/odoo/odoo-server.log

Apr 12 16:07:11 odoo-server systemd[1]: Started Odoo Open Source ERP and CRM.

Como les comente en la seccion de PostgreSQL, Odoo tambien tiene logs, veamos si no marca algun error o alguna aplicacion o libreria que le haga falta, vital esto para todos aquellos que estan administrando la aplicacion.

tail -n 40 /var/log/odoo/odoo-server.log
2020-04-12 22:42:53,085 13220 INFO ? odoo: Odoo version 11.0-20200412
2020-04-12 22:42:53,086 13220 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf
2020-04-12 22:42:53,086 13220 INFO ? odoo: addons paths: ['/var/lib/odoo/.local/share/Odoo/addons/11.0', '/usr/lib/python3/dist-packages/odoo/addons']
2020-04-12 22:42:53,086 13220 INFO ? odoo: database: odoo@default:default
2020-04-12 22:42:53,115 13220 INFO ? odoo.service.server: HTTP service (werkzeug) running on odoo-server:8069
2020-04-12 22:42:53,246 13220 INFO ? odoo.addons.base.ir.ir_actions_report: You need Wkhtmltopdf to print a pdf version of the reports.
2020-04-12 22:54:44,708 13220 INFO ? odoo.service.server: Initiating shutdown
2020-04-12 22:54:44,709 13220 INFO ? odoo.service.server: Hit CTRL-C again or send a second signal to force the shutdown.
2020-04-12 23:07:12,321 13744 INFO ? odoo: Odoo version 11.0-20200412
2020-04-12 23:07:12,322 13744 INFO ? odoo: Using configuration file at /etc/odoo/odoo.conf
2020-04-12 23:07:12,322 13744 INFO ? odoo: addons paths: ['/var/lib/odoo/.local/share/Odoo/addons/11.0', '/usr/lib/python3/dist-packages/odoo/addons']
2020-04-12 23:07:12,322 13744 INFO ? odoo: database: odoo@default:default
2020-04-12 23:07:12,338 13744 INFO ? odoo.service.server: HTTP service (werkzeug) running on odoo-server:8069
2020-04-12 23:07:12,483 13744 INFO ? odoo.addons.base.ir.ir_actions_report: Will use the Wkhtmltopdf binary at /usr/local/bin/wkhtmltopdf


Todo se ve normal, no veo nada raro como les acabo de mencionar, esta listo para recibir a los clientes.

Ahora si, abran su navegador y apunten a la IP del servidor en su red local puerto 8069, en mi caso tiene como IP 192.168.20.122 y crucemos los dedos...


Listo, Odoo esta contestando el llamado.

Hasta aqui hemos logrado instalar la Odoo11, pero vamos a ir un poco mas, ahora lo que sigues es crear nuestra primer empresa con la empresa demo.

10; Creando Nuestra Primero Empresa con Datos Demo.

Ingresamos los datos de nuestra empresa, ustedes ajustenla a sus criterios, en mi caso quedaria asi:


Esperamos un poco en lo que lleva a cabo esta tarea. De acuerdo a el poder de su equipo de computo puede ser rapido o tardado. Ademas contemplar que esta cargando datos de la empresa demo.

Mi equipo esta trabajando...


Una vez que termina, nos envia a la seccion de aplicaciones por si deseamos instalar algun modulo, todo va bien.


Podemos decir que el sistema fue correctamente instalado, pero como administradores de sistemas, hasta aqui ya los desarrolladores pueden entrar a empezar a trabajar con el sistema.

De mi parte solo faltaria llevar a cabo una seria de pasos mas, asi que continuamos.

11; Agregar el Password Maestro(Master Password).

Cerramos la sesion actual actual para que nos dirija a la pagina princial del sistema. de ahi nos vamos a la seccion de "Manage Database" como lo indica la siguiente imagen:

Ingresan una clave en base a sus politicas de seguridad y le dan click en el boton "Continue".

Si todo en orden, que nunca he tenido problemas en esa seccion, nos regresa a la seccion donde se administran las bases de datos(empresas).


La importancia de la clave maestra que solo los administradores del servicio deben conocer, es para que no todo mundo que accese al sistema pueda moverle al sistema, solo los que tienen esa clave, podran agregar, borrar, etc etc. Importante.

12; Prueba de Respaldo, Borrado y Restauracion de una Empresa.

Como ultimo punto, vamos a probar el respaldo manual, tengo otro video y blog donde uso un modulo de Odoo para hacerlos los respaldos automaticos, ya que ahi informacion que debemos saber sobre la informacion que Odoo almacena en la base de datos y la que no cuando decidamos nuestro proceso de respaldo.

Iniciamos con un respaldo, por ello seguimos en la misma seccion que nos quedamos del punto anterior.

Para esto, vamos a hacer un cambio en nuestra empresa para corroborar el respaldo funcione, en esa misma pantalla, el damos un click a empresa demo y nos lleva a la seccion de acceso, ingresamos nuestras credenciales.





De ahi nos vamos a la seccion  "Preferencias" y modificamos datos para probar el respaldo, yo lo deje de esta manera, ustedes ingresen lo que desean cambiar.

Al final no se les olvide presionar el boton 'Guardar'.

Ahora si, cerramos la sesion y nos vamos a la seccion 'Manage databases', nos muestra nuestra empresa demo y le damos click en el boton 'Backup'.

Nos aparece una ventana que nos pregunta por el 'Master Password' que usamos en el punto 11, debe quedar similar a este pantalla.

Nos indica que esta trabajando, al final nos descarga el archivo con el respaldo en nuestro equipo local.


Ahora, ya con nuestro respaldo listo, regreso a la misma pantalla y modifico la info.


Lo que sigue es borrar nuestra empresa y restaurarla usando nuestro respaldo.

En la misma seccion de 'Manage Databases' ahora le damos un click a el link 'Delete' para eliminar nuestra empresa.


Nos pide la 'Master Password' y le damos click al boton 'Delete'.


Listo, como en mi caso solo tenia  una empresa, me regresa a la pantalla inicial de Odoo donde creamos la primer base de datos(empresa), ver punto 9.

En este caso como vamos a restaurar, selecciones 'or restore a database'. 


Nos pide 'Master Password', nuestro archivo de respaldo que acabamos de descargar y el nombre de la base de datos (empresa), click a el boton 'Continue'.


Empieza la restauracion, ahi que esperar un poco, al finalizar nos envia a la pagina de las bases de datos, selecciono mi base de datos para volver a autenticarnos, recuerden los datos que cambiaron para probar que el respaldo funciona.

Revisando cambios...


Listo, recupere mi base de datos.

13; Fin de Tutorial.

Banda, hemos terminado, asi es como llevo a cabo las instalacion de Odoo11, espero les ayude para que inicien su curva de aprendizaje y cualquier duda quedamos a la orden en sus comentarios, animo!!!






No hay comentarios:

Publicar un comentario