Está en la página 1de 34

TAREA SGE 02

ADRIAN TUDELA VIDAL


NRE:1762891
ADRIAN TUDELA VIDAL SGE02

INDICE______________________________
Actualización del sistema Ubuntu server. ....................................................................................................... 2

Creación del usuario odoo en el sistema .......................................................................................................... 8

Instalación del SGBD PostgreSQL .................................................................................................................. 9

Obtener el código de Odoo desde el repositorio git ...................................................................................... 11

Instalación del resto de dependencias necesarias ......................................................................................... 12

Finalizar la configuración de Odoo desde el navegador web ...................................................................... 16

Lanzar Odoo al inicio mediante un servicio. ................................................................................................. 20

Instalación de la localización española. ......................................................................................................... 23

Permite conexiones remotas al SGBD PostgreSQL y conéctate a ella usando PGAdmin4 desde otro

equipo. .............................................................................................................................................................. 26

Una vez finalizado, crea un snapshot/instantánea de la máquina virtual y CONSÉRVALA. ................. 31

1
ADRIAN TUDELA VIDAL SGE02

Actualización del sistema Ubuntu server.


Para empezar con esta práctica, primero descargamos el archivo de la máquina virtual con Ubuntu
22.04. Al ejecutarlo, tras tener VirtualBox previamente instalado, procederá a instalar y a cargar los
ajustes de Ubuntu.

Una vez todo cargado, ya nos saldrá en la página principal la opción de modificar la configuración y de iniciar
la máquina virtual. Para comprobar el usuario y contraseña predeterminado de la maquina en este caso la
podemos ver en Configuración>General>Descripción

2
ADRIAN TUDELA VIDAL SGE02

Inicializamos la máquina virtual y esperamos hasta que salga el terminal de comandos, donde deberemos
acreditar el usuario y la contraseña para empezar a usar el servidor de Ubuntu

Una vez hayamos accedido nos mostrará un mensaje de bienvenida y ya estaremos en el servidor. Para
realizar una actualización de Ubuntu server primero debemos actualizar la lista de paquetes, para buscar la
actualización. Para ello usamos el comando $ sudo apt update . Para aplicar la actualización, en caso de que
exista alguna, debemos ejecutar el comando $ sudo apt upgrade .

3
ADRIAN TUDELA VIDAL SGE02

Tras comprobar que están todos los paquetes actualizados e instalados procederemos a instalar openssh-server
si no lo tenemos instalado, para ello lo instalamos con el comando sudo apt install openssh-server

4
ADRIAN TUDELA VIDAL SGE02

Una vez instalado SSH en nuestro servidor, vamos a usar un programa llamado PuTTY, con la que
accederemos al servidor mediante SSH y podremos seguir manejando el terminal de manera “remota”, ya que
resultará más cómodo para realizar el resto de apartados, aunque se puede realizar igualmente en el terminal
de la máquina virtual.

Para conectar PuTTY con nuestro servidor Ubuntu, debemos entrar en los ajustes de red de la máquina virtual
y realizar traducciones de red para que al recibir nuestra maquina anfitriona (en mi caso Windows con
PuTTY) una señal al puerto que nosotros le indiquemos la reenviará al puerto de nuestro server Ubuntu.
Primero accedemos a la configuración de red de la maquina virtual, y establecemos el adaptador NAT para
usar nuestra red privada del equipo y conectarnos a nuestro servidor privado.

5
ADRIAN TUDELA VIDAL SGE02

Ahora para traducir nuestra ip privada para conectarnos vamos a hacerlo mediante el reenvío de puestos, para
que cuando desde PuTTY mande la señal de que queremos conectarnos a x puerto de nuestra red la reenvíe al
puerto de nuestro servidor de Ubuntu que nosotros también le indicaremos. Entonces establecemos la norma
que hemos llamado SSH, obviando la ip ya que estamos en nuestra propia red privada, que cuando nos
conectemos al puerto, en este caso 2222, nos redirija al puerto 22 que es el puerto predeterminado de SSH,
con lo que ya podremos modificar nuestro servidor de manera “remota” al usar PuTTY.

