Commit graph

91 commits

Author SHA1 Message Date
Magnus Enger
25c932967f Bug 10782 - Add a koha-mysqlcheck script
This patch adds the koha-mysqlcheck script, as a "frontend" for
the mysqlcheck command. It can be used to check the integrity of
database tables, as well as to repair them. See "man mysqlcheck"
for more information.

The script takes a Koha instance name as its only required
parameter. Any other parameters provided before the instance
name are passed directly to mysqlcheck, which means that all
the functionality of mysqlcheck is available through this script.

To test the script:
- Apply the patch, build your own packages and install them, or
- copy koha-mysqlcheck to a server already running off packages

- Run some variations of the command, with and without arguments,
  and check that the output makes sense. E.g.:
    sudo koha-mysqlcheck myinstance
    sudo koha-mysqlcheck -e myinstance # Extended checks
    sudo koha-mysqlcheck -e -v myinstance # Extended checks and verbose
- See "man mysqlcheck" for other relevant options

To test the man page:
- Run these commands and look at the formatted man page:
    $ xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
      debian/docs/koha-mysqlcheck.xml
    $ man -l koha-mysqlcheck.8
- Make sure this test passes:
    $ prove -v xt/verify-debian-docbook.t

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-04-23 12:30:06 +00:00
692c4f03b5 Bug 11509: (trivial rmaint followup) wrong parameter count
While adding the --help and -h switches I forgot to change to arguments
count validation so that one can actually use those parameters (i.e.
koha-create should accept being invoked with only one parameter).

This patch just changes the minimum parateres required from 2 to 1.

To reproduce:
- Run 'koha-create --help' from master
=> Usage information is printed BUT ALSO an "Error: wrong parameters"
   message
- Apply the patch and
- Run 'koha-create --help'
=> Usage informatio it printed and no error message.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-02-10 15:19:52 +00:00
6aa0218968 Bug 11655: koha-translate --list no longer shows 'en'
'en' is not a translation and it doesn't make any sense to return it as
part of the installed translations or the available ones.

It becomes relevant to remove it as users upgrading their installed
translations end up grepping the output to remove 'en' like in:

for lang in $(koha-translate --list | grep -v -x -e 'en') ; do
  koha-translate --update $lang
done

instead of simply issuing the koha-translate --list command.

To test:
- Run
  ./koha-translate --list
  ./koha-translate --list --available
=> It shouldn't return 'en' in the result list.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-02-04 17:36:39 +00:00
cfc3ce6772 Bug 10896: Add a --verbose option to koha-translate
The -v and --verbose option switches add the --verbose switch to the
misc/translator/translate script call in the packages' 'koha-translate'
command.

The docs are updated accordingly.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Works as expected with and without -v. Man page looks good.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-01-13 20:57:04 +00:00
Galen Charlton
b7b1db5c81 Bug 11509: (follow-up) fix a couple typos
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-01-13 20:54:37 +00:00
0d28ab4988 Bug 11509: improve usage information printed by koha-create
This patch makes koha-create print better and more descriptive usage
information. Also adds the --help and -h switches.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Removed trailing " from:
  $scriptname [db usage mode] [options] instancename"

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-01-13 20:52:10 +00:00
83ab4edc5a Bug 11510: koha-translate usage message fixes
The koha-translate's usage message has a couple of inconsistencies:

'--all' should be '--available'
and '--help' is missing from the usage examples.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, tested using instructions on
http://wiki.koha-community.org/wiki/Testing_man_pages

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-01-13 20:50:00 +00:00
Robin Sheat
e4387c1de9 Bug 10646 - warn if mod_rewrite is not enabled
Koha requires mod_rewrite. If it's not enabled in Apache, then
koha-create will now abort with a helpful error message. Also adds a
warning when not run as root to avoid confusing errors.

