Platform:FreeBSD: verschil tussen versies

Uit EekBoek
Naar navigatie springenNaar zoeken springen
(Nieuwe pagina aangemaakt met 'Op [http://www.freebsd.org FreeBSD] is het alleen mogelijk om de EekBoek installatie vanaf source uit te voeren, waarvoor hieronder een kort script. In dit script word...')
 
(Toevoegen postgresql installatie)
Regel 19: Regel 19:
*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.
*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.
*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.
===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 die aansluit bij het gebruik van EekBoek is de volgende:
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 /usr/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 USER_PWD
# 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 '$USER_PWD';" >> /root/install.sql
# create script that setups 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
Ga tenslotte naar /usr/home/eekboek en geef het volgende commando:
./pgsql.sh

Versie van 15 jan 2011 19:39

Op FreeBSD is het alleen mogelijk om de EekBoek installatie vanaf source uit te voeren, waarvoor hieronder een kort script. In dit script worden alle bovenstaande basisstappen gecombineerd en wel voor EekBoek versie 2.00.02:

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

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.

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 die aansluit bij het gebruik van EekBoek is de volgende: 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 /usr/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 USER_PWD

# 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 '$USER_PWD';" >> /root/install.sql

# create script that setups 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

Ga tenslotte naar /usr/home/eekboek en geef het volgende commando:

./pgsql.sh