From f93adcc356739a7d09239a19289605e2f058407c Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Mon, 25 Jul 2016 15:08:00 -0300 Subject: [PATCH] Bug 16974: Make koha-plack should check and fix log files permissions MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This patch adds a function to the koha-plack script so it checks for log file existence and its permissions. This function is called from the start_plack function. If some of this conditions are not fulfilled, it solves the situation by either touching and/or changing the permissions accordingly for the instances' plack log files. To test: - Run (on kohadevbox): $ cd kohaclone $ debian/scripts/koha-plack --start kohadev $ debian/scripts/koha-plack --stop kohadev $ ls /var/log/koha/kohadev/plack* - Verify ownership of the created files (they might belong to the root user) - Apply the patch - Run: $ chown root:root /var/log/koha/kohadev/plack* $ debian/scripts/koha-plack --start kohadev $ ls /var/log/koha/kohadev/plack* => SUCCESS: Files belong to kohadev-koha:kohadev-koha - Run: $ debian/scripts/koha-plack --stop kohadev $ rm /var/log/koha/kohadev/plack* $ debian/scripts/koha-plack --start kohadev $ ls /var/log/koha/kohadev/plack* => SUCCESS: Files are created and belong to kohadev-koha:kohadev-koha - Sign off :-D Signed-off-by: Mirko Tietgen Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall (cherry picked from commit 007d2feee6b2fec92f2d6518a3e84de0f6476b3d) Signed-off-by: Frédéric Demians (cherry picked from commit ba5ac05a140f62c6bb8383049bcfeba5c96a7de5) Signed-off-by: Julian Maurice --- debian/scripts/koha-plack | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/debian/scripts/koha-plack b/debian/scripts/koha-plack index c0da9d156e..ed0f42103d 100755 --- a/debian/scripts/koha-plack +++ b/debian/scripts/koha-plack @@ -72,6 +72,8 @@ start_plack() PSGIFILE="/etc/koha/sites/${instancename}/plack.psgi" fi # else stick with the default one + _check_and_fix_perms $instancename + STARMANOPTS="-M FindBin --max-requests 50 --workers 2 \ --user=${instancename}-koha --group ${instancename}-koha \ --pid ${PIDFILE} \ @@ -204,6 +206,22 @@ EOM fi } +_check_and_fix_perms() +{ + local instance=$1 + + local files="/var/log/koha/${instance}/plack.log \ + /var/log/koha/${instance}/plack-error.log" + + for file in ${files} + do + if [ ! -e "${file}" ]; then + touch ${file} + fi + chown "${instance}-koha":"${instance}-koha" ${file} + done +} + set_action() { if [ "$op" = "" ]; then -- 2.39.5