Platform:FreeBSD
Deze pagina bevat alle relevante onderdelen voor het installeren en configureren van EekBoek op een FreeBSD omgeving. Alle de hieronder genoemde stappen moeten worden uitgevoerd als root (su).
Installatie
Op FreeBSD is er een aantal manieren om de EekBoek installatie uit te voeren.
Source based installatie
Hieronder een kort script voor de installatie van EekBoek versie 2.00.02 vanaf de sources:
fetch http://www.eekboek.nl/dl/EekBoek-2.00.02.tar.gz tar xzf EekBoek-2.00.02.tar.gz cd EekBoek-2.00.02 pkg_add -r p5-DBI pkg_add -r p5-DBD-SQLite pkg_add -r p5-Archive-Zip pkg_add -r p5-HTML-Parser pkg_add -r p5-ReadLine-Gnu perl Build.PL ./Build ./Build test ./Build install
CPAN installatie
Installatie via CPAN werkt als volgt, waarbij de installatie van 'Term::ReadLine::Gnu' optioneel is:
perl -MCPAN -e 'install EekBoek' perl -MCPAN -e 'install Term::ReadLine::Gnu'
Wanneer er een aantal vragen verschijnt, kan door Enter te typen de installatie worden afgerond.
Troubleshooting
- Als de installatie van de dependencies niet wil lukken, controleer dan of de laatste versie van FreeBSD gebruikt wordt: "uname -a" moet een versie van 7.0 of hoger opleveren.
- Commando "ebshell" leidt tot "Command not found": voer bovenstaande stappen nog een keer uit beginnend vanaf "perl Build.PL"; de stap "./Build test" kan hierbij worden overgeslagen. Als dit ook niet werkt, kijk dan of /usr/local/bin in het pad staat: "env | grep PATH"; geef vervolgens het commando "chmod +x /usr/local/bin/ebshell".
Installatie PostgreSQL
De volgende commando's in de shell installeren postgresql versie 8.4:
pkg_add -r postgresql84-server pkg_add -r postgresql84-client
Een uitgebreidere methode voor het installaren van PostgreSQL op FreeBSD die aansluit bij het gebruik van EekBoek is de onderstaande. Bewaar de volgende regels in een bestand genaamd bijvoorbeeld eekboek-pg.sh:
#!/bin/sh # This script assumes the following: # - there is a user called eekboek and has a folder in /home # - the eekboek dependencies have been installed successfully # @todo: for educational purposes a distinction could be made between user eekboek and database eekboek # @todo: include the creation of the file postgresql.conf in /usr/local/pgsql/data/ # set package source location MIRROR=ftp://ftp.nl.FreeBSD.org export PACKAGEROOT=$MIRROR # disable echo to protect the password stty -echo # input postgresql password for user eekboek echo -e "Please enter password for standard user of the database server: \c" read PASSWORD # restore the echo stty echo # set standard installation path target=/usr/home/eekboek # install postgresql pkg_add -r postgresql84-server pkg_add -r postgresql84-client grep -q 'postgresql_enable="YES"' /etc/rc.conf || echo 'postgresql_enable="YES"' >> /etc/rc.conf # set init flags for postgresql echo 'postgresql_initdb_flags="--encoding=utf-8 --lc-collate=C -W -A md5"' >> /etc/rc.conf # create data folder for postgresql mkdir /usr/local/pgsql/data chown eekboek /usr/local/pgsql/data # create users for database touch $target/install.sql echo "create user eekboek with password '$PASSWORD';" >> /root/install.sql # create script that sets up postgresql and creates database eekboek touch $target/pgsql.sh # configure postgresql: database name 'eekboek' and database user 'eekboek' echo ' /usr/local/bin/initdb -D /usr/local/pgsql/data /usr/local/bin/postmaster -D /usr/local/pgsql/data echo -e "Postgresql is starting up, please wait...\n" echo -e "Press Enter to continue:\c" read INPUT_ENTER /usr/local/bin/createdb eekboek'>> $target/pgsql.sh # make the script executable chmod a+x $target/pgsql.sh
Draai dit script als root en ga tenslotte naar /usr/home/eekboek en geef het volgende commando:
./pgsql.sh
Configuratie
[todo: hier moet een paragraaf komen te staan over een niet-standaard configuratie van EekBoek, zoals een alternatief schema, of een upload van relaties]