Platform:Netwerk
Inleiding
Deze handleiding gaat over de netwerkinstallatie van Eekboek. De handleiding is niet specifiek voor een bepaald platform en is daarom enigszins algemeen. Deze manual is nog in ontwikkeling en zeker niet volledig. Kritiek en succesverhalen zijn welkom op paul@vandervlis.nl.
Server
Bij installatie in een netwerk is er een server en zijn er één of meerdere clients. Op de server dient PostgreSQL geinstalleerd te worden. PostgreSQL 8.3 en later is bruikbaar, waarschijnlijk wat oudere versies ook maar precies weet ik dit niet. PostgreSQL is een database met veel mogelijkheden waarover complete boeken vol zijn geschreven, mijn verhaal blijft daarom enigszins beperkt. 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.
Ik ga het nu allereerst over een paar configuratiebestanden hebben. Deze staan op ieder platform weer ergens anders. Vaak is het het handigste er even naar te zoeken.
pg_hba.conf
Een belangrijk bestand in PostgreSQL is pg_hba.conf, hier dient het netwerk toegang te krijgen tot de database. Ik stel voor deze regel toe te voegen:
host all all 0.0.0.0/0 md5
Hiermee vertel je dat iedereen via het netwerk mag inloggen op alle databases mits er een juiste username en paswoord bekend is. Uiteraard kan er ook iets als 192.168.1.0/24 gebruikt worden in plaats van 0.0.0.0/0 als extra veiligheid. Meer informatie is hier te vinden: http://www.postgresql.org/docs/8.4/interactive/auth-pg-hba-conf.html
postgresql.conf
Een ander belangerijk bestand is postgresql.conf. Ik raad je aan in dit bestand te zoeken naar "listen_addresses". Vaak is dit namelijk "localhost", of is het default "localhost" en dat gaat niet werken via het netwerk. Ik raad je hier aan er "listen_addresses = '*'" van te maken, wat betekent dat je van overal kunt aanmelden. Maar uiteraard kun je het doen zoals je wilt, meer informatie is hier te vinden: http://www.postgresql.org/docs/8.4/interactive/config-setting.html
firewall
Op de meeste servers zit tegenwoordig een firewall. PostgreSQL draait normaal op 5432 TCP en deze poort moet worden opengezet, zodat de clients bij deze poort kunnen. De configuratie van de firewall voor PostgreSQL is vergelijkbaar met die van een webserver, alleen is het poortnummer dus anders.
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'. In Linux realiseer ik dit met een commando als "sudo su postgres", hoe dit onder Windows/Mac moet weet ik niet. Het aanmaken van de role gaat met het commando "createuser -SdR ebuser". Hiermee maak je een role 'ebuser' aan, die zelf databases mag aanmaken. Let op dat de 'd' een kleine letter is, en de "S" en de "R" in hoofdletters. Je kunt voor iedere gebruiker een eigen role aanmaken, maar een role kan ook gedeeld worden door meerdere gebruikers. Hier is meer informatie te vinden over het "createuser" commando: http://www.postgresql.org/docs/8.4/static/app-createuser.html
Client
Het is een goed idee om vanaf een client PC eerst te testen of de server te bereiken is op poort 5432. Ik doe dat normaal door op de commandline het commando "telnet 1.2.3.4 5432" te geven. Uiteraard moet je in plaats van "1.2.3.4" het correcte IP adres of de correcte naam van de server opgeven. Mocht de poort niet te bereiken zijn, ga dan nog eens naar de configuratie van de server kijken.
Onderstaande gaat over de ontwikkelversie van EekBoek die op dit moment alleen nog maar beschikbaar is via Git. Mocht je een oudere versie van EekBoek gebruiken dan staan hier de juiste aanwijzingen: platform:Netwerkclient-oud
De eerste client
Bij de installatie van de eerste client wordt de database aangemaakt. Het installeren van deze client kan eventueel ook op de server gebeuren.
In de wizard geef je aan een nieuwe database te willen maken van het type "postgresql". Je kunt dan gelijk invullen met welke server je wilt connecten en met welke user (role) en welke poort. Er zal dan automatisch een database worden aangemaakt op de server.
De volgende clients
In de wizard kies je voor een nieuwe boekhouding. Wat voor boekhouding je kiest is verder niet erg van belang. Je kiest postgresql. Er wordt je om je username, paswoord, hostname en dergelijke gevraagd, die vul je in. Dan komt er als laatste een overzichtpagina met een overzicht wat er gaat gebeuren. Daar vink je alles uit behalve "configuratiebestand", en dan ga je verder. Er wordt nu een configuratiebestand aangemaakt maar geen database, die is er immers al.
Resultaat
Het resultaat is een boekhouding waar verschillende mensen tegelijk op kunnen werken.