Test plan:
 * apply the patch
 * a2dismod rewrite
 * run koha-create without sudo, note the error about being root
 * run koha-create with sudo, note the error about rewrite
 * a2enmod rewrute
 * repeat test above, note that it works

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-01-10 15:45:38 +00:00
Robin Sheat
266f2a3a9f Bug 10735: prevent koha-dump from aborting if backupdir undefined
Older versions of Koha didn't have <backupdir>...</backupdir> defined in
koha-conf.xml. The koha-dump script is aware of this, and checks to see
if it's there. However, if it's not, xmlstarlet returns a non-0 error
code which causes the script to abort due to running under set -e.

Test plan:
 * Remove backupdir from koha-conf.xml
 * Run koha-dump, notice that it doesn't do backups
 * Apply patch
 * Run koha-dump again, notice that it does do backups

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
The fallback method works as described. It might be made more robust
like checking for dir existence (thinking of older instances upgrades).
But it certainly belongs to another bug report.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
As Tomas said, it would be better to alert the user if the backupdir tag
does not exist (or contains a nonexistent directory) in the config file.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-12-23 15:55:03 +00:00
Dobrica Pavlinusic
180faa9260 Bug 10670: ensure koha-start-zebra sets problem permissions for logs
If koha-common is started when Zebra log files are owned by root
it will fail to start without any useful message (since Zebra can't
write errors in log files because it lacks permissions to do so).

This patch creates empty log files and ensure they have correct
permissions.

I can't pin-point why log files gets owned root, but I suspect it
has something to do with Zebra crashing and logrotate, but this is
just theory. We have seen this behaviour since koha 3.1 every
few months, and every time it happends we have root owned logs and
crashed Zebra so this patch will at least help sites which have
some kind of automatic koha-common start if it's not running.

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-11-14 23:53:10 +00:00
fb1748ee8b Bug 10733: Follow up - unset variables from koha-sites.conf if USE_MEMCACHED=no
As configuration variables from koha-sites.conf overwrite the ones in the
koha-create script we need to unset them in case we have USE_MEMCACHED="no".

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-10-30 03:30:14 +00:00
c6f091cc23 Bug 10733: Memcached on package installs
This patch makes the koha-create script adjust the koha-conf.xml file
with the proper string substitutions to enable the use of memcached
for the created Koha instance.

It adds three option switches that control this:

 --use-memcached (defaults to "no")
 --memcached-servers "host1:port1,..." (defaults to '127.0.0.1:11211')
 --memcached-prefix "desired_namespace prefix" (defaults to 'koha_')

It respects the current schema configuration schema, where configuration
values are pondered like this:

hardcoded < koha-sites.conf < koha-create option switches

koha-sites.conf is read for USE_MEMCACHED, MEMCACHED_SERVERS and
MEMCACHED_PREFIX.

Note: the docs discourage setting user's own namespace prefix.

Using memcached is off as the default. The relevant configuration
variables will remain empty if the user doesn't pass --use-memcached
to the command. It matches the current behaviour.

To test:
- Apply the patch
- Build your own packages and install them on a test server
a) Create a new instance without using the new switches like:
 $ koha-create --create-db memctest
 - Check that /etc/koha/sites/memctest/koha-conf.xml contains:
   * Empty <memcached_servers> tag.
   * Empty <memcached_namespace> tag.

b) Play with the possible combination of option switches
(Note that the code defaults to empty and will remain like that if
--use-memcached is not used, so less tests...)

 $ koha-create --create-db --use-memcached memctest
 $ koha-create --create-db --use-memcached --memcached-servers "anything:xxx" memctest
 $ koha-create --create-db --use-memcached --memcached-servers "anything:xxx" --memcached-prefix "something" memctest
 $ koha-create --create-db --use-memcached --memcached-prefix "something" memctest

 - Check the koha-conf.xml and /etc/apache2/sites-enabled/memctest
   file reflect the chosen options.

c) Run
 $ koha-create --help
 - It should advertise this addition accordingly.

