Contents:
Release Notes:
Version 0.8 is recommended for new installs. Updating older
versions of OpenBiblio is highly recommended because the most
important changes are for hardening security.
See the ChangeLog for more details.
Known limitations:
- MARC is not stored perfectly in the database tables (issue
1, fixed in obiblio-10-wip).
- If you have not updated to 64 bit PHP before some day in the
year 2038: days late and late fee not calculated, incorrect
timestamp calculations for holds (issue 51).
OpenBiblio test suite ran successfully on the following
configurations:
Operating System: |
Debian GNU/Linux 10 |
Debian GNU/Linux 9.13 |
Ubuntu 14.04 (GNU/Linux) |
PHP Version: |
8.2.15 |
7.4.15 |
7.1.13 |
Web Server: |
Apache 2.4.38 |
Apache 2.4.25 |
Apache 2.4.7 |
MySql Version: |
MAriaDB 10.6.16 |
MAriaDB 10.2.37 |
5.5.59 |
System requirements:
- PHP version 7.0 or higher and a web server which supports it
(PHP 4.2 with openbiblio 7.X)
- MySQL version 4.0.12 or higher
This release is still compatible with
ancient versions of PHP and MySQL. Make sure to use versions that are
updated for security.
Commonly used scenarios for making a system meet the
requirements:
- Linux: add the required software using a "package manager".
- Windows: for standalone use or testing purposes use a
"WAMP" package like EasyPHP or
XAMPP.
- Handpick the required software: full procedure below.
Find more reading, tutorials, etc. in the documentation section of
OpenBiblio's home.
Install Instructions:
When using
phpMyAdmin for setting up the database:
- Open the SQL query window.
- Run the SQL commands from step 9 and
step 10 in the procedure below. The command is the part in bold
directly after mysql
- Jump to step 12 and finish the
procedure.
Procedure
Steps 1-8: detail is out of date, but the
basics are still valid.
- To use your system for OpenBiblio you have to install a
webserver, PHP and MySQL. If you didn't done it already, i recommend
to use the package-manager with Linux or XAMPP
for the installation with windows. (i want to thank
Christopher Dagleish for the hint to XAMPP :-))
- At Windows: Download XAMPP in the
version, which your system needs, the Lite-version is sufficient but
i recommend the full version nevertheless (this version offers
regulary updates...). Following install the downloaded XAMPP (the
installation is described on the site of the corresponding
XAMPP-version in english, so i didn't explain it here, but please
read everything there :-)). Now you should start XAMPP (it's
explained there how) and you have a running Apache, PHP and MySQL.
Continue now with the installation of OpenBiblio at point 7.!
- The following points 4-6 you only have to do, if you didn't
installed XAMPP (or XAMPP doesn't run):
- Install a web server such as Apache that is compatible with
PHP. If you install Apache, get familiar with starting and stopping
your Apache Web Server. If you are running Linux your Apache server
should be packaged with your Linux installation and will start when
you start Linux.
- Add PHP to your web server as a CGI or a module. If you are
using Apache 2.0, I would highly recommend that you install PHP as a
module instead of a cgi application. In my experience the Apache PHP
module performed over 4 times faster than the cgi PHP. See Example
3-9. PHP and Apache 2.0 as Module in the PHP Manual for more info on
how to install PHP as a module.
OpenBiblio uses session data. Therefore, you will need to
make sure PHP sessions are turned on. Be sure to create a directory
for your session data on your server and specify the
session.save_path in your php.ini file. The default php.ini sets
session.save_path to "/tmp". Therefore, you have to create a
directory called c:/tmp (for Windows) users. However, I usually
create a more descriptive name inside my PHP directory and then
change my php.ini file to match it.
Example php.ini directive:
session.save_path = d:\PHP\sessiondata
See section XCIII.
Session handling functions in the PHP manual for more details on
PHP sessions.
- Install the MySQL database from http://www.mysql.com/. Get familiar
with starting and stopping your MySQL Server.
If
you are running Linux, MySQL should be packaged with your Linux
installation and will start when you start Linux.
- The following points are describing the installation of
OpenBiblio and have to be done from everything, who install
OpenBiblio at the first time (never mind if you use XAMPP or
installed apache, PHP and MySQL on a other way):
- Get familiar with logging into MySQL with your admin account
within a DOS prompt window. You can use the following command
sequence as a test.
C:\>c:\mysql\bin\mysql -uroot mysql
Enter password: *********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 3.23.26-beta
Type 'help;' or '\h' for help. Type '\c' to clear the buffer
mysql> show databases;
+--------------+
| Database |
+--------------+
| mysql |
+--------------+
6 rows in set (0.00 sec)
mysql> exit
Bye
C:\>
- Create an OpenBiblio database. To do this, log
into MySQL with your admin account and run the following SQL
command.
mysql> create database OpenBiblio /*!40100 default character set utf8 */;
New: The conditional comment /* ... */ is
executed on MySQL 4.1.0 or higher and specifies utf8_general_ci as
the default database character set for the database created.
In old instructions latin1 was recommended, but on modern systems
you should use utf8 to display all needed characters.
database character set |
tab Admin: Library Settings, field HTML Charset |
comment |
latin1 |
iso-8859-1 |
Problems with displaying some special characters. |
utf8 (recommended) |
UTF-8 (initial value, set by install) |
problems with PDF layouts, will be fixed soon |
To check to make sure the OpenBiblio database was created
properly, run the following command.
mysql> show databases;
+--------------+
| Database |
+--------------+
| mysql |
| OpenBiblio |
+--------------+
- Create an OpenBiblio database user. To do this,
login to MySQL under the admin userid and run the following SQL
command, substituting obiblio_user and obiblio_password
with the userid and password of your choice.
mysql> grant all privileges on OpenBiblio.* to obiblio_user@localhost identified by 'obiblio_password';
- Verify your OpenBiblio database and user by logging into the new
MySQL database under the new user.
C:\mysql\bin\mysql -uobiblio_user -pobiblio_password OpenBiblio
- Copy the openbiblio directory and all of its
contents into your web server's htdocs root or any subdirectory
within the htdocs root.
- Edit the database_constants.php file (located in
the main openbiblio directory) with the text editor of your choice.
Change the username and password to match the new MySQL user and
password that you created in the previous steps.
- Create the OpenBiblio database tables. To do this run the
install php script located at http://localhost/openbiblio/install/index.php,
assuming you placed the openbiblio directory in the root htdocs
directory.
- For security: Remove the openbiblio/install
directory completely to prevent unauthorized use of install or
upgrade tools.
- For security: Verify that the
display_errors setting in php.ini is 'Off' to prevent unintended
information disclosure.
- For security: Change to
openbiblio-directory. Change group of file database_constants.php to
apache-group (www-data) and change the mod of the file to 440.
(chgrp www-data database_constants.php; chmod 440
database_constants.php)
- Access your new library automation system at http://localhost/openbiblio/index.php,
assuming you placed the openbiblio directory in the root htdocs
directory. Enter "admin" for both the userid and password whenever
you are prompted to signon. You can change the admin password from
the "Admin" tab -> staff list, where you can also add more library
staff members.
Setup of Userlogin:
At the userlogin I've tried to develop a version that doesn't
touch or enhance the existing database structure, to make it possible
to update from my german to the english sourceforge-version of
openbiblio. So I've used some functions for this new functionality,
which are already in openbiblio. For this reason, it wasn't possible
to use a real password function. I'm only using a secret word, which
is stored in plain text and is readable in plain text by the
librarian.
The following explains how to set up the user login (version
0.7.2g), since it does not work without this additional setup.
- Log in to Openbiblio at http://localhost/openbiblio/index.html
and change to the admin area.
- Change to Member Fields and add a new custom field.
- The new field must necessarily have the code "secret". In
the description you can choose the name itself, I'm using here
"Secret Word". Press Submit.
- From now you can use user login at http://localhost/openbiblio/opac/index.html.
- At the memberinfo you can now define the secret word. Once
this is filed, this member can login at http://localhost/openbiblio/opac/loginform.php
with his card number an his secret word to renew his items or to
place a hold. If a member has no secret word, an info appears, that
he has to give a secret word to the librarian.
Updating from a previous version of OpenBiblio:
- Rename your old openbiblio installation directory so that
you don't lose its contents. We'll call the old directory
openbiblio-old.
- Copy the new openbiblio directory and all of its contents
into the directory where the old openbiblio installation was.
- Copy the database_constants.php file from the openbiblio-old
directory into the new openbiblio directory, replacing the
database_constants.php file there.
- Backup your database. See your MySQL documentation for
instructions. (use mysqldump)
- Update your OpenBiblio database tables by using the
conversion tool located at http://localhost/openbiblio/install/index.php,
assuming you placed the openbiblio directory in the root htdocs
directory. When installed on a remote host, the first part of the
address will be different. If the tables are already OK, the tool
will say so.
- For security: Remove the openbiblio/install
directory completely to prevent unauthorized use of install or
upgrade tools. If present, also remove the openbiblio/tests
directory.
- For security: Verify that the
display_errors setting in php.ini is 'Off' to prevent unintended
information disclosure.
- For security: Change to
openbiblio-directory. Change group of file database_constants.php to
apache-group (www-data) and change the mod of the file to 440.
(chgrp www-data database_constants.php; chmod 440
database_constants.php)
Updates from 0.7.0: 0.8 is a bugfix release to
0.7.x: it can run without upgrading the database. However, step 5 is
recommended. This cleans unused entries from the database and lifts
some restrictions.*
Updates from 0.7.1 or higher: 0.8 is a bugfix release to 0.7.x: it can run without
upgrading the database.*
* If you want to use the new presence function (from 0.8) in your existing database, you must execute the following command in your database: insert into biblio_status_dm values ('pre','Presence','N');