Odoo 8.0 - cambiar el puerto 8069 por el puerto 80 - tutorial

9625 views
Skip to first unread message

Leonardo Chianea

unread,
Jan 4, 2015, 6:29:36 PM1/4/15
to odoo-ar...@googlegroups.com

Despues de instalar odoo es posible modificar el archivo /etc/rc.local para poder acceder a una instancia de odoo en el puerto80 (no en el 8069)

cd /etc/

sudo nano rc.local

insertamos la siguiente instrucción y guardamos

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8069

sudo reboot

Listo ya se puede ingresar a odoo sin agregar el puerto al final
Si alguien piensa que no es el método correcto o existe una opción más segura o fácil por favor siéntase libre de comentar
Saludos

Leonardo Chianea

unread,
Jan 4, 2015, 6:32:22 PM1/4/15
to odoo-ar...@googlegroups.com
Nota: el tutorial se realizó en base a ubuntu 14.04 

Saludos

Covis Xavier

unread,
Jan 5, 2015, 7:08:02 AM1/5/15
to odoo-ar...@googlegroups.com
Hola Leonardo,

Espero que hayas pasado unas lindas fiestas.

Muchas gracias por la informacion, esta muy interesante.

No podría indicar si es una mejor solución, sino que existen varias maneras de hacer este cambio.

Por ejemplo yo puede hacerlo cambiando un parametro en el comando de inicialización del Servicio.

./openerp-server --config=/etc/odoo-server.conf --xmlrpc-port=80
 O en el propio archivo odoo-server.conf

Motivo de este fue por poseer más de una instancia de Odoo, es decir si en un mismo servidor deseas 2 Servidores Odoo.
Odoo_1 > Puerto 8069
Odoo_2 > Puerto 8070

Saludos 

2015-01-04 20:32 GMT-03:00 Leonardo Chianea <noamixco...@gmail.com>:
Nota: el tutorial se realizó en base a ubuntu 14.04 

Saludos

--
Recuerda siempre poner la mayor cantidad de datos para que se entienda bien que necesitas y que respondes. Algunos errores comunes:
 
- Siempre mencionar en que versión de odoo trabajas.
- Siempre mencionar si el servidor esta en LINUX o en windows y en que versión.
- No alcanza con colocar el debug del error, debes indicar que necesitas que haga el código.
- Comparte tu código en un servidor abierto como Launchpad u otro.
- Si haces un manual, tutorial o algo de interés comunal, trata de usar google docs.
 
Tu tiempo es tan valioso como el de cualquiera de la comunidad. Aquí se valora el aporte que hagas.
 
Nuestras normas mínimas de convivencia puede leerlas en https://groups.google.com/d/forum/odoo-argentina?hl=es-ES
---
Has recibido este mensaje porque estás suscrito al grupo "odoo-Argentina - Preguntas y respuestas para personalizadores" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a odoo-argentin...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a odoo-ar...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Gustavo Orrillo

unread,
Jan 5, 2015, 7:12:39 AM1/5/15
to odoo-ar...@googlegroups.com
yo con iptables no lo haria, implementaria la redireccion por medio de nginx y iptables lo dejaria para su tarea habitual, que es la de firewall

my two cents,

Gastón Pablo Pérez

unread,
Jan 8, 2015, 2:16:15 PM1/8/15
to odoo-ar...@googlegroups.com
Hola: 

probe la solucion de Xavier y buenisima, con esto pude correrlo en otros puertos facilmente, la cuestion es que quiero correrlo sobre el puerto 80 para que quien entre no tenga que poner el puerto en la direccion. Creo que la solucion de hacerlo con iptables no me serviria ya que redireccionas todo el trafico del puerto 80 lo cual no me permitiria tener paginas corriendo con apache.

Alguna otra solucion?

gracias de antemano

Lic. Gastón Pablo Perez
Email: gpp...@gmail.com

Gustavo Orrillo

unread,
Jan 8, 2015, 2:22:53 PM1/8/15
to odoo-ar...@googlegroups.com
nginx

Mariano Ruiz

unread,
Jan 8, 2015, 2:37:25 PM1/8/15
to odoo-ar...@googlegroups.com
Si, lo recomendable en estos casos es usar un reverse proxy, Nginx es hoy en día el más usado, pero si ya tenés un Apache, también podés usar este como reverse-proxy, además de seguir usándolo como servidor de otros sitios.
Mariano Ruiz
Software Architect & Web Developer
http://www.mrdev.com.ar

Mariano Ruiz

unread,
Jan 8, 2015, 2:40:14 PM1/8/15
to odoo-ar...@googlegroups.com
Perdón, iba a postear un ejemplo de configuración y me olvidé. Acá tenés la configuración que usé en un Apache 2 para mapear OpenERP: https://gist.github.com/mrsarm/9276869