Una vez establecido el reenvío de puertos, hay que conectarse al servidor, por lo que volvemos a PuTTY y
establecemos la ip del anfitrión (en este caso como es la red privada del equipo estamos en localhost) y al

6
ADRIAN TUDELA VIDAL SGE02

puerto al que queremos conectarnos, el cual hemos establecido que es el puerto 2222. Esto enviará la señal y
la máquina virtual reenviará la señal a nuestro servidor al puerto 22.

Le damos a abrir y nos saldrá una pantalla de terminal indicándonos que escribamos el usuario y la
contraseña, el mismo que hemos escrito al principio. Y ya estaríamos conectado al servidor de Ubuntu desde
PuTTY.

7
ADRIAN TUDELA VIDAL SGE02

Creación del usuario odoo en el sistema


Ahora vamos a crear el usuario odoo en el que almacenaremos todos los ficheros de odoo. Para ello usamos el
comando sudo useradd -U -r -s/bin/bash -m odoo donde -U crea un grupo en el sistema con el mismo nombre
que el usuario, se crearía el grupo odoo, -r crea una cuenta de sistema, -s crea el usuario añadiendo un Shell
para poder modificar e interactuar con el sistema desde la terminal, en este caso como lo estamos
configurando lo añadimos, pero no es recomendable añadirlo a los servicios de un servidor; y -m que crea la
carpeta del usuario en el directorio /home.

Ahora si ejecutamos el comando sudo su odoo comprobamos si se conecta al usuario que hemos creado, y si
queremos usar el usuario desde su propio directorio usamos el comando sudo su – odoo y nos cargaría con sus
propias variables de entorno.

8
ADRIAN TUDELA VIDAL SGE02

Como podemos comprobar, el usuario se ha creado correctamente y ya podemos acceder a su directorio de


/home.

Instalación del SGBD PostgreSQL


Ahora vamos a instalar el sistema gestor de base de datos, en este caso vamos a usar PostgreSQL, para
instalarlo debemos usar el comando sudo apt-get install PostgreSQL desde el usuario administrador

9
ADRIAN TUDELA VIDAL SGE02

Una vez terminada la instalación, puede que nos pida reiniciar, en ese caso usamos el comando sudo reboot .
Ya una vez todo instalado y actualizado, para comprobar que el gestor funciona correctamente en nuestro
servidor, usamos el comando sudo systemctl status PostgreSQL si está activo debe salir la opción de activo en
verde

Una vez comprobamos que está activo y que todo funciona, nos conectamos al usuario de la base de datos que
se ha creado al instalar el paquete, con el comando sudo su – postgres y creamos un usuario en la base de
datos con contraseña, para ello escribimos el comando createuser --createdb --pwprompt odoodb donde la
opción –createdb permite al usuario que vamos a crear que cree nuevas bases de datos, y la opción –pwprompt
nos fuerza a crear a crear una contraseña para este usuario

10
ADRIAN TUDELA VIDAL SGE02

Ya tendríamos creado nuestro usuario de la base de datos llamado odoodb para poder diferenciarlo del usuario
del sistema odoo.

Obtener el código de Odoo desde el repositorio git


Para obtener el código de Ubuntu desde git, ya que así evitamos programas obsoletos si lo descargamos desde
el código fuente, primero debemos instalar git en nuestro servidor. Para ello hacemos como hemos hecho
hasta ahora y usamos el comando sudo apt install git

11
ADRIAN TUDELA VIDAL SGE02

Una vez tengamos git instalado, ya obtener el código de odoo, por lo que cambiaremos al usuario del sistema
odoo y desde ahí descargaremos el código, para ello usaremos los comandos sudo su – odoo para cambiar de
usuario a odoo y a su directorio. Una vez estemos con el usuario odoo clonaremos el repositorio de GitHub a
nuestro sistema con el código git clone https://github.com/Odoo/odoo.git --depth 1 --branch 16.0 --single-
branch odoo para que nos descargue la versión 16.

Ya tendríamos el código de odoo dentro del usuario odoo en el directorio /home/odoo/odoo

Instalación del resto de dependencias necesarias


