GNUmed installieren

Auf meiner Suche nach einer freien Software zur Patientenverwaltung bin ich auf GNUmed gestoßen. Die Software ist eigentlich für Arztpraxen gedacht, aber ich verwende sie, um die Daten meiner Tochter (sowie meine eigenen) zu verwalten.

Unter Ubuntu muss lediglich die GNUmed-PPA hinzugefügt werden, und schon kann man per

sudo apt-get update
sudo apt-get install gnumed-server gnumed-client

die Software inklusive diverser Zusatzpakete installieren.

 
GNUmed Server
GNUmed greift auf PostgreSQL als Datenbank zurück. Bevor man loslegen kann, muss zunächst das Datenbank-Schema eingespielt werden:

sudo gm-bootstrap_server

Jetzt juckelt das Script einige Zeit über die Konsole. Sobald es fertig ist, muss PostgreSQL neu gestartet werden:

sudo /etc/init.d/postgresql-8.4 restart

(Bei mir ist PostgreSQL 8.4 installiert).

Der Server ist jetzt einsatzbereit.

 
GNUmed Client
Auch der Client benötigt noch etwas Handarbeit. Zunächst kopiert man mit root-Rechten eine Standard-Config-Datei in den Unterordner .gnumed seines Home-Verzeichnisses:

sudo cp /etc/gnumed/gnumed-client.conf /home/USER/.gnumed/gnumed.conf
sudo chown USER:USER /home/USER/.gnumed/gnumed.conf

Hierbei muss selbstverständlich USER durch einen Usernamen ersetzt werden. Die Datei wird nun editiert:

vim /home/USER/.gnumed/gnumed.conf

Wichtig ist folgende Stelle:

profiles = $profiles$
public GNUmed database
local GNUmed database
DynDNS
$profiles$

Zwischen $profiles$ stehen die Namen der erreichbaren Gnumed-Installationen. Die Einträge “public” und “local” werden standarmäßig erzeugt. Der Eintrag “DynDNS” ist von mir hinzugefügt worden, damit ich meinen Server auch übers Internet erreiche. Jeder Eintrag hier bekommt weiter unten in der Datei seine eigene Konfiguration. Für den Eintrag “local GNUmed database” sieht dies z.B. so aus:

[profile local GNUmed database]
host = localhost
port = 5432
database = gnumed_v12
public/open access = 0
#encoding = UTF8
help desk = Your own IT support 

Hier musste ich lediglich unter “host” = “localhost” eingeben. So kann ich hier lokal auf die Daten zugreifen. Der Eintrag unter “database”, also hier “gnumed_v12″ wird von der Installation vorgegeben und kann bei euch abweichen (man kann nämlich mehrere Datenbanken fahren). Für meinen DynDNS-Eintrag hab ich einfach den “local”-Eintrag kopiert und nur den “host” verändert. Das sieht dann so aus:

[profile DynDNS]
host = dasgehtdichnixan.dyndns.org
port = 5432
database = gnumed_v12
public/open access = 0
#encoding = UTF8
help desk = Your own IT support 

Damit PostreSQL auch Anfragen aus dem Internet entgegen nimmt, muss der Netzwerkzugriff aktiviert werden. Wie das geht steht wunderbar erklärt im Wiki der Ubuntuusers.de:

sudo vim /etc/postgresql/8.4/main/postgresql.conf

listen_addresses = '*'

Anschließend müssen noch User-Rechte vergeben werden:

sudo vim /etc/postgresql/8.4/main/pg_hba.conf

hostssl all produnis 0.0.0.0/0 md5
host    all     produnis        0.0.0.0/0       md5

Hierdurch darf der User “produnis” von jeder IP aus auf alle Datenbanken zugreifen.

So, jetzt kann man endlich unter “Anwendungen / Büro / Gnumed” den Client starten.

 
Datenbank-Backup
Tja, das Thema Backup ist etwas hakelig. Wie ich es mache:

  1. Ich erstelle ein komplett-Backup per

    sudo sudo -u postgres pg_dumpall > all.dump

  2. Ich erstelle ein Backup der GNUmed-Datenbank (bei mir ist die aktive Datenbank gnumed_v12. Bei euch kann das anders sein!!) per

    sudo sudo -u postgres pg_dump -Fc gnumed_v12 > gmed12.dump

  3. Nach einem Crash oder Serverwechsel wird zunächst das Komplett-Backup eingespielt:

    sudo sudo -u postgres psql -f all.dump postgres

    Hierdurch werden zwar die Nutzer und deren Rechte richtig zurückgespiegelt, der eigentliche gnumed-Inhalt meckert hier aber beharrlich.

  4. Daher spielen wir den Inhalt nun für die gnumed-Datenbank nochmals gesondert ein. Im Terminal begibt man sich in den PostgreSQL-Interpreter:

    sudo sudo -u postgres psql

    entsperrt die Datenbank per

    ALTER DATABASE gnumed_v12 SET default_transaction_read_only=off;

    und spielt in einem anderen Terminalfenster die Daten ein per

    sudo sudo -u postgres pg_restore -d gnumed_v12 gmed12.dump

    Anschließend sperrt man die Datenbank wieder per

    ALTER DATABASE gnumed_v12 SET default_transaction_read_only=on;

 
Links

This entry was posted in Herr Immer, Ubuntu, ubuntuusers. Bookmark the permalink. Follow any comments here with the RSS feed for this post. Post a comment or leave a trackback.

1 Comment

  1. Posted 19. März 2010 at 11:17 | Permalink

    Hallo,

    Sehr schöner Beitrag.

    Wir liefern auch Shell-Skripte mit für Backup-Zwecke. Sowohl fürs Backup als auch für das Wiederherstellen haben wir da was dabei.

    Sebastian Hilbert
    GNUmed team

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Your email address will never be published.