Gastón Pablo Pérez

unread,
Jan 8, 2015, 3:01:31 PM1/8/15
to odoo-ar...@googlegroups.com
genial! ahora si! 

es decir odoo sigue corriento por el puerto 8069 pero con esta redireccion de apache queda genial! muchas gracias!

Saludos!

Lic. Gastón Pablo Perez
Email: gpp...@gmail.com


Leonardo Chianea

unread,
Jan 8, 2015, 5:35:58 PM1/8/15
to odoo-ar...@googlegroups.com
Estoy investigando el nginx, si alguien tiene un tutorial funcionando estaría bueno que lo ponga acá así lo compartimos... en el caso que lo llegue a resolver ...lo pongo..
saludos

Gustavo Orrillo

unread,
Jan 8, 2015, 5:58:06 PM1/8/15
to odoo-ar...@googlegroups.com
no tiene formato de tutorial, pero pueden probar esto


2015-01-08 20:35 GMT-02:00 Leonardo Chianea <noamixco...@gmail.com>:
Estoy investigando el nginx, si alguien tiene un tutorial funcionando estaría bueno que lo ponga acá así lo compartimos... en el caso que lo llegue a resolver ...lo pongo..
saludos

--

Daniel Blanco

unread,
Jan 18, 2015, 9:11:45 PM1/18/15
to odoo-ar...@googlegroups.com
La de Xavier es la mejor me parece... siempre que no tengas el puerto 80 ocupado, como muchas veces suele ocurrir. Por ejemplo si se trata de un VPS y tenés ademas un apache.

Hay una forma de resolver ésto usando WSGI, haciendo que apache atienda el requerimiento por el puerto 80 y lo redirija al 8069.

Mejor aún, si se pueden usar nombres de host diferentes, de acuerdo a la base de datos que se pretenda usar. Por ejemplo http://erp.empresa1.com es utilizado con una base de datos y erp.empresa2.com con otra base de datos.

Una aproximación para lograr ésto, se puede hacer con este tutorial:

http://opensourceholic.com/2014/05/09/deploy-openerp-using-mod_proxy-and-mod_wsgi-on-linux-server/



El domingo, 4 de enero de 2015, 20:29:36 (UTC-3), Leonardo Chianea escribió:

Despues de iesnstalar odoo es posible modificar el archivo /etc/rc.local para poder acceder a una instancia de odoo en el puerto80 (no en el 8069)

Leonardo Chianea

unread,
Jan 24, 2015, 12:49:58 PM1/24/15
to odoo-ar...@googlegroups.com

Siguiendo la idea de Gustavo Orrillo - Muchas Gracias - les dejo una guía (puede tener algún detalle) que les puede servir tanto para redireccionar el puerto 8069 al 80 como para hacer más seguro su servidor utilizando un certificado ssl comprado (yo use para probar uno que cuesta 5 dolares por año si quieren saber cual es me envían PM)


Instalar Nginx

sudo apt-get update

sudo apt-get upgrade

sudo apt-get install nginx

sudo mkdir /etc/nginx/ssl

cd /etc/nginx/ssl

crear csr

openssl req -newkey rsa:2048 -nodes -keyout tudominio.com.key -out tudominio.com.csr

esto crea un archivo tudominio.com.csr, debemos copiar su contenido, ese contenido debe pegarse en la pagina de nuestro proveedor ssl

cd /etc/nginx/ssl/

cat tudominio.com.csr

luego nuestro proveedor de ssl nos entregará un mail en donde tendremos los certificados

se suben al servidor estos 2 archivos

para subir archivos al servidor se usa remmina en ubuntu

herramientas - abrir secure file transfer


tudominio.com.crt

tudominio.com.key


Crear el archivo chained

Nginx necesita crear un archivo a partir de la union del crt y un intermedio (cuando la entidad ssl les envíe los archivos puede que no tengan un nombre de archivo "intermediate" tendrán que buscar la documentación que les informe cual es el equivalente.)

cat example.com.crt intermediate.crt > tudominio.com.chained.crt

tudominio.com.chained.crt

Creando Nginx server block

$ sudo nano /etc/nginx/sites-available/tudominio.com

pegar el contenido del siguiente script sin la línea de puntos del principio y el final

--------------------------------------------------------------------------------------- si esta es la linea de puntos

server {

listen 80;

rewrite ^(.*)$ https://$host$1 last;

}

server {

listen 443;

ssl on;

ssl_certificate /etc/nginx/ssl/tunombredehost.com.chained.crt;

ssl_certificate_key /etc/nginx/ssl/tunombredehost.com.key;

ssl_session_cache shared:SSL:10m;

ssl_session_timeout 10m;

keepalive_timeout 70;

location / {

proxy_pass http://127.0.0.1:8069/;

proxy_redirect http://127.0.0.1:8069/ https://$host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Host $host;

proxy_set_header X-Forwarded-Port $server_port;

}

}