Para hacer funcionar nuestro sistema odoo necesitaremos instalar las dependencias que utilizará. Para agilizar
el proceso, instalamos todas las dependencias directamente y así evitamos toparnos con errores durante el
trabajo, para luego crear un entorno virtual de Python e instalar las versiones concretas que requiere, para ello
copiamos el siguiente comando sudo apt install wget build-essential python3-dev python3-venv python3-wheel
python3-pip python3-setuptools libfreetype6-dev libxml2-dev libzip-dev libsasl2-dev libjpeg-dev zlib1g-dev
libpq-dev libxslt1-dev libldap2-dev libtiff5-dev libopenjp2-7-dev python3-pypdf2

12
ADRIAN TUDELA VIDAL SGE02

Una vez instaladas, procederemos a la instalación de wkhtmltopdf, este paso lo realizamos aparte ya que
debemos asegurarnos de que es la versión 0.12.6. Para ello lo instalamos con el siguiente comando sudo apt
install wkhtmltopdf

13
ADRIAN TUDELA VIDAL SGE02

Ahora procedemos a la creación del entorno virtual, para ello nos situamos en la carpeta de odoo en el usuario
odoo con los siguientes comandos sudo su – odoo y cd /home/odoo/odoo

Ahora creamos el entorno virtual de Python con el comando python3 -m venv odoo-venv y lo activamos
posteriormente con source odoo-venv/bin/activate .Una vez hecho podremos comprobar que el entorno de
desarrollo está activado y en funcionamiento ya que nos lo indicará delante del usuario odoo en el que nos
encontramos como (odoo-venv)

14
ADRIAN TUDELA VIDAL SGE02

Ahora que ya estamos en el entorno virtual, seguimos con la instalación de las dependencias, usamos pip3 ya
que es el sistema de paqueterías de Python que se usa para instalar librerías al igual que en Ubuntu es apt.
Instalamos la librería Wheel que nos ayudará a la instalación de las credenciales con el comando pip3 install
wheel

Para ahora instalar todos los requerimientos en sus respectivas versiones según mi versión de Python sin
ningún tipo de problema, para ello usamos de nuevo pip3 de la siguiente manera pip3 install -r
requirements.txt

15
ADRIAN TUDELA VIDAL SGE02

Y de esta manera ya tendríamos las dependencias instaladas. A la hora de lanzar odoo, como hemos utilizado
un entorno virtual de Python, a la hora de lanzarlo deberemos especificarle que queremos que lo haga desde
ese entorno virtual, más adelante se mostrará cómo hacerlo.

Finalizar la configuración de Odoo desde el navegador web


Vamos a seguir con la configuración de odoo, para ello vamos a crear un fichero llamado odoo-server.conf en
el que estarán las configuraciones previas que nos harán falta para conectarnos a nuestro servidor. Para crear
el fichero y editarlo usamos el comando sudo nano /etc/odoo-server.conf

Una vez creado el fichero establecemos las configutacion:

16
ADRIAN TUDELA VIDAL SGE02

Admin_passwd será la contraseña que usaremos y necesitaremos para crear y borrar nuestras bases de datos.

Db_host indicamos la ip de la red a la que estará conectado, en este caso a la red local por lo que usamos el
localhost

Db_port indicamos el puerto por el que se conectará, el predeterminado de Ubuntu es 5432 por lo que
estableceremos este

Db_user especificamos el usuario que hemos creado para nuestra base de datos

Db_password escribimos la contraseña que hemos establecido para nuestro usuario de la base de datos en el
momento de su creación.

Addons_path es el directorio donde se encuentran todos los addons que podremos usar en nuestro servidor
odoo

Mlrpc_port indicamos el puerto por el que nos conectaremos por rpc a odoo para realizar acciones de
programación

Una vez configurado, antes de arrancar odoo, debemos redireccionar los puertos para que al conectarnos desde
nuestra maquina Windows a nuestro servidor odoo, le mande al puerto correspondiente de nuestro servidor
Ubuntu donde se encuentra instalado odoo. Para ello vamos a los ajustes de la máquina virtual y nos dirigimos
de nuevo a los ajustes de red al reenvío de puertos, y establecemos la nueva norma

17
ADRIAN TUDELA VIDAL SGE02

