Koha/debian/scripts/koha-disable
Liz Rea 2973e20c1f Bug 12856: koha-disable fails without disabling site
To test:
Package up a branch with this patch
install that package
create a site - sudo koha-create --create-db testdisable
enable a site - sudo koha-enable testdisable
check it's enabled - sudo koha-list --enabled
* it should show up
disable a site - sudo koha-disable testdisable
Do this for both debian squeeze/wheezy and ubuntu 12.04 and 14.04, if you can. I'd like to see a sign off from a debian (sq/wh)eez(e/y) or ubuntu 12 user, because I could only test reliably on ubuntu 14.04.
* make sure apache restarts and no errors are produced
check it's disabled - sudo koha-list --enabled
* it should not show up
check the site is still there - sudo koha-list
* it should still be there
check that the config file has the Include for disabling uncommented
* the line Include /etc/koha/apache-shared-disable.conf should not have a # in front.
Re-enable the site - sudo koha-enable testdisable
* the line Include /etc/koha/apache-shared-disable.conf should have a # in front.

And the final question - does the site work? All other functions unchanged?

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected. code reads better too.
Edit: I added a missing space in one line.
2014-11-27 11:42:03 -03:00

80 lines
2 KiB
Bash
Executable file

#!/bin/sh
#
# koha-disable - disable Koha instances.
# Copyright 2010 Catalyst IT, Ltd
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
set -e
# include helper functions
if [ -f "/usr/share/koha/bin/koha-functions.sh" ]; then
. "/usr/share/koha/bin/koha-functions.sh"
else
echo "Error: /usr/share/koha/bin/koha-functions.sh not present." 1>&2
exit 1
fi
disable_instance()
{
local instancename=$1
local instancefile=$(get_apache_config_for "$instancename")
if [ "$instancefile" = "" ]; then
echo 2
elif is_enabled $instancename; then
sed -i 's:^\s*#\(\s*Include /etc/koha/apache-shared-disable.conf\)$:\1:' "$instancefile"
echo 0
else
echo 1
fi
}
usage()
{
local scriptname=$0
cat <<EOF
Disables Koha instances.
Usage: $scriptname instancename1 instancename2...
EOF
}
# Parse command line.
[ $# -ge 1 ] || ( usage ; die "Missing instance name..." )
restart_apache="no"
for name in "$@"
do
if is_instance $name ; then
RET=$(disable_instance $name)
if [ "$RET" = 0 ]; then
restart_apache="yes"
elif [ "$RET" = 2 ]; then
warn "Error: Apache configuration file not present for instance $name."
else
warn "Warning: instance $name already disabled."
fi
else
warn "Unknown instance $name."
fi
done
if [ "$restart_apache" = "yes" ]; then
/etc/init.d/apache2 restart
fi
exit 0