@@ -, +, @@ definition files use the sufix '.conf' - Install the 'koha-common' package on Debian 7 or Ubuntu 13.10+ (both known to include Apache 2.4). - Create an instance (for example testlibrary) using the supplied commands: $ koha-create --create-db testlibrary +FAIL: apache reports an error like this: -- The hard way -- - Apply the patch, and build the koha-common package on top of this commit. - Install the built package on an Apache 2.4 Debian-based distro (Debian 7 or Ubuntu 13.10 will work) - Create a test instance: $ koha-create --create-db testlibrary +SUCCESS: no more apache sites related error. -- The easy way -- - Apply the patch, and copy the koha-create into an Apache 2.4 Debian-based distro - Create a test instance using the koha-create script you just copied: $ ./koha-create --create-db testlibrary +SUCCESS: no more apache sites related error. $ a2enmod access_compat --- debian/scripts/koha-create | 62 ++++++++++++++++++++++++++++--------- debian/scripts/koha-disable | 6 ++-- debian/scripts/koha-dump | 5 +-- debian/scripts/koha-enable | 6 ++-- debian/scripts/koha-list | 3 +- debian/scripts/koha-remove | 7 +++-- debian/scripts/koha-restart-zebra | 3 +- debian/scripts/koha-start-zebra | 3 +- debian/scripts/koha-stop-zebra | 3 +- 9 files changed, 72 insertions(+), 26 deletions(-) --- a/debian/scripts/koha-create +++ a/debian/scripts/koha-create @@ -123,6 +123,50 @@ getinstancemysqldatabase() { xmlstarlet sel -t -v 'yazgfs/config/database' "/etc/koha/sites/$1/koha-conf.xml" } +check_apache_config() +{ + + # Check that mpm_itk is installed and enabled + if ! /usr/sbin/apachectl -M 2> /dev/null | grep -q 'mpm_itk'; then + # Check Apache version + APACHE_DISABLE_MPM_MSG="" + if /usr/sbin/apache2ctl -v | grep -q "Server version: Apache/2.4"; then + # mpm_event or mpm_worker need to be disabled first. mpm_itk depends + # on mpm_prefork, which is enabled if needed. See + # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734865 + if /usr/sbin/apachectl -M 2> /dev/null | grep -q 'mpm_event'; then + APACHE_DISABLE_MPM_MSG=" sudo a2dismod mpm_event ;" + elif /usr/sbin/apachectl -M 2> /dev/null | grep -q 'mpm_worker'; then + APACHE_DISABLE_MPM_MSG=" sudo a2dismod mpm_worker ;" + # else mpm_prefork: a2enmod mpm_itk works + fi + # else Apache 2.2: a2enmod mpm_itk works + fi + + cat 1>&2 < /dev/null | grep -q 'rewrite_module'; then + cat 1>&2 < /dev/null | grep -q 'rewrite_module' -then - cat 1>&2 < /dev/null + "$instancefile" > /dev/null then return 1 else --- a/debian/scripts/koha-remove +++ a/debian/scripts/koha-remove @@ -68,8 +68,11 @@ eof # If the daemon is not running already, we don't want to fail this loop. So bin the result code if this fails. koha-stop-zebra $name || /bin/true - [ -f "/etc/apache2/sites-available/$name" ] && \ - rm "/etc/apache2/sites-available/$name" + + instancefile="$name.conf" + + [ -f "/etc/apache2/sites-available/$instancefile" ] && \ + rm "/etc/apache2/sites-available/$instancefile" [ -f "/etc/koha/sites/$name/koha-conf.xml" ] && \ rm "/etc/koha/sites/$name/koha-conf.xml" [ -f "/etc/koha/sites/$name/zebra-biblios.cfg" ] && \ --- a/debian/scripts/koha-restart-zebra +++ a/debian/scripts/koha-restart-zebra @@ -32,13 +32,14 @@ warn() is_enabled() { local instancename=$1 + local instancefile="/etc/apache2/sites-available/$instancename.conf" if ! is_instance $instancename; then return 1 fi if grep -q '^[[:space:]]*Include /etc/koha/apache-shared-disable.conf' \ - "/etc/apache2/sites-available/$instancename" ; then + "$instancefile" ; then return 1 else return 0 --- a/debian/scripts/koha-start-zebra +++ a/debian/scripts/koha-start-zebra @@ -32,13 +32,14 @@ warn() is_enabled() { local instancename=$1 + local instancefile="/etc/apache2/sites-available/$instancename.conf" if ! is_instance $instancename; then return 1 fi if grep -q '^[[:space:]]*Include /etc/koha/apache-shared-disable.conf' \ - "/etc/apache2/sites-available/$instancename" ; then + "$instancefile" ; then return 1 else return 0 --- a/debian/scripts/koha-stop-zebra +++ a/debian/scripts/koha-stop-zebra @@ -32,13 +32,14 @@ warn() is_enabled() { local instancename=$1 + local instancefile="/etc/apache2/sites-available/$instancename.conf" if ! is_instance $instancename; then return 1 fi if grep -q '^[[:space:]]*Include /etc/koha/apache-shared-disable.conf' \ - "/etc/apache2/sites-available/$instancename" ; then + "$instancefile" ; then return 1 else return 0 --