Una vez redireccionados los puertos, lo siguiente que debemos hacer es arrancar nuestro servidor, para ello
primero indicamos que arranque el entorno virtual de Python que hemos creado para las dependencias y luego
que arranque odoo, para ello usamos el siguiente comando ExecStart=/home/odoo/odoo-venv/bin/python3
/home/odoo/odoo/odoo-bin -c /etc/odoo-server.conf (también podemos activar primero el entorno virtual y
después el servidor odoo)

Ahora una vez está activado, podemos acceder desde el navegador accediendo mediante localhost:8069

18
ADRIAN TUDELA VIDAL SGE02

Ya solo nos queda crear nuestra primera base de datos de odoo desde la pagina principal de nuestro servidor
con los ajustes que nosotros indiquemos y ya se crearía en nuestro servidor.

Iniciamos sesión y ya estaríamos en nuestra base de datos de odoo

19
ADRIAN TUDELA VIDAL SGE02

Lanzar Odoo al inicio mediante un servicio.


Ahora vamos a lanzar Odoo mediante un servicio, para ello vamos a crear un servicio de inicio con systemd,
sistema de inicio y administración que usa Odoo y en más sistemas Linux, que nos permitirá iniciar, detener y
gestionar fácilmente su ejecución. Para ello vamos a crear un fichero para configurar nuestro servicio, el
fichero lo crearemos en la ruta /etc/systemd/system/odoo.service, como hicimos antes, usaremos el comando
nano para crear dicho fichero.

20
ADRIAN TUDELA VIDAL SGE02

Dentro de este fichero pondremos toda la configuración que necesitemos para que funcione y arranque
debidamente

[Unit]

Description=Odoo16 (Proporciona una descripción del servicio. En este caso, el servicio se llama "Odoo16".)

Requires=postgresql.service (Especifica que este servicio depende del servicio "postgresql.service". Esto
significa que el servicio de PostgreSQL se debe iniciar antes de que Odoo16 se inicie.)

After=network.target postgresql.service (Indica que este servicio debe ejecutarse después de que se hayan
completado con éxito los servicios "network.target" y "postgresql.service".)

[Service]

Type=simple (Define el tipo de servicio. En este caso, se utiliza "simple", lo que significa que el proceso de
Odoo se ejecutará en primer plano y systemd supervisará su estado.)

User=odoo (El usuario que hemos creado al principio del manual)

Group=odoo

SyslogIdentifier=odoo16 (Establece el identificador para los registros del servicio. Aquí se ha configurado
como "odoo16".)

PermissionsStartOnly=true (Indica que systemd solo debería aplicar restricciones de permisos al inicio del
servicio.)

ExecStart=/home/odoo/odoo/odoo-venv/bin/python3 /home/odoo/odoo/odoo-bin -c /etc/odoo-server.conf


(Especifica el comando que se utilizará para iniciar odoo, primero activa el entorno virtual de Python y luego
activa el servidor de odoo)

StandarOutput=journal+console (Establece la salida estándar para el registro del servicio. Los registros se
enviarán tanto al registro del sistema (journal) como a la consola.)

[Install]

WantedBy=multi-user.target (: Indica cuándo se debe activar el servicio. En este caso, se activará en el nivel
de multiusuario, lo que significa que se iniciará cuando el sistema alcance ese nivel.)

21
ADRIAN TUDELA VIDAL SGE02

Una vez configurado y guardado el fichero de configuración del servicio, ya podremos ejecutarlo
automáticamente al arrancar nuestro servidor Ubuntu, para habilitarlo debemos ejecutar el siguiente comando
desde el terminal sudo systemctl enable --now odoo.service

Y veremos que al iniciar la maquina virtual nuestro servidor de odoo se activará automáticamente

22
ADRIAN TUDELA VIDAL SGE02

Instalación de la localización española.


Para poder instalar los módulos de odoo de localización española, vamos a ir a la pagina de la sede española
de odoo y buscaremos en el apartado de estado localización la versión de odoo que tengamos, esto nos
redirigirá al repositorio español de odoo, en nuestro caso, especificaremos que es la versión 16 y clonaremos
el repositorio en nuestro servidor

23
ADRIAN TUDELA VIDAL SGE02

