Koha-clms/misc/plack/plackup.sh

55 lines
1.8 KiB
Bash
Executable File

#!/bin/sh -e
# This is plack startup script for Koha
# ./plackup.sh [site] [intranet]
site=$1
test ! -z "$site" && shift || ( echo "usage: $0 [site] [i[tranet]]" ; exit 1 )
# extract useful paths from koha-conf.xml
export KOHA_CONF=/etc/koha/sites/$site/koha-conf.xml
export LOGDIR="$( sudo -u $site-koha xmlstarlet sel -t -v 'yazgfs/config/logdir' $KOHA_CONF )"
export INTRANETDIR="$( sudo -u $site-koha xmlstarlet sel -t -v 'yazgfs/config/intranetdir' $KOHA_CONF )"
export OPACDIR="$( sudo -u $site-koha xmlstarlet sel -t -v 'yazgfs/config/opacdir' $KOHA_CONF | sed 's,/cgi-bin/opac,,' )"
dir=`dirname $0`
# enable memcache - it's safe even on installation which don't have it
# since Koha has check on C4::Context
#export MEMCACHED_SERVERS=localhost:11211
# pass site name as namespace to perl code
export MEMCACHED_NAMESPACE=$site
#export MEMCACHED_DEBUG=1
if [ ! -e "$INTRANETDIR/C4" ] ; then
echo "intranetdir in $KOHA_CONF doesn't point to Koha git checkout"
exit 1
fi
if [ -z "$1" ] ; then # type anything after site name for intranet!
INTRANET=0
PORT=5000
else
INTRANET=1
PORT=5001
shift # pass rest of arguments to plackup
fi
export INTRANET # pass to plack
# uncomment to enable logging
#opt="$opt --access-log $LOGDIR/opac-access.log --error-log $LOGDIR/opac-error.log"
# --max-requests 50 decreased from 1000 to keep memory usage sane
# --workers 4 number of cores on machine
#test "$INTRANET" != 1 && \ # don't use Starman for intranet
opt="$opt --server Starman -M FindBin --max-requests 50 --workers 4"
# -E deployment turn off access log on STDOUT
opt="$opt -E deployment"
# comment out reload in production!
opt="$opt --reload -R $INTRANETDIR/C4 -R $INTRANETDIR/Koha"
sudo -E -u $site-koha plackup --port $PORT -I $INTRANETDIR -I $INTRANETDIR/installer $opt $* $dir/koha.psgi