[Bug 28364] New: koha-z3950-responder breaks because of log4perl.conf permissions
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Bug ID: 28364 Summary: koha-z3950-responder breaks because of log4perl.conf permissions Change sponsored?: --- Product: Koha Version: master Hardware: All OS: All Status: NEW Severity: normal Priority: P5 - low Component: Packaging Assignee: koha-bugs@lists.koha-community.org Reporter: tomascohen@gmail.com QA Contact: testopia@bugs.koha-community.org CC: mtj@kohaaloha.com To reproduce: 1. Create a Koha instance: $ koha-create --create-db test 2. Initiate all the things 3. Enable and start the z3950 responder $ koha-z3950-responder --enable test $ koha-z3950-responder --start test 4. Try doing some search: $ yaz-client localhost:2100 => FAIL: you get: Connecting...OK. Sent initrequest. Target closed connection Z> quit See you later, alligator. => FAIL: No warning or anything on the logs 5. Stop the daemon $ koha-z3950-responder --stop test 6. Run it manually: $ PERL5LIB=/usr/share/koha/lib KOHA_CONF=/etc/koha/sites/test/koha-conf.xml /usr/bin/perl /usr/share/koha/bin/z3950_responder.pl -c /etc/koha/sites/test/z3950 -u test-koha -p /var/run/koha/test/z3950-responder.pid -d test-koha-z3950 7. Repeat the 4, on a separate terminal (no daemon mode this time) => FAIL: You get: Cannot open /etc/koha/sites/test/log4perl.conf (Permission denied) at /usr/share/perl5/Log/Log4perl/Config/BaseConfigurator.pm line 51. -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Tomás Cohen Arazi <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|koha-bugs@lists.koha-commun |tomascohen@gmail.com |ity.org | Status|NEW |ASSIGNED -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 --- Comment #1 from Tomás Cohen Arazi <tomascohen@gmail.com> --- Created attachment 121056 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=121056&action=edit Bug 28364: Make log4perl.conf belong to the instance user This patch makes koha-create generate the log4perl.conf file for the instance, belonging to the instance user. This is done in order to have the z3950 responder work. My original idea was to make the responder accept a '-g' parameter but that is not supported by Net::Z3950::Responder. Also, as the library insists on handling the PID file on its own, it wont' work to handle the responsability to start-stop-daemon. The only solution I found was making the fiel be owned by the instance user. 1. Create a Koha instance: $ koha-create --create-db test 2. Initiate all the things 3. Enable and start the z3950 responder $ koha-z3950-responder --enable test $ koha-z3950-responder --start test 4. Try doing some search: $ yaz-client localhost:2100 => FAIL: you get: Connecting...OK. Sent initrequest. Target closed connection Z> quit See you later, alligator. => FAIL: No warning or anything on the logs 5. Stop the daemon $ koha-z3950-responder --stop test 6. Run it manually: $ PERL5LIB=/usr/share/koha/lib KOHA_CONF=/etc/koha/sites/test/koha-conf.xml \ /usr/bin/perl /usr/share/koha/bin/z3950_responder.pl \ -c /etc/koha/sites/test/z3950 -u test-koha \ -p /var/run/koha/test/z3950-responder.pid -d test-koha-z3950 7. Repeat the 4, on a separate terminal (no daemon mode this time) => FAIL: You get: Cannot open /etc/koha/sites/test/log4perl.conf (Permission denied) at /usr/share/perl5/Log/Log4perl/Config/BaseConfigurator.pm line 51. 8. Change the file owner: $ chown test-koha /etc/koha/sites/test/log4perl.conf 9. Repeat 6, and 4 => SUCCESS: It doesn't break anymore! 10. Apply this patch 11. Create a new instance, with the patched koha-create: $ debian/scripts/koha-create --created-db test1 12: Check the generated files permissions: $ ls -l /etc/koha/sites/test2 => SUCCESS: You get: -rw-r----- 1 root test2-koha 19720 May 17 13:26 koha-conf.xml -rw-r----- 1 test2-koha test2-koha 2825 May 17 13:26 log4perl.conf -rw-r----- 1 root test2-koha 2014 May 17 13:26 zebra-authorities-dom.cfg -rw-r----- 1 root test2-koha 2279 May 17 13:26 zebra-biblios-dom.cfg -rw-r----- 1 root test2-koha 26 May 17 13:26 zebra.passwd 13. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Tomás Cohen Arazi <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |13937 CC| |ere.maijala@helsinki.fi, | |martin.renvoize@ptfs-europe | |.com, | |nick@bywatersolutions.com Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=13937 [Bug 13937] Add an Elasticsearch-compatible Z39.50/SRU daemon -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Tomás Cohen Arazi <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |Needs Signoff -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Tomás Cohen Arazi <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jonathan.druart+koha@gmail. | |com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Ere Maijala <ere.maijala@helsinki.fi> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Signoff |Signed Off -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Ere Maijala <ere.maijala@helsinki.fi> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #121056|0 |1 is obsolete| | --- Comment #2 from Ere Maijala <ere.maijala@helsinki.fi> --- Created attachment 121081 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=121081&action=edit Bug 28364: Make log4perl.conf belong to the instance user This patch makes koha-create generate the log4perl.conf file for the instance, belonging to the instance user. This is done in order to have the z3950 responder work. My original idea was to make the responder accept a '-g' parameter but that is not supported by Net::Z3950::Responder. Also, as the library insists on handling the PID file on its own, it wont' work to handle the responsability to start-stop-daemon. The only solution I found was making the fiel be owned by the instance user. 1. Create a Koha instance: $ koha-create --create-db test 2. Initiate all the things 3. Enable and start the z3950 responder $ koha-z3950-responder --enable test $ koha-z3950-responder --start test 4. Try doing some search: $ yaz-client localhost:2100 => FAIL: you get: Connecting...OK. Sent initrequest. Target closed connection Z> quit See you later, alligator. => FAIL: No warning or anything on the logs 5. Stop the daemon $ koha-z3950-responder --stop test 6. Run it manually: $ PERL5LIB=/usr/share/koha/lib KOHA_CONF=/etc/koha/sites/test/koha-conf.xml \ /usr/bin/perl /usr/share/koha/bin/z3950_responder.pl \ -c /etc/koha/sites/test/z3950 -u test-koha \ -p /var/run/koha/test/z3950-responder.pid -d test-koha-z3950 7. Repeat the 4, on a separate terminal (no daemon mode this time) => FAIL: You get: Cannot open /etc/koha/sites/test/log4perl.conf (Permission denied) at /usr/share/perl5/Log/Log4perl/Config/BaseConfigurator.pm line 51. 8. Change the file owner: $ chown test-koha /etc/koha/sites/test/log4perl.conf 9. Repeat 6, and 4 => SUCCESS: It doesn't break anymore! 10. Apply this patch 11. Create a new instance, with the patched koha-create: $ debian/scripts/koha-create --create-db test1 12: Check the generated files permissions: $ ls -l /etc/koha/sites/test2 => SUCCESS: You get: -rw-r----- 1 root test2-koha 19720 May 17 13:26 koha-conf.xml -rw-r----- 1 test2-koha test2-koha 2825 May 17 13:26 log4perl.conf -rw-r----- 1 root test2-koha 2014 May 17 13:26 zebra-authorities-dom.cfg -rw-r----- 1 root test2-koha 2279 May 17 13:26 zebra-biblios-dom.cfg -rw-r----- 1 root test2-koha 26 May 17 13:26 zebra.passwd 13. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #121081|0 |1 is obsolete| | --- Comment #3 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- Created attachment 121444 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=121444&action=edit Bug 28364: Make log4perl.conf belong to the instance user This patch makes koha-create generate the log4perl.conf file for the instance, belonging to the instance user. This is done in order to have the z3950 responder work. My original idea was to make the responder accept a '-g' parameter but that is not supported by Net::Z3950::Responder. Also, as the library insists on handling the PID file on its own, it wont' work to handle the responsability to start-stop-daemon. The only solution I found was making the fiel be owned by the instance user. 1. Create a Koha instance: $ koha-create --create-db test 2. Initiate all the things 3. Enable and start the z3950 responder $ koha-z3950-responder --enable test $ koha-z3950-responder --start test 4. Try doing some search: $ yaz-client localhost:2100 => FAIL: you get: Connecting...OK. Sent initrequest. Target closed connection Z> quit See you later, alligator. => FAIL: No warning or anything on the logs 5. Stop the daemon $ koha-z3950-responder --stop test 6. Run it manually: $ PERL5LIB=/usr/share/koha/lib KOHA_CONF=/etc/koha/sites/test/koha-conf.xml \ /usr/bin/perl /usr/share/koha/bin/z3950_responder.pl \ -c /etc/koha/sites/test/z3950 -u test-koha \ -p /var/run/koha/test/z3950-responder.pid -d test-koha-z3950 7. Repeat the 4, on a separate terminal (no daemon mode this time) => FAIL: You get: Cannot open /etc/koha/sites/test/log4perl.conf (Permission denied) at /usr/share/perl5/Log/Log4perl/Config/BaseConfigurator.pm line 51. 8. Change the file owner: $ chown test-koha /etc/koha/sites/test/log4perl.conf 9. Repeat 6, and 4 => SUCCESS: It doesn't break anymore! 10. Apply this patch 11. Create a new instance, with the patched koha-create: $ debian/scripts/koha-create --create-db test1 12: Check the generated files permissions: $ ls -l /etc/koha/sites/test2 => SUCCESS: You get: -rw-r----- 1 root test2-koha 19720 May 17 13:26 koha-conf.xml -rw-r----- 1 test2-koha test2-koha 2825 May 17 13:26 log4perl.conf -rw-r----- 1 root test2-koha 2014 May 17 13:26 zebra-authorities-dom.cfg -rw-r----- 1 root test2-koha 2279 May 17 13:26 zebra-biblios-dom.cfg -rw-r----- 1 root test2-koha 26 May 17 13:26 zebra.passwd 13. Sign off :-D Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Ere Maijala <ere.maijala@helsinki.fi> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Passed QA --- Comment #4 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- All works as expected now, thanks. Passing QA -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Jonathan Druart <jonathan.druart+koha@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |major Keywords| |rel_21_05_candidate -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 --- Comment #5 from Jonathan Druart <jonathan.druart+koha@gmail.com> --- This has been hidden because of a chown in misc4dev, maybe we should revert it. https://gitlab.com/koha-community/koha-misc4dev/-/issues/43 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Jonathan Druart <jonathan.druart+koha@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Passed QA |Pushed to master Version(s)| |21.05.00 released in| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 --- Comment #6 from Jonathan Druart <jonathan.druart+koha@gmail.com> --- Pushed to master for 21.05, thanks to everybody involved! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Jonathan Druart <jonathan.druart+koha@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|rel_21_05_candidate | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 David Cook <dcook@prosentient.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dcook@prosentient.com.au -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Fridolin Somers <fridolin.somers@biblibre.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version(s)|21.05.00 |21.05.00,20.11.07 released in| | CC| |fridolin.somers@biblibre.co | |m Status|Pushed to master |Pushed to stable --- Comment #7 from Fridolin Somers <fridolin.somers@biblibre.com> --- Pushed to 20.11.x for 20.11.07 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Victor Grousset/tuxayo <victor@tuxayo.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Pushed to stable |Pushed to oldstable CC| |victor@tuxayo.net -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 Victor Grousset/tuxayo <victor@tuxayo.net> changed: What |Removed |Added ---------------------------------------------------------------------------- Version(s)|21.05.00,20.11.07 |21.05.00,20.11.07,20.05.13 released in| | Status|Pushed to oldstable |Pushed to oldoldstable --- Comment #8 from Victor Grousset/tuxayo <victor@tuxayo.net> --- Backported: Pushed to 20.05.x branch for 20.05.13 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 wainuiwitikapark@catalyst.net.nz changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wainuiwitikapark@catalyst.n | |et.nz --- Comment #9 from wainuiwitikapark@catalyst.net.nz --- Does this need to backported to 19.11.x? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 wainuiwitikapark@catalyst.net.nz changed: What |Removed |Added ---------------------------------------------------------------------------- Version(s)|21.05.00,20.11.07,20.05.13 |21.05.00,20.11.07,20.05.13, released in| |19.11.19 Status|Pushed to oldoldstable |RESOLVED Resolution|--- |FIXED -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 --- Comment #10 from wainuiwitikapark@catalyst.net.nz --- Backported to 19.11.x for 19.11.19 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 --- Comment #11 from David Cook <dcook@prosentient.com.au> --- This was driving me absolutely crazy this morning. Note that this still affects any upgraded Koha. I was trying to use koha-z3950-responder for a current Koha that has been upgraded many times, and yeah... very very frustrating. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 David Cook <dcook@prosentient.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |31612 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=31612 [Bug 31612] koha-z3950-responder breaks if it's run in a Koha that was created before bug 28364 was applied -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 David Cook <dcook@prosentient.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.koha-community | |.org/bugzilla3/show_bug.cgi | |?id=31613 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 --- Comment #12 from Victor Grousset/tuxayo <victor@tuxayo.net> --- So what to run to manually fix existing instances? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=28364 --- Comment #13 from David Cook <dcook@prosentient.com.au> --- (In reply to Victor Grousset/tuxayo from comment #12)
So what to run to manually fix existing instances?
Well manually you can just change the permission using chown based on which Koha user should own it. -- Automatically... I've opened Bug 31612 for that one, although I probably won't provide a patch... I'd say some kind of audit script that checks the permissions of files and then updates them based on their location. For example, if it's in /etc/koha/sites/kohadev/* then it updates owner to kohadev-koha. Lots of different ways to do it which means folk might disagree on how to do it... -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org