User Tools

Site Tools


using_a_centralized_postgresql_db_with_x2goserver_debian

This is an old revision of the document!


Installation

:!: Before you begin!

Please make sure that you have added the x2go repository to your package management system. The required steps are described here: adding the x2go repository (debian)! You'll further need to have some experience with x2goprint and maybe x2goserver.

Using an existent database server on the network

If you want to use an already existent PostgreSQL database server in your network, you'll need to allow the x2goserver(s) access to the database server. First of all, you'll need to tell the address of the target server to every x2goserver:

# echo -n „address of postgres server“ > /etc/x2go/sql

Furthermore you'll need to allow “passwordless” authentication via SSH keys. Please don't add a “paraphrase” to the generated key:

# mkdir /root/.x2go/ssh/.pg
# ssh-keygen -t dsa -f /root/.x2go/ssh/.pg/id_dsa

To copy the public part of the key to the PostgreSQL server, you may use the “ssh-copy-id” command to combine transfer and paste command, or you can paste the key after transferring it by yourself (make sure file permissions for SSH key authentication are set correctly):

# mkdir -p ~postgres/.ssh/
# cat id_dsa-pub >> ~postgres/.ssh/authorized_keys
# chown -Rf postgres:postgres ~postgres/.ssh
# chmod -Rf go-rwx ~postgres/.ssh

You can test the needed connection by entering following command:

# ssh -i /root/.x2go/ssh/.pg/id_dsa postgres@server

You'll also need to run the “x2gocreatebase.sh” script as described before on the database server to create the needed instance.

New server packages (deb and tar.gz) are available over our heuler repository: http://x2go.obviously-nice.de/deb/pool-heuler/

You can install this packages with apt: deb http://x2go.obviously-nice.de/deb/ heuler main

Please keep in mind, that the heuler archive is an additional repository - you'll need to have the lenny repository configured as well!

Changes:

Sudo commands are no longer required by x2goserver to contact the postgresql database. Now postgres views and rules are used to restrict users form modifying or accessing data of other users.

Sudo isn’t required for the use of x2godesktopsharing (but the users must be part of group x2gousers) too.

If you want to use x2goserver with sqlite, you still need to configure sudo. But instead of the user “root”, an unprivileged user “x2gouser” will be used.

I've used Perl DBI to work with databases.

How to setup x2goserver with postgres:

configure postgresql server to enable tcp connections from x2goserver configure postgresql server for md5 authentication for users from x2goserver in /etc/postgresql/(version)/main/pg_hba.conf, for example:

# IPv4 local connections:

host all all 127.0.0.1/32 md5

You must create a database user which can create databases and users for x2go database administration. You can also use user postgres to do this job.

You must save the password of this user in the file /etc/x2go/x2gosql/passwords/pgadmin. Only root should have access to this file. It will be used only for database and users creation, you may/should delete it after this tasks are done. You can set new password using this commands:

x2goserver:/# su postgres -c “psql” Dies ist psql 8.3.8, das interaktive PostgreSQL-Terminal.

Geben Sie ein: \copyright für Urheberrechtsinformationen

              \h für Hilfe über SQL-Anweisungen
              \? für Hilfe über interne Anweisungen
              \g oder Semikolon, um eine Anfrage auszuführen
              \q um zu beenden

postgres=# alter user postgres encrypted password 'Gjyxc45WET'; ALTER ROLE postgres=# \q

database configurations in file /etc/x2go/x2gosql/sql:

backend=postgres [postgres] host=localhost port=5432 #database admin (must have permissions to create databases and users) dbadmin=postgres

database administration using /usr/lib/x2go/script/x2godbadmin.

x2goserver:/# /usr/lib/x2go/script/x2godbadmin –help X2Go SQL admin interface. Use it to create x2go database and insert or remove users or groups in x2go database Usage: x2godbadmin –createdb x2godbadmin –listusers x2godbadmin –adduser|rmuser <UNIX user> x2godbadmin –addgroup|rmgroup <UNIX group>

Create database: x2goserver:/# /usr/lib/x2go/script/x2godbadmin –createdb

Create database users: You can add UNIX users or groups to database using commands /usr/lib/x2go/script/x2godbadmin –adduser example or /usr/lib/x2go/script/x2godbadmin –addgroup x2gousers after that step users can create x2go sessions.

How to setup x2goserver with sqlite:

Add sudo entry:

#### X2GO section

%x2gousers ALL=(x2gouser) NOPASSWD: /usr/bin/x2gosqlitewrapper

to create x2go sessions user must be part of group “x2gousers”

database configurations in file /etc/x2go/x2gosql/sql:

backend=sqlite

Create database: x2goserver:/# /usr/lib/x2go/script/x2godbadmin –createdb

By installing package x2goserver-one this steps will be done automatically.

Regards, alex

using_a_centralized_postgresql_db_with_x2goserver_debian.1306488637.txt.gz · Last modified: 2013/03/08 13:31 (external edit)