d) Run
 $ man koha-create
 - Man page for koha-create should provide good information on the new
   switches behaviour

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-10-30 03:27:51 +00:00
Galen Charlton
67ad9d28f5 Bug 10622: (follow-up) uppercase "SIP" in documentation and help text
"SIP" is an acronym and should be capitalized.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-09-21 17:47:54 +00:00
9f6e739ce0 Bug 10622: add --sip and --nosip switches to koha-list
Just added those switches.

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Magnus Enger <magnus@enger.priv.no>

I applied the patch on my local dev install, and then copied the
patched koha-list script to a couple of servers with actual
instances running off the packages, to test the script.
- It seems that the -h switch did not work before this patch, now
  both -h and --help works nicely
- --sip and --nosip work as expected, also in combination with
  --email and --noemail

The patch does not add --sip and --nosip to the man page for
koha-list, but I will do a followup for that.

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-09-21 17:45:15 +00:00
aba3db2628 Bug 8507: koha-create now supports using DOM indexing for bibs
This patch makes the koha-create script install the file zebra-biblios-dom.cfg
with the proper string substitutions inside on the new instance koha-conf.xml file.

It also adds two option switches that control the indexing mode for the instance:

 --biblio-idx {dom|grs1}
 --auth-idx {dom|grs1}

DOM indexing is set as the default for both authorities and bibliographic records.

Following drojf (thanks!) advice I arranged stuff like explained here:

  http://wiki.koha-community.org/wiki/Switching_to_dom_indexing

To test:
- Apply the patch
- Build your own packages and install them on a test server
a) Create a new instance without using the new switches like:
 $ koha-create --create-db domtest
 - Check there's a file /etc/koha/sites/domtest/zebra-biblios-dom.cfg
 - Check that /etc/koha/sites/domtest/koha-conf.xml points to:
   * zebra-biblios-dom.cfg (biblioserver section)
   * zebra-biblios-dom.cfg (publicserver section)
   * zebra-authorities-dom.cfg (authorityserver section)
 - Success means the new default is DOM
b) Play with the 4 possible combination of option switches
 $ koha-create --create-db --auth-idx grs1 --biblio-idx grs1 domtest
 $ koha-create --create-db --auth-idx grs1 --biblio-idx dom domtest
 $ koha-create --create-db --auth-idx dom --biblio-idx grs1 domtest
 $ koha-create --create-db --auth-idx dom --biblio-idx dom domtest
 - Check the koha-conf.xml file reflects the chosen options.
c) Run
 $ koha-create --help
 - It should advertise this addition accordingly.
d) Run
 $ man koha-create
 - Man page for koha-create should provide good information on the new switches behaviour

Sponsored-by: Universidad Nacional de Cordoba
Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-08-13 14:25:53 +00:00
782e3251c0 Bug 10447: add 'ru' and 'uk' to Zebra indexing language list
This patch add the option to choose 'ru' and 'uk' during install for Zebra.
Should work for a tarball install, and make 'ru' and 'uk' available for using
with koha-create too.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Reran Makefile.pl and made sure the language options show up now.
Patch extends existing language code lists addings nb, ru and uk
where missing.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-15 16:09:10 +00:00
343c93ea43 Bug 10431 - Spanish Zebra character sorting file
This patch provides a definition file for Spanish (es) character
sorting in Zebra. It is based on the ideas from Hugo Agud <hagud@orex.es>
and Pablo Bianchi <pablo.bianchi@gmail.com>.

Makefile.PL is fixed to notice the existence of the 'es' language. The
docs for koha-create are touched too.

