Commit graph

57 commits

Author SHA1 Message Date
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
Magnus Enger
b3b6278e20 Bug 6517 - [REVISED] koha-create wants "use database" in DEFAULTSQL
The revised patch quotes the variable $mysqldb, as suggested by Frère
Sébastien Marie.

This patch makes sure that pointing DEFAULTSQL in /etc/koha/koha-sites.conf
to any (gzip'ed) file produced by mysqldump works, by adding the name of the
database to the end of the call to mysql, when the specified SQL file is
loaded. Files produced with koha-dump-defaults should still work too.

To test:
- Apply the patch
- Create a new package with build-git-snapshot
- Install the package
- Create an SQL file from an existing installation with mysqldump
- gzip the SQL file
- point DEFAULTSQL to the file in /etc/koha/koha-sites.conf
- create a new site with koha-create --create-db

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-12 10:10:46 +12:00
Robin Sheat
6534b5cf29 Bug 4877 [ENH] - [SIGNED-OFF] more man page improvements
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-04 20:22:18 +12:00
Magnus Enger
1c6cdaf162 Bug 4877 [ENH] - Update man page for koha-create
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
(to be followed by another patch that I think helps too)

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-04 20:21:34 +12:00
Magnus Enger
8d8d2e6b44 Bug 6516 - Make borrowernumber of staff user configurable in koha-create
Sets the default borrowernumber of staff user to 1 and makes it possible
to override this with ADMINUSER in /etc/koha/koha-sites.conf or with the
--adminuser and -a command line options.

Remember to update the wiki if this gets pushed!

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-09-04 20:18:14 +12:00
Chris Cormack
75a4efa704 Merge remote-tracking branch 'kc/new/enh/bug_6540' into kcmaster 2011-08-23 15:52:52 +12:00
Magnus Enger
31bb901e2b Bug 6540 - Followup - koha-create would die without --configfile
koha-create would fail to check that --configfile was set on the
commandline, before either including it if it existed or dying if
it did not. This patch should make sure the existence of a
configfile is only tested if --config is set.

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>

This should apply against 3.4 and master.
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-23 15:52:15 +12:00
Robin Sheat
7cf4553db1 Bug 6486 - add the koha-mysql command
This lets you get into the mysql session for this library instance
really easily. Probably most useful for developers.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-18 21:20:52 +12:00
Robin Sheat
85e37cb4b5 Bug 6482 - allow the mysql details to be changed during koha-create
This allows the database details (username and database name in
particular) to be modified in between a koha-create --request-db and
--populate-db. Most useful when you discover that the username is too
long or something. Now, when populating the database, the connection
information is reloaded from the koha-conf.xml rather than being
generated from the instance name.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-18 21:08:36 +12:00
Robin Sheat
3e34c65f92 Bug 6275 - allow automated backups for packages
This causes backups for the last two days to be stored by default. The
backups will go into /var/spool/koha.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-08-11 12:45:53 +12:00
Robin Sheat
e7cf2223e0 Bug 6540 - [SIGNED-OFF] fix some command-line args issues
Signed-off-by: Magnus Enger <magnus@enger.priv.no>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-28 14:19:25 +12:00
Magnus Enger
b66c860d5d Bug 6540 - Add config file as command line option for koha-create
Order of precedence for config options, from lowest to highest:

1. The defaults set in koha-create itself
2. /etc/koha/koha-sites.conf
3. Config file specified with --configfile
4. Individual options set with --marcflavor, --zebralang, --defaultsql

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-28 14:18:58 +12:00
Magnus Enger
bddca6fbcf Bug 6540 - Add defaultsql command line option
This will override the setting in /etc/koha/koha-sites.conf.

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-28 14:18:00 +12:00
Magnus Enger
c7bde29718 Bug 6540 - Followup patch adding command line options
This adds the --marcflavor and --zebralang commandline options, as
well as short versions of all options.

Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-28 14:17:32 +12:00
Magnus Enger
b7b36796f5 Bug 6540 - Make ZEBRA_MARC_FORMAT and ZEBRA_LANGUAGE configurable for koha-create
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-07-28 14:17:10 +12:00
Robin Sheat
c779f2b380 Bug 6361 - make the packages work with koha 3.4
This commit does the following:
* Merge the changelog from the releases of 3.2
* Adds a command 'koha-upgrade-to-3.4' that does the MARC item splitting
  stuff.
* Adds a debconf note to make sure people know that they need to run
  the above command.
* Fixes the inclusion of jQuery in the packages.
* Makes build-git-snapshot build packages with a 3.5 version.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-06-03 11:06:31 +12:00
Chris Cormack
ae70c2f790 Bug 6031 : Fix for syntax (bashism crept into a pure sh script)
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-05-02 12:44:48 +12:00
Robin Sheat
dfc1038931 Bug 5509 - use an XML parser to get values from config
Using sed and regex was causing issues when LDAP connection details were
added.

See
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454
for more information.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-28 13:35:25 +12:00
Srdjan Jankovic
7882911799 bug 6031: play with options passed on to rebuild-zebra.pl
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-04-10 20:53:00 +12:00
Srdjan Jankovic
1c86e93cec Bug 5510: prepend output with system name
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-19 07:10:06 +13:00
Robin Sheat
4f4c4eceb3 Bug 5313 - allow creation of libraries with hyphens
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-12-13 21:34:03 +13:00
Robin Sheat
18a1c3db11 Bug 5139 - packages now do email and other cron jobs
By default the packages now set up the cron jobs to handle things like
overdues and email etc. By default, email is off, 'koha-email-enable'
and 'koha-email-disable' can manage this.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-06 08:12:14 -04:00
Robin Sheat
57d11aee2c Bug 5077 - ensure rebuild_zebra will run somewhere it can read
This prevents it leaving files lying around in /tmp

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-10-06 08:00:17 -04:00
Robin Sheat
8dcfa1ec4c bug 4952 - make the koha-remove script stop zebra for the instance
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-07-07 12:05:18 -04:00
Robin Sheat
5d2a1c7916 bug4929 - amended the instructions
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-07-02 07:55:50 -04:00
Lars Wirzenius
cb9ccd6cf3 Disable a new site created with --request-db.
This way, the various cron jobs will not try to do things to it.
They can't, since it is not yet really created.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-03 07:51:36 -04:00
Lars Wirzenius
50503da119 Make koha-create be able to handle manual database creation.
This is necessary if we do not have access to DB server with sufficient
permissions. The DB server is used for other things, that may well be
the case.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 08:04:32 -04:00
Lars Wirzenius
df6767467b Add support for a remote mysql server.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 08:04:32 -04:00
Lars Wirzenius
2ae1e3c21d Use /etc/mysql/koha-common.cnf instead of the Debian one.
koha-common.postinst now creates a symlink to the Debian one.
The sysadmin may replace that manually with something that allows
Koha to access a remote mysql server.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 08:04:32 -04:00
Lars Wirzenius
cfd5fae5a3 Add koha-foreach, a script to run a command for each Koha instance.
Use script to enable the build_Holds_queue.pl cron job.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 07:59:45 -04:00
Lars Wirzenius
b25fa64cd6 Centralize creation of Koha instance dirs.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 07:59:42 -04:00
Lars Wirzenius
2e626be90c Add scripts to start, stop, restart Zebra, and rebuild its indexes.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 07:59:39 -04:00
Lars Wirzenius
439989924d Add koha-upgrade-schema, a script to upgrade the database schema.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 07:59:35 -04:00
Lars Wirzenius
b69b670d63 Add koha-dump-defaults, a script to dump a defaults file.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 07:59:34 -04:00
Lars Wirzenius
5789aea5bb Add koha-reset-passwd, a script for resetting a user's password.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-25 07:59:32 -04:00