@@ -, +, @@ - Adding a replaceable string to the template for koha-conf.xml - Making koha-create-dirs create the needed directories (i.e. /var/cache/koha/instance and /var/cache/koha/instance/templates) - Adding a --template-cache-dir switch to koha-create (so sysadmins can specify their favourite directory for the templates cache). - koha-remove now takes care of the instance's *templates* dir. - The install scripts now automatically create /var/cache/koha so it can be used later by koha-create and friends. It does so the same way it does for other install-created directories. - Make sure you have the latest misc4dev in your kohadevbox (if it is a fresh box you have it already) - Run: $ sudo perl misc4dev/cp_debian_files.pl - Manually create the /var/cache/koha dir (skip if you have your own packages): $ sudo mkdir /var/cache/koha - Create a new instance: $ sudo koha-create --create-db cachetest * /etc/koha/sites/cachetest/koha-conf.xml contains template_cache_dir and is populated with /var/cache/koha/cachetest/templates * The directory /var/cache/koha/cachetest/templates exists! - Create a new instance, pass your own cache dir: $ sudo koha-create --create-db --template-cache-dir /tmp cachetest2 and is populated with /tmp - Run: $ man koha-create correctly. - Sign off :-D! --- debian/docs/koha-create.xml | 9 +++++++++ debian/koha-common.dirs | 1 + debian/scripts/koha-create | 18 ++++++++++++++++-- debian/scripts/koha-create-dirs | 2 ++ debian/scripts/koha-remove | 2 ++ debian/templates/koha-conf-site.xml.in | 5 +---- 6 files changed, 31 insertions(+), 6 deletions(-) --- a/debian/docs/koha-create.xml +++ a/debian/docs/koha-create.xml @@ -40,6 +40,7 @@ n port + directory directory | @@ -185,6 +186,14 @@ + + + Specify a for storing the template cache files of the instance. + It defaults to /var/cache/koha/instance/templates. + + + + Specify a for storing the permanently uploaded files of the instance. --- a/debian/koha-common.dirs +++ a/debian/koha-common.dirs @@ -1,4 +1,5 @@ etc/koha/sites +var/cache/koha var/lib/koha var/log/koha var/lock/koha --- a/debian/scripts/koha-create +++ a/debian/scripts/koha-create @@ -70,6 +70,8 @@ Options: --database dbname Enforce the use of the specified DB name (64 char limit) --adminuser n Explicit the admin user ID in the DB. Relevant in conjunction with --defaultsql and --populate-db. + --template-cache-dir Set a user defined template_cache_dir. It defaults to + /var/cache/koha//templates --upload-path dir Set a user defined upload_path. It defaults to /var/lib/koha//uploads --letsencrypt Set up a https-only site with letsencrypt certificates @@ -113,6 +115,7 @@ generate_config_file() { -e "s/__DB_PASS__/$mysqlpwd/g" \ -e "s/__UNIXUSER__/$username/g" \ -e "s/__UNIXGROUP__/$username/g" \ + -e "s#__TEMPLATE_CACHE_DIR__#$TEMPLATE_CACHE_DIR#g" \ -e "s#__UPLOAD_PATH__#$UPLOAD_PATH#g" \ -e "s/__LOG_DIR__/\/var\/log\/koha\/$name/g" \ -e "s/__PLUGINS_DIR__/\/var\/lib\/koha\/$name\/plugins/g" \ @@ -405,6 +408,8 @@ DEFAULT_MEMCACHED_PREFIX="koha_" UPLOAD_PATH_BASE="/var/lib/koha" UPLOAD_DIR="uploads" UPLOAD_PATH="" +# cache base dir +CACHE_DIR_BASE="/var/cache/koha" # Generate a randomizaed API secret API_SECRET="$(pwgen -s 64 1)" # SRU server variables @@ -433,7 +438,7 @@ fi [ $# -ge 1 ] && [ $# -le 16 ] || ( usage ; die "Error: wrong parameters" ) -TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,use-memcached,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,adminuser:,memcached-servers:,memcached-prefix:,upload-path:,letsencrypt, \ +TEMP=`getopt -o chrpm:l:d:f:b:a: -l create-db,request-db,populate-db,use-db,use-memcached,enable-sru,sru-port:,help,marcflavor:,auth-idx:,biblio-idx:,zebralang:,defaultsql:,configfile:,passwdfile:,dbhost:,database:,adminuser:,memcached-servers:,memcached-prefix:,template-cache-dir:,upload-path:,letsencrypt, \ -n "$0" -- "$@"` # Note the quotes around `$TEMP': they are essential! @@ -450,6 +455,7 @@ CLO_MEMCACHED_SERVERS="" CLO_MEMCACHED_PREFIX="" CLO_UPLOAD_PATH="" CLO_LETSENCRYPT="" +CLO_TEMPLATE_CACHE_DIR="" while true ; do case "$1" in @@ -491,6 +497,8 @@ while true ; do ENABLE_SRU="yes" ; shift ;; --sru-port) SRU_SERVER_PORT="$2" ; shift 2 ;; + --template-cache-dir) + CLO_TEMPLATE_CACHE_DIR="$2" ; shift 2 ;; --upload-path) CLO_UPLOAD_PATH="$2" ; shift 2 ;; --letsencrypt) @@ -592,6 +600,13 @@ else MEMCACHED_PREFIX="" fi +# Set template cache dir +if [ "$CLO_TEMPLATE_CACHE_DIR" != "" ]; then + TEMPLATE_CACHE_DIR="$CLO_TEMPLATE_CACHE_DIR" +else + TEMPLATE_CACHE_DIR="$CACHE_DIR_BASE/$name/templates" +fi + # Are we root? If not, the mod_rewrite check will fail and be confusing, so # we look into this first. if [[ $UID -ne 0 ]] @@ -727,7 +742,6 @@ eof generate_config_file zebra.passwd.in \ "/etc/koha/sites/$name/zebra.passwd" - # Create a GPG-encrypted file for requesting a DB to be set up. if [ "$op" = request ] then --- a/debian/scripts/koha-create-dirs +++ a/debian/scripts/koha-create-dirs @@ -40,6 +40,8 @@ for name in "$@" do rootdir "/var/spool/koha/$name" userdir "$name" "/etc/koha/sites/$name" + userdir "$name" "/var/cache/koha/$name" + userdir "$name" "/var/cache/koha/$name/templates" userdir "$name" "/var/lib/koha/$name" userdir "$name" "/var/lib/koha/$name/authorities" userdir "$name" "/var/lib/koha/$name/authorities/key" --- a/debian/scripts/koha-remove +++ a/debian/scripts/koha-remove @@ -125,6 +125,8 @@ eof rm -r "/var/lock/koha/$name" [ -d "/var/log/koha/$name" ] && \ rm -r "/var/log/koha/$name" + [ -d "/var/cache/koha/$name" ] && \ + rm -r "/var/cache/koha/$name" [ -d "/var/run/koha/$name" ] && \ rm -r "/var/run/koha/$name" [ "$purgeall" = "1" ] && [ -d "/var/lib/koha/$name" ] && \ --- a/debian/templates/koha-conf-site.xml.in +++ a/debian/templates/koha-conf-site.xml.in @@ -291,10 +291,7 @@ __END_SRU_PUBLICSERVER__ __MEMCACHED_SERVERS__ __MEMCACHED_NAMESPACE__ - + __TEMPLATE_CACHE_DIR__ __API_SECRET__ --