Skip to content

Instantly share code, notes, and snippets.

@jorgeteixe
Created November 28, 2019 13:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jorgeteixe/13c79ee85e99f86e09773dc638075e1f to your computer and use it in GitHub Desktop.
Save jorgeteixe/13c79ee85e99f86e09773dc638075e1f to your computer and use it in GitHub Desktop.

Instalación Odoo 12

Jorge Teixeira Crespo 2º DAM

Ubuntu Server 18.04

Requisitos previos

Instalación en VirtualBox de Ubuntu Server 18.04

Creación da nova máquina virtual coa seguinte configuración:

Nome: sxe-ubusrv(a16jorgetc) 
SO: Ubuntu (64-bit)
Ubicación: /media/EXTDIURNO/JorgeMVs/
Memoria RAM: 2048 MB
Orden de arranque: Óptico, Disco duro (Importante para poder instalalo sistema)
Almacenamento: - Disco duro: 10 GB Formato: .vdi
- Unidade óptica: ubuntu-18.04.1.0-live-server-amd64.iso
Rede:
- Adaptador en modo NAT (no meu caso con redirección de portos para evitar unha segunda): 
   - ssh      = 10022 ->   22
   - Odoo     = 18069 -> 8069
   - postgres = 15432 -> 5432

No primeiro inicio configuramos o sistema operativo coas seguintes preferencias:

Particións: /dev/sda1 -> / (ext4) [10GB total]
Rede: Configuración automática -> DHCP
Usuario: teixe
Contrasinal: renaido

Conexión por ssh coa máquina

No meu caso como me conecto dende a máquina host da máquina virtual, e ao redireccionar os portos:

ssh teixe@localhost -p 10022

Instalación Odoo 12, postgres e conexión dende pgAdmin4

Instalación Odoo 12 e postgres

Para instalar Odoo e postgres utilicei o seguinte script, que actualiza o sistema e instala os paquetes necesarios.

#!/bin/bash
sudo apt update
sudo apt upgrade -y
sudo apt install postgresql -y
wget https://nightly.odoo.com/12.0/nightly/deb/odoo_12.0.latest_all.deb
sudo dpkg -i odoo_12.0.latest_all.deb
sudo apt install -f -y
rm odoo_12.0.latest_all.deb -f
sudo systemctl enable odoo.service
sudo systemctl enable postgresql.service
sudo reboot

Agora imos crear a base de datos para comprobar o acceso dende pgAdmin4 de maneira remota.

Nome da base de datos: DB0
Email: teixetests@gmail.com
Contrasinal: renaido
Idioma: Spanish / Español
País: Spain

E establecemos dende http://localhost:18069/web/database/manager a contrasinal mestre.

Contrasinal mestre: renaido

Acceso a postgres dende pgAdmin4 remoto

Para permitir primeiro que se poida acceder dende calquera equipo, temos que facer varios cambios:

Primeiro:

No arquivo:
/etc/postgresql/10/main/postgresql.conf   -> pode variar o 10 dependendo da versión

Cambiamos:
	#listen_addresses = 'localhost'
Por:
	listen_addresses = '*'

Para facelo nun comando:

sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'\t/" postgres.conf

Segundo

No arquivo:
/etc/postgresql/10/main/pg_hba.conf   -> pode variar o 10 dependendo da versión

Cambiamos:
	host    all             all             127.0.0.1/32            md5
Por:
	host    all             all             0.0.0.0/0               md5

Para facelo nun comando:

sudo sed -i '0,/127.0.0.1\/32/s//0.0.0.0\/0   /' pg_hba.conf

Por último

Por útlimo temos que cambiar a contrasinal do usuario odoo en postgres para deixalo:
Usuario: odoo
Contrasinal: odoo

Para facelo nun comando:

sudo -u postgres psql -U postgres -d postgres -c "alter user odoo with password 'odoo';"

E reiniciamos o servizo de postgres para que se actualicen todos os cambios:

sudo systemctl restart postgresql

Windows 10

Requisitos previos

Instalación en VirtualBox de Windows 10 Pro Education

Creación da nova máquina virtual coa seguinte configuración:

Nome: sxe-win10(a16jorgetc) 
SO: Windows 10 (64-bit)
Ubicación: /media/EXTDIURNO/JorgeMVs/
Memoria RAM: 2048 MB
Orden de arranque: Óptico, Disco duro (Importante para poder instalalo sistema)
Almacenamento: - Disco duro: 50 GB Formato: .vdi
- Unidade óptica: SW_DVD9_Win_Pro_10_1903_64BIT_Spanish_Pro_Ent_EDU_N_MLF_X22-02936.ISO
Rede:
- Adaptador en modo NAT (no meu caso con redirección de portos para evitar unha segunda): 
   - Odoo     = 28069 -> 8069

Durante a instalación:

Sistema a instalar: Windows 10 Pro Education
Unha soa partición na que se instala o sistema.
Usuario local: teixe
Contrasinal: root

E despois todo a non, que isto é Windows ;)

Instalación Guest Additions e carpeta compartida

Unha vez entramos no escritorio por primeira vez, inserimos o CD das 'Guest Additions', instalamos e reiniciamos.

Unha vez reiniciado, creamos unha carpeta compartida coa a máquina, a miña configuración é:

Ruta: /media/EXTDIURNO/JorgeMVs/shared
Nome: shared
Automontar: Si
Permanente: Si

Instalación de Odoo 12

Descarga e instalación

Descargamos o instalador de Odoo 12 dende:

https://download.odoocdn.com/12.0/nightly/exe/odoo_12.0.latest.exe

Ao abrir avisa de risco, nós executamos de todas formas. Unha vez aberto o instalador:

Tipo de instalación: All In One, seleccionando Odoo e PostgreSQL
Host: localhost
Porto: 5432
Usuario: openpg
Contrasinal: openpgpwd

Configuración inicial

Para poder conectarse remotamente imos a Firewall de Windows e creamos nova regra de entrada:

Tipo: Porto
Porto: 8069
Permitir a conexión.
Dominio, privado e público.
Nome: Acceso a Odoo

E neste momento xa permite a conexión remota.

Imos crear a base de datos para logo comprobala conexión dende pgAdmin4 coa seguinte configuración:

Nome da base de datos: DB0
Email: teixetests@gmail.com
Contrasinal: renaido
Idioma: Spanish / Español
País: Spain

E establecemos dende http://localhost:28069/web/database/manager a contrasinal mestre.

Contrasinal mestre: renaido

Instalación pgAdmin4

Descargamos dende o seguinte enlace o instalador de pgAdmin4:

https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v4.15/windows/pgadmin4-4.15-x86.exe

Este instalador non é mais que seguinte, seguinte, seguinte.

Ao finalizar abre automáticamente no navegador e pide unha contrasinal mestre: renaido no meu caso.

E para conectarse, utilizamos a contrasinal do instalador de Odoo: openpgpwd.

Docker Compose

Requisitos previos

Crear a seguinte estrutura de ficheiros e directorios:

.
├── addons
├── config
└── docker-compose.yml

E o contido do ficheiro docker-compose.yml é o seguinte:

version: '2'
services:
  web:
    image: odoo:12.0
    depends_on:
      - db
    ports:
      - "38069:8069"
    volumes:
      - odoo-web-data:/var/lib/odoo
      - ./config:/etc/odoo
      - ./addons:/mnt/extra-addons
    environment:
      - DB_USER=odoo
      - DB_PASS=odoo
      - DB_NAME=odoo
      - DB_HOST=192.168.4.1:35432
  db:
    image: postgres:10
    ports:
      - "35432:5432"
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_PASSWORD=odoo
      - POSTGRES_USER=odoo
      - PGDATA=/var/lib/postgresql/data/pgdata
    volumes:
      - odoo-db-data:/var/lib/postgresql/data/pgdata
  pgadmin4:
    image: thajeztah/pgadmin4
    container_name: pgadmin4
    ports:
      - "35050:5050"
    volumes: 
      - pgadmin4-data:/pgadmin
volumes:
  odoo-web-data:
  odoo-db-data:
  pgadmin4-data:

O único cambio no ficheiro será a dirección IP da máquina real/host na que estas traballando, no meu caso 192.168.4.1. No meu caso, poño sempre un 3 diante de todos os portos xa que así aseguro que non entra en conflito co que teña instalado na máquina real ou outras máquinas.

Configuración inicial

Primeiro inicio

Unha vez creada esta configuración previa iniciamos por primeira vez os co seguinte comando dende o directorio no que está o arquivo de configuración:

sudo docker-compose up

Unha vez que podamos acceder dende o navegador a Odoo e pgAdmin4, configuramos a conexión en pgAdmin4 a base de datos da seguinte maneira:

Host: 192.168.4.1   -> a IP que cadre dependendo do equipo.
Porto: 35432
Usuario: odoo
Contrasinal: odoo

Dende Odoo configuramos a base de datos cos seguintes datos:

Nome da base de datos: DB0
Email: teixetests@gmail.com
Contrasinal: renaido
Idioma: Spanish / Español
País: Spain

E establecemos dende http://localhost:38069/web/database/manager a contrasinal mestre.

Contrasinal mestre: renaido

E agora paramos os containers con Control + C.

Últimos cambios na configuración

Despois de inicialo por primeira vez e de configurar o contrasinal mestre, créase o arquivo odoo.conf.

.
├── addons
├── config
│   └── odoo.conf
└── docker-compose.yml

O contido do arquivo será algo similar a este:

[options]
addons_path = /usr/lib/python3/dist-packages/odoo/addons
admin_passwd = ##################################################
csv_internal_sep = ,
data_dir = /var/lib/odoo/.local/share/Odoo
db_host = db
db_maxconn = 64
db_name = False
db_password = odoo
db_port = 5432
db_sslmode = prefer
db_template = template0
db_user = odoo
dbfilter = 
demo = {}
email_from = False
geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb
http_enable = True
http_interface = 
http_port = 8069
import_partial = 
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 60
limit_time_real = 120
limit_time_real_cron = -1
list_db = True
log_db = False
log_db_level = warning
log_handler = :INFO
log_level = info
logfile = None
logrotate = False
longpolling_port = 8072
max_cron_threads = 2
osv_memory_age_limit = 1.0
osv_memory_count_limit = False
pg_path = None
pidfile = None
proxy_mode = False
reportgz = False
server_wide_modules = base,web
smtp_password = False
smtp_port = 25
smtp_server = localhost
smtp_ssl = False
smtp_user = False
syslog = False
test_enable = False
test_file = False
test_tags = None
translate_modules = ['all']
unaccent = False
without_demo = False
workers = 0

O único cambio que temos que facer aquí e engadir na lina de addons_path a ruta que montamos no docker-compose para engadir os nosos, e comentamos as liñas coas variables que xa engadimos no docker-compose. Co que quedaría así:

[options]
addons_path = /usr/lib/python3/dist-packages/odoo/addons,/mnt/extra-addons
admin_passwd = ##################################################
csv_internal_sep = ,
data_dir = /var/lib/odoo/.local/share/Odoo
;db_host = db
db_maxconn = 64
;db_name = False
;db_password = odoo
;db_port = 5432
db_sslmode = prefer
db_template = template0
;db_user = odoo
dbfilter = 
demo = {}
email_from = False
geoip_database = /usr/share/GeoIP/GeoLite2-City.mmdb
http_enable = True
http_interface = 
http_port = 8069
import_partial = 
limit_memory_hard = 2684354560
limit_memory_soft = 2147483648
limit_request = 8192
limit_time_cpu = 60
limit_time_real = 120
limit_time_real_cron = -1
list_db = True
log_db = False
log_db_level = warning
log_handler = :INFO
log_level = info
logfile = None
logrotate = False
longpolling_port = 8072
max_cron_threads = 2
osv_memory_age_limit = 1.0
osv_memory_count_limit = False
pg_path = None
pidfile = None
proxy_mode = False
reportgz = False
server_wide_modules = base,web
smtp_password = False
smtp_port = 25
smtp_server = localhost
smtp_ssl = False
smtp_user = False
syslog = False
test_enable = False
test_file = False
test_tags = None
translate_modules = ['all']
unaccent = False
without_demo = False
workers = 0

Inicio e manexo dos containers

Agora xa temos toda a configuración terminada. Imos a iniciar de novo os containers co seguinte comando:

sudo docker-compose start

Outros comandos útiles para o futuro:

Borrar os containers e os volumes:
	sudo docker-compose down -v
Para ver os logs do que pasou:
	sudo docker-compose logs
Ver os containers iniciados:
    sudo docker ps
@jorgeteixe
Copy link
Author

docker2
ubuntu
windows

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment