Question

I have a working local installation of tryton. But connecting from a remote client doesn't work. tryton is build opon Postgre SQL, from documentation I assume the nature of the problem lies there.


Edit: It turned out the problem was neither PostgreSQL nor the trytond.conf script alone, but rather that I needed to add an endpoint in the setup of the Virtual Machine on Windows Azure for Port 8000. See http://xmodulo.com/2012/12/how-to-open-ports-on-windows-azure-vm.html. However, the answer below regarding the trytond.conf file is correct as well.


In /etc/trytond.conf I've entered the IP address of the tryton server:

#This file is part of Tryton.  The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
[options]

# This is the hostname used when generating tryton URI
#hostname = 

# Activate the json-rpc protocol
jsonrpc = 23.97.165.118:8000
#ssl_jsonrpc = False

(This is an example IP)

Running the checks from the FAQ: trytond is running correctly: enter image description here

Listening ports: enter image description here

However, no connect from the client via internet.

I'd like every client from anywhere on the internet to be able to connect (not best for security, but user's IPs change, so no way to avoid this).

What do I have to enter into /etc/postgresql/9.1/main/pg_hba.conf?

And what needs to go into postgresql.conf? And in which one? Searching with "whereis postgresql.conf" finds several versions:

root@Tryton:~# whereis postgresql.conf
postgresql: /etc/postgresql /usr/lib/postgresql /usr/share/postgresql

Thank you very much for your help in advance.

Edit: Here are the configuration files. Runs ok locally on server, but cannot connect tryton client via internet.

Config Files (changes)

trytond.conf

#This file is part of Tryton.  The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
[options]

# This is the hostname used when generating tryton URI
#hostname = 

# Activate the json-rpc protocol
jsonrpc = *:8000
#ssl_jsonrpc = False

# Configure the path of json-rpc data
#jsondata_path = /var/www/localhost/tryton

# Activate the xml-rpc protocol
#xmlrpc = *:8069
#ssl_xmlrpc = False

# Activate the webdav protocol
#webdav = *:8080
#ssl_webdav = False

# Configure the database type
# allowed values are postgresql, sqlite, mysql
#db_type = postgresql

# Configure the database connection
## Note: Only databases owned by db_user will be displayed in the connection dialog
## of the Tryton client. db_user must have create permission for new databases
## to be able to use automatic database creation with the Tryton client.
#db_host = False
#db_port = False
db_user = tryton
db_password = tryton_password
#db_minconn = 1
#db_maxconn = 64

# Configure the postgresql path for the executable
#pg_path = None

# Configure the Tryton server password
#admin_passwd = admin

pg_hba.conf

# PostgreSQL Client Authentication Configuration File
# ===================================================


# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local   all             postgres                                md5

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
# Original:
#host    all             all             127.0.0.1/32            md5
# Neu:
# Option 1: host     all          all      0.0.0.0/0       md5
host     all          all      127.0.0.1/32       md5



# IPv6 local connections:
# Original:
#host    all             all             ::1/128                 md5
# Neu:
host     all          all      ::/0            md5

# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

postgresql.conf

# -----------------------------
# PostgreSQL configuration file
# -----------------------------
#


#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------

# - Connection Settings -

listen_addresses = '*'          # what IP address(es) to listen on;
                    # comma-separated list of addresses;
                    # defaults to 'localhost', '*' = all
                    # (change requires restart)



port = 5432             # (change requires restart)
max_connections = 100           # (change requires restart)
Was it helpful?

Solution

There is no issue related to postgresql as the postgresql connection is done from the server, so the problem is the config file, and exactly the jsonrpc option.

Basically this setting is for saying on which local interface/ip will tryton listen for conections:

So if you use:

jsonrpc = 23.97.165.118:8000

The server will listen on 23.97.165.118 and will only accept connections with destination 23.97.165.118, so you won't be able to access it throw localhost as localhost maps to 127.0.0.1

Having said that I will recomend using the following setting:

jsonrpc = *:8000

Which will listen to all the interfaces of the server (localhost and any external connections that you have).

Note: You must restart your tryton server in order to apply the changes in the configuration file.

OTHER TIPS

I had the same issue, and advice in the accepted answer was actually the cause of my troubles. The correct syntax (at least for recent versions, 3.4 to 3.8) is the following :

[jsonrpc]
listen = *:8000
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top