------------------------------------------------------------------------------------ si esta es la línea de puntos del final

crédito : https://gist.github.com/csrocha/8983347  -- muchas gracias --

Ctrl +o  --- enter para guardar

ctrl + x  para salir

Crear link simbolico del server block en sites-enabled

sudo ln -s /etc/nginx/sites-available/tu domino.com /etc/nginx/sites-enabled/yourOdooSite.com

para que nginx no use el sitio por defecto

cd /etc/nginx/sites-enabled

rm default

Modificar el conf de odoo para que corra en localhost (no me acuerdo si lo hice) pero creo que funciona

sudo vi /etc/odoo/odoo-server.conf

se busca esta linea  xmlrpc_interface =

y tiene que quedar asi xmlrpc_interface = 127.0.0.1

restart Nginx and Odoo

sudo /etc/init.d/odoo-server restart

sudo /etc/init.d/nginx restart

si alguien encuentra algun error o le parece que algo no está bien...sientase libre de comentar
Saludos

Luis Dalmasso

unread,
Feb 4, 2016, 8:08:50 AM2/4/16
to odoo-Argentina - Preguntas y respuestas para personalizadores
Hola
yo tengo el siguiente script de nginx que utilizo para redireccionar y utilizar ssl, el tema es que debo subir una segunda instancia de odoo en la misma vps y no le encuentro la vuelta, la idea que me plantee es que se acceda por la dirección ip y el puerto ejemplo
hoy accedo por http://misitio.com y se redirige perfecto y funciona redireccionando a https://misitio.com que en realidad esta funcionando en el puerto 8069, ahora bien quiero acceder a la segunda instancia de odoo en el puerto 808 de la siguiente forma http://midireccionip;808 y si bien funciona me renderiza mal la pagina con una serie de errores "Could not get content" de las referencias static que el script de nginx soluciona al final y al pasar por la ip directamente no entra por este script

el script es el siguiente y funcona perfecto para una instancia de odoo el tema es para dos intancias

upstream odoo8 {
server 127.0.0.1:8069 weight=1 fail_timeout=0;
}

upstream odoo8-im {
server 127.0.0.1:8072 weight=1 fail_timeout=0;
}

## http redirects to https ##
server {
listen 80;
server_name misitio.com;

# Strict Transport Security
add_header Strict-Transport-Security max-age=2592000;
rewrite ^/.*$ https://$host$request_uri? permanent;
}

server {
# server port and name
listen 443;
server_name misitio.com;

# Specifies the maximum accepted body size of a client request,
# as indicated by the request header Content-Length.
client_max_body_size 200m;

# add ssl specific settings
keepalive_timeout 60;
ssl on;
ssl_certificate /etc/ssl/nginx/misitio.com.crt;
ssl_certificate_key /etc/ssl/nginx/misitio.com.key;

# limit ciphers
ssl_ciphers HIGH:!ADH:!MD5;
ssl_protocols SSLv3 TLSv1;
ssl_prefer_server_ciphers on;

# increase proxy buffer to handle some OpenERP web requests
proxy_buffers 16 64k;
proxy_buffer_size 128k;

#general proxy settings
# force timeouts if the backend dies
proxy_connect_timeout 600s;
proxy_send_timeout 600s;
proxy_read_timeout 600s;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;

# set headers
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;

# Let the OpenERP web service know that we’re using HTTPS, otherwise
# it will generate URL using http:// and not https://
proxy_set_header X-Forwarded-Proto https;

# by default, do not forward anything
proxy_redirect off;
proxy_buffering off;

location / {
proxy_pass http://odoo8;
}

location /longpolling {
proxy_pass http://odoo8-im;
}


# cache some static data in memory for 60mins.
# under heavy load this should relieve stress on the OpenERP web interface a bit.
location /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo8;
}
}


DESDE YA MUCHAS GRACIAS


El domingo, 4 de enero de 2015, 20:29:36 (UTC-3), Leonardo Chianea escribió:

Sergi Barcos

unread,
Mar 15, 2017, 7:25:17 PM3/15/17
to odoo-Argentina - Preguntas y respuestas para personalizadores
He instalado odoo 10.0 y no consiguo ver la configuración de apache2, voy a /etc/apache2/ pero dentro no esta configura y demas si paro el servicio de apache2 sigue funcionando, me gustaria poder integrar ssl y no hay manera ya que no accedo  a la configuración

Muchas gracias de antemano
Reply all
Reply to author
Forward
0 new messages