Eekboek met PostgreSQL op localhost: verschil tussen versies
Regel 20: | Regel 20: | ||
==== Nieuwe versie van Eekboek configureren ==== | ==== Nieuwe versie van Eekboek configureren ==== | ||
In de wizard geef je aan een nieuwe database te willen maken van het type "postgresql". Je kunt alle instellingen op "--standaard--" laten staan, afgezien van het paswoord. De standaard host is localhost, de standaard username is je loginnaam, standaard | In de wizard geef je aan een nieuwe database te willen maken van het type "postgresql". Je kunt alle instellingen op "--standaard--" laten staan, afgezien van het paswoord. De standaard host is localhost, de standaard username is je loginnaam, standaard worden er Unix sockets gebruikt als het OS dat ondersteund (dus geen poort), en anders (bij Windows) TCP op poort 5432. Bij het afronden van de wizard wordt de database op de server aangemaakt. | ||
==== Oudere versie van Eekboek configureren ==== | ==== Oudere versie van Eekboek configureren ==== |
Versie van 17 jan 2011 20:38
Deze handleiding gaat over de stand-alone installatie van Eekboek met PostgreSQL op een PC. De handleiding is niet specifiek voor een bepaald platform en is daarom enigszins algemeen. Deze handleiding is nog in ontwikkeling en zeker niet volledig. Kritiek en succesverhalen zijn welkom op paul@vandervlis.nl.
PostgreSQL
PostgreSQL wordt niet standaard bij EekBoek geleverd, maar het zit wel in de meeste Linux distributies en voor de meeste andere platformen is het gratis te downloaden via http://www.postgresql.org/ . Er zijn Windows, Mac, Linux, FreeBSD en Solaris versies.
PGadmin3
Daarnaast is er een grafisch programma "pgadmin", wat op sommige platformen (b.v. Windows, Mac) automatisch wordt meegeinstalleerd met PostgreSQL, op andere platformen is het een keuze (b.v. Linux). Voor Linux is het niet nodig dit programma te installeren, maar uiteraard kan het wel.
Database role aanmaken
In PostgreSQL moet een "role" aangemaakt worden, dat is een user in PostgreSQL termen. Dit moet gedaan worden door de administratieve user van PostgreSQL, normaal heet deze "postgres". Onder Linux kun je dit het beste op de commandline doen omdat de gebruiker postgres daar meestal geen paswoord heeft, onder Windows kun je het beste PGadmin3 gebruiken. Wat je op de Mac het beste kunt doen weet ik niet, maar ik hoor graag ervaringen.
Op de commandline
In Linux/Unix kun je op de commandline user "postgres" worden met een commando als "sudo su postgres" of "su progres". Het aanmaken van de role gaat hier met een commando als "createuser piet". Hiermee maak je een role "piet" aan. Ik adviseer als naam je loginnaam te gebruiken, dat is het eenvoudigste. Hij vraagt of de nieuwe role een superuser moet zijn, daarop antwoord je "nee". Hij vraagt of de nieuwe role nieuwe databases mag aanmaken, daarop antwoord je "ja". Als laatste vraagt hij of de nieuwe role nieuwe roles mag aanmaken, daarop antwoord je "nee". Uiteraard vraagt hij nog om een paswoord voor de nieuwe user en dan is de role klaar. Hier is meer informatie te vinden over het "createuser" commando: http://www.postgresql.org/docs/8.4/static/app-createuser.html
Met PGadmin3
Bij Windows/Mac wordt er een programma PGAdmin meegeleverd waarmee je gemakkelijk een user kunt aanmaken nadat je verbonden bent als user "postgres" met postgresql op localhost. Je moet "edit | new object | new login role" doen. Let er op dat de nieuwe user databases moet kunnen aanmaken, dat kun je in een tabblad instellen. Ook voor Linux is dit programma beschikbaar.
Eekboek configureren
Allereerst moet Eekboek worden geinstalleerd, zie daarvoor de platform specifieke pagina's op deze wiki. De nieuwe versie van Eekboek die op dit moment in GIT zit kan op een comfortabeler manier worden ingsteld dan de oudere versie. Daarom twee mogelijkheden.
Nieuwe versie van Eekboek configureren
In de wizard geef je aan een nieuwe database te willen maken van het type "postgresql". Je kunt alle instellingen op "--standaard--" laten staan, afgezien van het paswoord. De standaard host is localhost, de standaard username is je loginnaam, standaard worden er Unix sockets gebruikt als het OS dat ondersteund (dus geen poort), en anders (bij Windows) TCP op poort 5432. Bij het afronden van de wizard wordt de database op de server aangemaakt.
Oudere versie van Eekboek configureren
Na installatie van Eekboek (zie platform specifieke pagina's) kan Eekboek worden gestart. In de wizard geef je aan een nieuwe database te willen maken van het type "postgresql". Het aanmaken van de administratie zal normaal mislukken vanwege het ontbreken van het paswoord. Hier moeten de gegevens met de hand in het configfile worden gezet.
Normaal worden de configfiles opgeslagen in een directory ~/.eekboek/admdir/naam/eekboek.conf of C:\documents and settings\user\eekboek\admdir\naam\eekboek.conf (zoek eventueel op "admdir"). Hierin moet dan iets dergelijks komen te staan:
[database] name = boekhouding_2010 driver = postgres user = piet password = eekboek
De regel met "user" kan ook worden weggelaten.
Hierna kan de database vanuit deze directory op de commandline worden aangemaakt en ingericht met:
ebshell --init
Resultaat
Het resultaat is een Eekboek die zijn gegevens opslaat in PostgreSQL.