Installation
NOTE: if you just want to try out LORLS, why not try our virtual machine image? This is based on CentOS Linux and is “ready to run” so may be quicker for many people than doing the full installation listed below.
Requirements
You will require a server with:
- Linux
- a web server (e.g. Apache)
- MySQL
- Perl
To build some of the required Perl modules you will need
- gcc (to build them)
- libyaz (standard library + development library)
Installation
Making the required directories and setting the permissions
assuming you are wanting to use the standard install locations for LORLS you will need to make the following directories and make sure that the web server can write to them (After installation the write permission for the web server can be removed.)
- /usr/local/LUMP
- /usr/local/LUMP/bin
- /var/www/html/CLUMP
- /var/www/cgi-bin/CLUMP
If your Linux distribution uses different directories as standard for html and cgi-bin, then you can use them, just make a note of what the new paths are, the installer will give you chance to alter where it is going to install things.
Getting the installer
To install LORLS v7 copy the installer to your servers cgi-bin directory and make sure it is executable by the web server. Then point your web browser to http://<YourServer>/cgi-bin/LUMPInstaller
Selecting the packages to install
The first question the installer asks is what you want to install. The options are LUMP, CLUMP or ALL. If you select LUMP then it will install the back end of the system. If you select CLUMP then it will install the front end of the system. If you select ALL then it will install both the front and back end of the system.
Installing missing Perl modules
After selecting which parts of LORLS you want to install the installer will present you with a list of missing Perl modules and give you the option of installing them yourself or letting the installer attempt to install them for you. If you install them yourself (our recommended method) then they will most likely be available for everyone on the machine. If they are installed by the installer then they will only be available to LORLS.
If you choose to let the installer install the missing Perl modules then next question the installer asks is where to install the modules to. This directory will need to be accessible to the web server (read, write and execute).
Important Note: If possible it is better to install the Perl modules manually as sometimes the installer can’t install all the required modules. Also if a module is available as part of your Linux distribution then it is generally better to use that one rather than building your own from CPAN.
Database Details
If installing LUMP then after all the required modules are available the installer will ask for the database details. The required database details are
- The name of the database
- the database user
- the database password
You don’t have to create the database, if it and the user doesn’t exist when you click on submit the installer will ask for the password for the root database account. Once you have given this it will create the database and user with the details that you previously supplied and with the correct permissions for accessing the database.
Populate Database
If installing LUMP after creating the database you are offered the option to either install test data into the database or to skip installing the test data. If you want to import an existing LORLS v6 database then skip installing the data. If you are starting from scratch or just playing with the system then we recommend installing the test data.
Code Installation Details
The next stage is to install the code for LORLS v7. The installer will ask for the following information
Note: If any directory doesn’t already exist the installer will try to create them. Of course if the user that your CGI scripts are running under doesn’t have rights to make such directories this will fail and you’ll have to create the directories and make them writable to that user by hand.
-
LUMP Backend API Code
- LUMP Library Directory
- This is the directory that LUMP will install the majority of its code base (the web server needs to have read, write and execute permissions to this directory).
- LUMP Backend Binaries Directory
- This is the directory that stores backend tools (again the web server needs to have read, write and execute permissions).
- LUMP CGI Directory
- This is the directory that LUMP will install its CGI scripts in.
- LUMP CGI Path
- This is the URL path to the CGI directory for LUMP.
- CLUMP HTML Base URL
- This is the base part of the URL pointing at CLUMP. Assuming you’re installing them on the same server and putting CLUMP in the HTML document root, this will be /CLUMP
- Kerberos Realm
- This is the Kerberos realm to use for AD authentication.
- Changes Script Target Email
- An email address to send librarians change information to from the backend changes script.
- Email address LUMP script send from
- An email address that is set as the “From” address for emails that the LUMP code generates. This may be a “no-reply” type address or maybe the general library enquires email address.
- URL of LMS script to get ISBN mappings
- If your Library Management System (for example Aleph) has a CGI script that allows you to get mappings of different ISBNs (ie FRBRization), put this in here.
- URL of LMS script to get loan transactions
- If your Library Management System has a CGI script that allows you to look up loan transactions for a work, put the URL for this script in here. This is used by the academics’ dashboard to show how works on reading lists are being borrowed by students.
-
CLUMP AJAX Client Code
- LUMP Installation Base URL
- The base path of the URL to LUMP’s API.
- CLUMP CGI Directory
- The directory that the CLUMP CGI scripts are installed in.
- CLUMP CGI Scripts Base URL
- The base path of the URL to CLUMP’s CGI scripts.
- CLUMP HTML Directory
- The directory that CLUMP’s html, JavaScript, images, etc. are to be installed in.
- CLUMP HTML Base URL
- The base path of the URL to CLUMP’s html, JavaScript, images, etc.
- Library Feedback Email
- Email address for feedback/comments/etc from users to be sent to.
- Library Management System Name
- The name of the Library Management System (LMS) that you use.
- Library Management System Host
- The fully qualified domain name of your LMS server.
- Library Management System Z3950 Port
- The port number for your LMS’s Z3950 service.
- Library Management System Z3950 Database
- The database to use with your LMS’s Z3950 service.
- Library Management System Lookups
- If on CLUMP will look at your LMS to see if an item is owned by the Library and its current loan status.
- OpenURL Resolver Base URL
- The base URL of your OpenURL Resolver
- Library Ex-Libris X Server Base URL
- The base URL to your X-Server (Leave blank if you don’t have one)
- Library Ex-Libris X Server Username
- The username to use when accessing the X-Server.
- Library Ex-Libris X Server Password
- The password to use when accessing the X-Server.
- Library Ex-Libris X Server Bibliographic Library
- The bibliographic library to be used with the X-Server.
- Library Ex-Libris X Server Library
- The library to be used with the X-Server.
- Library Ex-Libris X Server Admin Library
- The admin library to be used with the X-Server.
- Use Google Books Thumbnail/Previews
- If set to On then the google books will be used to supply thumbnails and previews of books.
- Local Control Number Length
- How long your local control numbers are (assuming that you have local control numbers)
- Local Control Number Prefix
- The prefix that you have at the start of local control numbers (if any).
User friend name for emails - The human readable name (not email address) that emails from the reading list system should use.
- OPAC User Agent (can be used for OPAC Kiosks)
- The user agent that is used in web based OPAC kiosks. This is used to allow the reading list system to be integrated into a such a kiosk. If you don’t have OPAC kiosks, don’t worry about this parameter (just use the default).
-
Installation Source
- LUMP Source URL
- Don’t change this unless you know what you are doing. This is where the installer will pull it’s files from.
If you see the Code Installation Details form again after clicking on submit then there is something wrong. Go and look in the error logs for your web server to get some hints (Usually it is a directory that your web server doesn’t have the correct permissions to write to.)
Migrate data from LORLS v5
If you have an existing LORLS v5 installation then you may want to migrate your data from the old v5 system to a new v7 install.
Start playing
Point your browser to http://<yourServer>/CLUMP/
Additional Steps if you want to customize your installation
Troubleshooting
Here’s how to fix common errors you may see in your Apache logs
- Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?)
- run the following sed command against StructuralUnit.pm and DataTypeGroup.pm
sed -i -e's|if(defined(@{$self->{_CACHE}->{$sql}})) {|if(@{$self->{_CACHE}->{$sql} // []}) {|' /usr/local/LUMP/DataTypeGroup.pm /usr/local/LUMP/StructuralUnit.pm
- DBD::mysql::st execute failed: Data truncated for column ‘state’
- You’ll get this error if you’ve got your MySQL/MariaDB sql_mode set to include the STRICT_TRANS_TABLES mode. To fix the issue remove STRICT_TRANS_TABLES from your sql_mode setting.