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:
- Ich erstelle ein komplett-Backup per
sudo sudo -u postgres pg_dumpall > all.dump - 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 - Nach einem Crash oder Serverwechsel wird zunächst das Komplett-Backup eingespielt:
sudo sudo -u postgres psql -f all.dump postgresHierdurch werden zwar die Nutzer und deren Rechte richtig zurückgespiegelt, der eigentliche gnumed-Inhalt meckert hier aber beharrlich.
- 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 psqlentsperrt 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.dumpAnschließend sperrt man die Datenbank wieder per
ALTER DATABASE gnumed_v12 SET default_transaction_read_only=on;
Links


19. März 2010 11:17
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