Instalación de Odoo en entornos virtuales
Instalar instancias de Odoo aisladas
Seguir los pasos de este manual: https://iotec.com.ar/como-instalar-odoo-en-un-entorno-aislado-con-varias-versiones/
Normalmente lo instalamos en /opt/nombredelcliente
Y ahi creamos las carpetas:
- 16.0
- conf
- data
- logs
adduser nombreusuario
cd /opt
Ahora creamos las carpetas que usaremos y les asignaremos ese usuario como propietario de las mismas.
mkdir nombredelentorno
cd nombredelentorno
mkdir config log 16.0 data
mkdir /opt/entorno/16.0/extra-addons
cd ..
chown -R nombreusuario:nombregrupo nombredelentorno
Entramos en la carpeta 16.0 y dentro de ella, hacemos el gitclone:
cd nombredelentorno/16.0
git clone urldelgit -b 16.0 --depth =1
Url del Git por ejemplo https://github.com/odoo/odoo.git (Entrando en github se puede copiar)
git clone https://github.com/odoo/odoo.git -b 16.0 --depth=1
Creamos el entorno virtual:
Desde la carpeta 16.0:
virtualenv -q -p python3 venv
Estando dentro de la carpeta 16.0/ entraremos en el entorno virtual:
source venv/bin/activate
Instalamos las dependencias de Odoo dentro del entorno virtual:
- Si no tenemos python3:
- sudo apt install git
- sudo apt install build-essential libxslt-dev libzip-dev libldap2-dev libsasl2-dev libssl-dev
- sudo apt install python3-dev python3-pip
Estando dentro de la carpeta 16.0:
pip3 install -r odoo/requirements.txt
pip3 install num2words phonenumbers psycopg2-binary watchdog xlwt
Una vez instalado Odoo, pasamos al postgres, en el que crearemos un cluster específico para nuestra instancia:
su - postgres
Podemos listar los clusters actuales para ver los puertos usados:
pg_lsclusters
pg_createcluster -p 5434 15 entorno
-----------------------------------------
sudo systemctl start postgresql@15-entorno
su - postgres
createuser -s entorno --cluster 15/entorno
ALTER USER muemue13 with encrypted password 'muemue13';
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt entorno --cluster 15/entorno
exit
Ahora cambiamos a "su" y ejecutamos:
source venv/bin/activate
sudo systemctl daemon-reload
sudo systemctl start postgresql@15-entorno
Y ahora debería ver la nueva instancia creada en postgres
$ pg_lsclusters
nano /etc/postgresql/15/entorno/postgresql.conf
Mirar que listen_address está como local host y poner el puerto que planeo usar.
//Creo q se puede eliminar desde aquí
sudo systemctl start postgresql@15-entorno
source /opt/entorno/16.0/venv/bin/activate
su - postgres
createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt entorno --cluster 15/entorno
exit
Si no funciona, usar:
- sudo -i -u postgres
- Primero, entra en la terminal de PostgreSQL con el usuario postgres:
bash
psql
- Esto te pondrá en el prompt de PostgreSQL.
- Luego, crea el usuario "ebbes":
sql
CREATE USER ebbes WITH PASSWORD 'tu_contraseña_aquí';
- Opcionalmente, puedes concederle permisos de administración de bases de datos al usuario:
sql
ALTER USER ebbes CREATEDB;
- Finalmente, para salir del prompt de PostgreSQL, escribe:
sql
\q
//Hasta aquí
Con este comando ver lista de usuarios dentro del entorno:
sudo -i -u postgres psql -c "\du"
/etc/init.d/postgresql restart
Crear el archivo de configuración copiándolo de otra instancia, por ejemplo, pero cambiado puerto y rutas según convenga:
/rutacompleta/entorno/config/odoo.conf
Ahora con el usuario su:
nano /etc/systemd/system/entorno.service
_______________________________________
[Unit]
Description=Odoo16 Entorno
After=postgresql.service
[Service]
Type=simple
User=entorno
ExecStart=/opt/entorno/16.0/venv/bin/python3 /opt/entorno/16.0/odoo/odoo-bin --config /opt/entorno/config/odoo.conf
[Install]
WantedBy=multi-user.target
___________________________
sudo systemctl enable --now entorno.service
Deberíamos poder hacer la instalación inicial de la base de datos entrando en IP:Puerto en el navegador. Por ejemplo:
http://82.223.165.221:8072
No hay comentarios por ahora
Compartir este contenido
Compartir enlace
Compartir en redes sociales
Compartir por correo electrónico
Por favor iniciar sesión para compartir esto Artículo por correo.