Una vez ya hayamos clonado el repositorio, hay que especificar en el fichero configurador del server que
añada esos módulos nuevos, para ello hay dos opciones, o bien mover el directorio a la carpeta addons que
especificamos, o bien especificar en el fichero que use ambos directorios de addons. En mi caso usaré la
primera opción para mantener un orden. Para mover el archivo basta con usar el comando mí el directorio que
quieras mover y a donde lo quieres mover.

En mi caso sería mv l10n-spain/ /home/odoo/odoo/addons/

24
ADRIAN TUDELA VIDAL SGE02

Ahora para comprobar que está todo correcto reiniciamos nuestro servidor y actualizamos las aplicaciones a
ver si aparecen las españolas, para ello cuando estemos en el servidor escribimos en la barra de búsqueda
“?debug=1” y nos aparecerán entonces las opciones de desarrollador

Clicaremos en la opción de actualizar listas de aplicaciones y en el apartado de categorías, nos debería


aparecer la categoría localización

25
ADRIAN TUDELA VIDAL SGE02

Permite conexiones remotas al SGBD PostgreSQL y conéctate a ella usando


PGAdmin4 desde otro equipo.
Para conectarnos de manera remota al sistema gesto de base de datos, debemos primero configurar la
conexión con PostgreSQL, para ello deberemos modificar los dos ficheros de configuración que trae
PostgreSQL.

Estos ficheros se localizan en el directorio /etc/PostgreSQL/14/main en la carpeta de PostgreSQL, primero


modificaremos el archivo postgresql.conf que es el fichero de configuración general de PostgreSQL y luego
modificaremos el fichero pg_hba.conf que nos permitirá las conexiones remotas desde otro equipo.

26
ADRIAN TUDELA VIDAL SGE02

Primero modificaremos el fichero de configuración postgresql.conf, para ello usamos el comando sudo nano
postgresql.conf

En este fichero buscaremos la clave liesten_adresses y lo modificaremos para que escuche desde cualquier
dirección ip, para ello debajo escribiremos listen_adresses = ‘*’

Posteriormente buscaremos la clave password_encryption que se encuentra comentada y la estableceremos tal


cual se muestra en el comentario password_encryption = md5

27
ADRIAN TUDELA VIDAL SGE02

Guardamos el fichero y vamos a configurar el fichero pg_hba.conf para que nos permita hacer la conexión
remota desde nuestra maquina Windows. Usamos de nuevo el comando sudo nano pg_hba.conf para
modificar el fichero, y debemos buscar la clave donde ponga IPv4 y lo vamos a modificar para declararle
desde qué subredes queremos que se conecten a nuestro servidor, como es una práctica, le indicaremos que
permita a cualquier subred, por lo que estableceremos la dirección ip como 0.0.0.0/0

Ahora, como seguimos en la red NAT en nuestra maquina virtual, deberemos reenviar los puertos 5432 a los
puertos 5432, puerto predeterminado de PostgreSQL, para poder conectarnos, así que nos vamos a los ajustes

28
ADRIAN TUDELA VIDAL SGE02

de red de nuestra maquina virtual y establecemos la regla como hemos hecho anteriormente en varias
ocasiones

Una vez todo configurado, ya tendríamos que instalar nuestro cliente PGAdmin4, para ello lo descargamos
desde su pagina oficial y lo instalamos en nuestra maquina Windows.

29
ADRIAN TUDELA VIDAL SGE02

Le damos a añadir nuevo servidor y establecemos todos los parámetros de nuestra base de datos creada en el
punto 6 del manual

30
ADRIAN TUDELA VIDAL SGE02

Una vez finalizado, crea un snapshot/instantánea de la máquina virtual


y CONSÉRVALA.
Para crear una instantánea de nuestra maquina virtual, que es como una copia de seguridad, nos vamos a la
ventana de nuestra consola de ubuntu, la que se abre al iniciar la maquina virtual, pulsamos en maquina y en

31
ADRIAN TUDELA VIDAL SGE02

tomar instanatnea, le escribimos el nombre que deseemos y darle a aceptar, y podremos volver a ese punto de
la maquina cuando queramos.

Apartado B: Apartado de Python


EL repositorio en github de mi proyeto de pyhton es: https://github.com/adriantudela/DAM2_SGE

32
ADRIAN TUDELA VIDAL SGE02

33

También podría gustarte