To test:
Tarball
=======
- Go through the install process, choosing 'es' for the Zebra's language step
- Koha should work as usual.
- Running this should show the lang definition is properly set.
$ grep -R "lang_defs/es" /etc/koha/*
(stuff like zebradb/zebra-biblios-dom.cfg:profilePath:...etc/koha/zebra/lang_defs/es... should show)
- This file should be present:
 /etc/koha/zebradb/lang_defs/es/sort-string-utf.chr

Packages
========
- Build your own package, it shouldn't break the packaging
- Try the new package, using koha-create to set an instance using --lang 'es'

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-05 06:55:49 -07:00
Robin Sheat
c31e553a72 Bug 10379: silence zebra rebuild cron when no instances are enabled
This adds a -q option to koha-rebuild-zebra that prevents it outputting
help if no instances are provided on the command line. This means that
if you've just installed the package, you won't get messages from cron
telling you how to use the script.

Test plan:
* install koha-common 3.12 or master onto a system with no enabled
  instances.
* note that you or the sysadmin will start getting emails every 5
  minutes.
* replace /etc/cron.d/koha-common and /usr/sbin/koha-rebuild-zebra with
  the versions from this patch.
* note that the emails stop flowing.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
"sudo koha-rebuild-zebra -q" gives no output, as expected.
Followed the test plan, all looks good.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-06-26 08:55:23 -07:00
061eb65926 Bug 9890: fix plugin handling by koha-create and koha-create-dirs
1) koha-create: fill in __PLUGINS_DIR__
2) koha-create-dirs: create the directory, set permissions (writeable by the koha user)

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-06-24 06:55:36 -07:00
f937d41dbf Bug 10259 - koha-*-zebra scripts are expected to run without warnings if no instance name passed
Commented out the code that checks for intance name parameters on the zebra service handling scripts.
It restores the original behaviour, while leaving error checking code.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-18 06:07:57 -04:00
de275ec128 Bug 10094 - koha-list should have a --disabled option switch
This patch adds that (--disabled) option switch, Also revisits some of the code and docs.

To test:
- Apply the patch and create new packages (you might just drop the koha-list command somewhere)
- Create several instances (koha-create)
- Randomly set some as disabled, others enabled and enable email on some.
- Test all possible option switches combinations

Expected results:
- koha-list should abort with a proper message if mutually exclusive options selected (--email vs. --noemail, --enabled vs. --disabled)
- koha-list should show the exact instances you asked for

Regards
To+

P.S.: I wanted to add the --disabled option switch for the tab-completion work I'm doing, but as of bug 4876 I thought it would be ok to revisit the script to make it robust and clear.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>

Does what it says, and cleans up the script at the same time.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-15 08:14:09 -04:00
898e178c6f Bug 10146 - koha-stop-zebra error handling
koha-stop-zebra now
- Checks the instance exists.
- Checks the instance is enabled.
- Checks if the zebra daemon is already running.

Regards
To+

Edit: Corrected the die message

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-15 08:13:31 -04:00
1126dd8bf3 Bug 10157 - koha-email-enable error handling
koha-email-enable now
- Checks the instance exists.
- Checks if email is already enabled.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-15 08:13:17 -04:00
39d3b9088a Bug 10159 - koha-rebuild-zebra error handling
This patch makes koha-rebuild-zebra:
- Check for the existence of the instance
- Handle arbitrary amount of instance parameters
- Capture -a and -b (which made the script rebuild twice the chosen DB). It adds the extended version (--authorities and --biblios respectively) of the option switch. This makes the -a and -b switches work as "only do authorities" (or viceversa). They can be used concurrently, which is the default behaviour when no switch is provided.
- Handle -v (and --verbose) as koha-rebuild-zebra options, to ease the use for non-techie users.
- The rebuild_zebra.pl is wrapped inside an IF to return error values if we ever make rebuild_zebra.pl return error codes (this is pointed in the code).
- Added -h/--help switches and an 'usage' output :-D Please provide patches for any wording issues, or contact me to fix it.

To test:
- Apply the patch and create your packages (or just use the script from your branch)
- Run it in this scenarios / options
  - -h/--help to see the available option switches
  - Mix them with one or more instances, of which some could be fake
  - try -a/--authorities and -b/--biblios in all possible combinations
  - try -v/--verbose works

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-15 08:13:03 -04:00
31b43ac1fe Bug 10150 - koha-email-disable error handling
koha-email-disable now
- Checks the instance exists.
- Checks if email is already disabled.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-05-02 15:04:57 -07:00
Robin Sheat
3dc22e7fb2 Bug 9250 - [SIGNED-OFF] provide commands to manage the SIP server
This adds commands required to control the SIP server. These commands
are:
* koha-enable-sip - copies the SIP config to the sites directory
* koha-start-sip - starts the SIP server processes
* koha-stop-sip - stops the SIP server processes

It also calls these as appropriate from the koha-common init script.

To use:
1) sudo koha-enable-sip instancename
2) sudo vim /etc/koha/sites/instancename/SIPconfig.xml
   Do whatever is needed for your site's SIP configuration
3) sudo koha-start-sip instancename

To test:
1) Build packages with this patch
2) Ensure that sudo koha-start-sip instancename doesn't do anything
3) Run sudo koha-enable-sip instancename
4) Edit /etc/koha/sites/instancename/SIPconfig.xml if needed (probably
   not required for testing)
5) Run sudo koha-start-sip instancename
6) Note that the sip processes are now running
7) Run sudo koha-stop-sip instancename
8) Note that the sip processes have gone
9) Reboot your Koha server
10) Note that the sip processes are back

Sponsored-By: Waitaki District Council Libraries
Sponsored-By: South Taranaki District Council Libraries
Sponsored-By: Horowhenua District Council Libraries
Sponsored-By: Rangitikei District Council Libraries

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Works as advertised. koha-start-sip without a prior koha-enable-sip
does nothing. koha-enable-sip copies the SIP config file to the
instance directory. After koha-enable-sip, koha-start-sip and
koha-stop-sip works as expected. After a reboot, the SIP processes are
still running. I have not actually tested the SIP servers after they
have been started, but assume they work the same as always.
The man pages look good.

The new commands should also have been added to the man page for
koha-common. I'll do a followup for that.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 22:03:13 -04:00
2cd5afa974 Bug 10041 - Provide a koha-translate script to aid package users on installing translations
Until we have solved the packaging of koha template translations, provide a command that manages the installed translations in a proper way.

To test, build a Debian package of current master+the patches from this bug :-D and try the many options running koha-translate --help provide.

The command itself can be grabbed from a git checkout with this patch applied to test the script's funcionality. If it (and its docs) fits the package building stuff, I'll test on monday when I can be back on my workstation.

Sponsored-by: Universidad Nacional de Córdoba

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>

Comment: Good adition. Work as described. No errors.
Copied to /usr/local/bin. No errors on install, update, remove, list and check.
Passed-QA-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 22:02:16 -04:00
7d09198659 Bug 10101 - Follwup: fix param check
As Mason noted, there was an error on that line.

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 22:00:51 -04:00
3bca90eb0c Bug 10101 - make koha-enable more robust
koha-enable now:

- checks for the existence of the instance before any other action on it.
- checks if the instance is already enabled before changing stuff in the config files.
- only reloads apache if it is needed!
- handles more than one instance name as parameter (the code was there, a check for the cardinality of the args prevented it from working).
- documents this behaviour change in the docs
- doesn't break if the provided (invalid) instance name is a prefix/suffix of a real one (added -x to the relevant grep command).

To test:
- Aplpy the patch, build your packages
- Run koha-enable on
  - Non existent instance (try using a prefix or a suffix of an already created one too).
  - Already enabled existent instance name.
  - Disabled instance.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 22:00:13 -04:00
ca118d57db Bug 10104 - Followup: fix param check
As noted by Mason on bug 10101, the check was not working for zero arguments.

Sponsored-by: Universidad Nacional de Córdoba

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 21:59:27 -04:00
b055f7d86c Bug 10104 - make koha-disable more robust
koha-disable now:

- checks for the existence of the instance before any actions on it.
- checks if the instance is already disabled before touching anything (warns otherwise)
- only reloads apache if needed
- handles more than one instance name.
- changed the docs to acknowledge the previous item.

To test:
- Apply the patch, build your package
- Run koha-disable on
  - Non existent instance (try names that are prefix and suffix of a valid one too please)
  - Already disabled instance name.
  - Enabled instance name.

It should work as expected and warn the user on the expected wrong cases.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 21:58:38 -04:00
98bde26d25 Bug 10144 - koha-start-zebra error handling
koha-start-zebra now
- Checks the instance exists.
- Checks the instance is enabled.
- Checks if the zebra daemon is already running.

Regards
To+

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 21:57:49 -04:00
cee6909c8a Bug 10149 - koha-restart-zebra error handling (rewording)
koha-restart-zebra now
- Checks the instance exists.
- Checks the instance is enabled.
- Checks if the zebra daemon is already running.

Regards
To+

Edit:
- changed some wording problems.
- fixed an error in parameter validation

Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-05-01 21:57:06 -04:00
Peter Crellan Kelly
58ef8feb1b Bug 9885 Passwords generated by command line scripts are weak
This changes the scripts so that:
- in koha-create, the zebra password and mysql passwords are set to 16 character "secure" passwords, ie generated with pwgen -s 16 1
- the patron password is set to a 12 character "memorable" password.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Looks good. I did not actually build, install and test new packages,
but i did test pwgen with the new arguments and the changes make
sense.

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
QA signoff
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-30 21:39:43 -04:00
MJ Ray
ab732ce20e Bug 9260: stop koha-run-backups complaining "missing ]"
Found because cron.daily/koha output contains the error "[: 97: missing ]"

To test:

  1. run koha-run-backups --days 2 --output /var/spool/koha
  2. should see no output

Sponsored-by: Library of the Józef Piłsudski Institute of America
Signed-off-by: Vitor FERNANDES <vfernandes@keep.pt>
Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
I still get an error:
  ./koha-run-backups: 58: ./koha-run-backups: koha-list: not found
But this patch fixes the syntax error
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-12-21 08:11:39 -05:00
Robin Sheat
0e5246d7f7 Bug 8878 - a command to provide a shell with the koha environment
This command behaves something like su(1), but provides you with a shell
as the koha user, and with the environment pointing to the right places.

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-12-20 08:01:46 -05:00
MJ Ray
80c75dcc8f Bug 8982 make koha-create accept --database option
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Passed-QA-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2012-10-31 17:20:22 -04:00
Robin Sheat
aba36d26d9 Bug 8162: allow packages to work on Ubuntu Precise
The newer version of MySQL in Ubuntu 12.04 installs a default
'localhost' user with no username. Due to the way that MySQL looks up
user details when you connect, if you connect from localhost and the
user was only created with a wildcard host (%), the anonymous localhost
user will be found instead. This means that your username is lost for
the connection, and you have no privileges.

This patch creates a second user with a hostname of 'localhost'. This
will not work if your database is on a remote server, but you probably
know what you are doing if that's the case. Patches to determine this
server's name relative to the MySQL server are welcome (or even ideas on
how to do it.)

It also fixes up a couple of other small things:
* make koha-remove stop zebra properly
* stop the warning that the password file is missing on create

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Works as promised.
2012-08-29 13:46:04 +02:00
Jared Camins-Esakov
bbcb1d784b Bug 8268: Add database dump to export tool
This patch builds on work by Lars Wirzenius for the Koha packages.

To date, the only way for a Koha librarian to obtain a complete backup
of their system has been to log into the system via SSH (or FTP) to
download the mysqldump file. This patch makes it possible for
superlibrarians in properly configured systems to download night backups
via the staff client's Export tool.

Recognizing that this is functionality with potentially very grave
security implications, system administrators must manually enable these
features in the koha-conf.xml configuration file.

The following configuration settings have been added to the koha-conf.xml
file:
* backupdir => directory where backups should be stored.
* backup_db_via_tools => whether to allow superlibrarians to download
  database backups via the Export tool. The default is disabled, and
  there is no way -- by design -- to enable this option without manually
  editing koha-conf.xml.
* backup_conf_via_tools => whether to allow superlibrarians to download
  configuration backups via the Export tool (this may be applicable to
  packages only). The default is disabled, and there is no way -- by
  design -- to enable this option without manually editing koha-conf.xml.

This commit modifies the following scripts to make use of the new
backupdir configuration option:
* koha-dump and koha-run-backups in the Debian packages
* The sample backup script misc/cronjobs/backup.sh

Note that for security reasons, superlibrarians will not be allowed
to download files that are not owned by the web server's effective user.
This imposes a de facto dependency on ITK (for Apache) or running the
web server as the Koha user (as is done with Plack).

To test:
1. Apply patch.
2. Go to export page as a superlibrarian. Notice that no additional
   export options appear because they have not been enabled.
3. Add <backupdir>$KOHADEV/var/spool</backup> to the <config> section
   of your koha-conf.xml (note that you will need to adjust that so that
   it is pointing at a logical directory).
4. Create the aforementioned directory.
5. Go to export page as a superlibrarian. Notice that no additional
   export options appear because they have not been enabled.
6. Add <backup_db_via_tools>1</backup_db_via_tools> to the <config>
   section of your koha-conf.xml
7. Go to the export page as a superlibrarian. Notice the new tab.
8. Go to the export page as a non-superlibrarian. Notice there is no
   new tab.
9. Run: mysqldump -u koha -p koha | gzip > $BACKUPDIR/backup.sql.gz
   (substituting appropriate user, password, and database name)
10. Go to the export page as a superlibrarian, and look at the "Export
    database" tab. If you are running the web server as your Koha user,
    and ran the above command as your Koha user, you should now see the
    file listed as an option for download.
11. If you *did* see the file listed, change the ownership to something
    else: sudo chown root:root $BACKUPDIR/backup.sql.gz
11a. Confirm that you no longer see the file listed when you look at the
     "Export database" tab.
12. Change the ownership on the file to your web server (or Koha) user:
    sudo chown www-data:www-data backup.sql.gz
13. Go to the export page as a superlibrarian, and look at the "Export
    database" tab. You should now see backup.sql.gz listed.
14. Choose to download backup.sql.gz
15. Confirm that the downloaded file is what you were expecting.

If you are interested, you can repeat the above steps but replace
<backup_db_via_tools> with <backup_conf_via_tools>, and instead of
creating an sql file, create a tar file.

To test packaging: run koha-dump, confirm that it still creates a
usable backup.

------

This signoff contains two changes:

10-1. If no backup/conf files were present, then the message telling you
so doesn't appear and the download button does. Made them behave
correctly.
10-2. The test for a file existing required it to be owned by the
webserver UID. This change makes it so it only has to be readable.

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
2012-07-12 17:40:21 +02:00
Simon Story
ffac4924b8 Bug 6684: Fixes to koha-remove
Fixes bugs 6684 6997 4880:
6684 koha-remove should check the number of arguments it gets
6997 koha-remove leaves system in inconsistent state if there is an error
4880 koha-remove sometimes fails because user is logged in

Amended by chrisc@catalyst.net.nz
Trying to resolve conflicts.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Rebased on top of bug 7924.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-05-28 11:14:27 +02:00
Magnus Enger
491a00f0a2 Bug 7924 - Fix handling of command line arguments in koha-remove
koha-remove would fail with a message like this:
Removing Koha instance --
ERROR 1396 (HY000) at line 1: Operation DROP USER failed for 'koha_--'@'%'

After fixing this, the --keep-mysql option made the script exit without doing
anything.

To test:

Alt 1
- Build package with build-git-snapshot
- Install package

Alt 2
- Replicate the changes in the patch in an existing installation

Then:
- Add instance1 and instance2
- koha-remove instance1
-- Check that script completes and the databse is gone
- koha-remove --keep-mysql instance2
-- Check that the script completes but the database is not removed

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-05-14 14:01:22 +02:00
Jared Camins-Esakov
297d22459f Bug 6913: More options for koha-create and koha-remove
This commit makes koha-create more flexible by adding a number of command-line
and configuration options.

The biggest change is to add support for pre-determined MySQL credentials using
a file in /etc/koha/passwd (for security reasons, if you use this feature, make
sure the file is not world-readable). The configuration file has the following
format:
instance:user:password:database
The database is optional, but the other two are both required if you want to
specify MySQL credentials. If no credentials are specified for a given instance,
the standard koha_instance username and an auto-generated password are used.

The following additional command line options are now available:
* --use-db - use a pre-existing database, see also --database
* --database - specify the name of the mysql database (still defaults to
  koha_instance)
* --passwdfile - specify a custom (Koha) passwd file for MySQL credentials

The following additional variables are now available (for use in
koha-sites.conf or a custom config file):
* OPACPORT (previously added but not documented) - port on which the OPAC
  should be served
* OPACPREFIX - prefix for the OPAC's virtual host
* OPACSUFFIX - suffix for the OPAC's virtual host

This commit also adds the --keep-mysql option to koha-remove, which, if
specified, will prevent koha-remove from deleting the database or MySQL user
when removing an instance.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2012-02-02 09:15:20 +01:00
Robin Sheat
4437737858 Bug 6913 - change how ports are handled by koha-create
This does two things:
* Allows OPACPORT to be specified to change the default OPAC port,
* removes the port number from the ServerName directive, as it's already
  handled by the VirtualHost declaration.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2012-02-02 09:15:18 +01:00
Jared Camins-Esakov
93cd5bd501 Bug 7216 - koha-restore does not correctly set home
Prior to this patch, the koha-restore Debian script did not set the home
directory properly for the system users it created, causing problems down the
line for koha-rebuild-zebra. This patch fixes that by specifying the home
directory.

http://bugs.koha-community.org/show_bug.cgi?id=7216
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
2011-12-06 17:01:56 +01:00
Robin Sheat
849547df68 Bug 7008 - create tmp dir for zebra
Sometimes zebra needs a tmp dir in order to work. This ensures that it
is created both by koha-create-dirs in the packages, and by
rebuild_zebra when it runs.
--

tested ok, signing off
Signed-off-by: Mason James <mtj@kohaaloha.com>
2011-12-03 07:56:44 +01:00
Jared Camins-Esakov
602c528e91 Bug 6997: Koha-remove leaves system in inconsistent state
If you accidentally delete one of the files that koha-remove is supposed to
remove, when koha-remove reaches that point in the script, it will die, leaving
later removal steps undone. This patch fixes the problem by checking for the
existence of each file prior to deleting it, so that short of an actual problem
with removing the file, the script can continue. Note that the fix for bug 6929
is also needed to prevent any problems with stopping Zebra from killing
koha-remove.

Signed-off-by: Dobrica Pavlinusic <dpavlin@rot13.org>
2011-12-03 07:53:51 +01:00
Robin Sheat
aca414977a Bug 6929 - ensure that koha-stop-zebra will try to stop everything
Currently, if it attempts to stop a zebra process that doesn't exist,
the script will abort, which leaves things running. This patch prevents
it from aborting.

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Ian Walls <ian.walls@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-19 16:26:57 +13:00
Chris Cormack
147ae6c665 Merge remote-tracking branch 'kc/new/enh/bug_4877' into kcmaster 2011-09-16 13:53:40 +12:00
Magnus Enger
95afdc957a Bug 4877 [ENH] Use DocBook for koha-common manual pages
This patch
- deletes debian/scripts/koha-create.8
- adds debian/docs/koha-create.xml and koha-remove.xml

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-16 13:51:02 +12:00
Robin Sheat
ae022e9a22 Bug 6651 - fix splitting of names when updating to 3.4
This affects only koha package installations that have multiple
instances running. After this patch, it's worth running the upgrade
again to ensure that everything happened correctly the first time.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-13 10:29:12 +12:00