Contents:
Release Notes:
Version 0.8.1 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.
Update-Dringlichkeiten:
- Versions before 0.5.2: very important. Das Update funktioniert
also with the versions of openbiblio.de.
- 0.5.2: The urgency depends on compatibility,
Bugfixes, Neuen Funktionen und dem Vertrauen in die Benutzer mit der
permission to access the reports.
- 0.6.0, 0.6.1: The urgency depends on compatibility,
bug fixes and new functions
- 0.7.0, 0.7.1: Many bugfixes for new functions, especially in the
in der Ausleihe. Improvement of security.
- 0.7.3.x: Update to the current and more secure PHP 7.x
possible
- 0.8 and higher: Update to the current and more secure PHP
8.x possible (PHP 7.0 is no longer supported!)
- 0.8.1: Improved security, especially with regard to password encryption
Known limitations:
- MARC is not stored perfectly in the database tables
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 8.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.
- Edit the file global_constants.php (located in the shared directory of openbiblio)
with a text editor of your choice. Change the following two constants according to your choice:
--> OBIB_UPGRADE_KEY
--> OBIB_PWD_FORGOTTEN_KEY
- Create the OpenBiblio database tables. To do this run the
install php script located at http://localhost/openbiblio/install/index.php.
- 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 or 400.
(chgrp www-data database_constants.php; chmod 440 or chmod 400
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 the userid and for password "Administrator#1" 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.
- Under admin --> Library settings, system-relevant settings can be made, including whether or
not library users can access their personal account online.
- In order to be able to use the mail dispatch for e.g. "forgotten password function" or
"welcome message" you must enter a valid e-mail address as the sender for the
respective messages under admin --> Mail messages. messages, you must enter a valid e-mail address
as the sender. This can also differ for the individual messages may also differ.
- The "Forgot password function" can be activated under admin --> Mail settings. Here you can decide
whether either the user number/name or the e-mail address must be entered or both.
- Mail can be sent either via the php mail function or via PHPMailer, provided that the system requirements
are met and the necessary settings have been made.
- As of Openbiblio version 0.8.1, two libraries are included:
--> PHPMailer (URL: https://github.com/PHPMailer/PHPMailer)
--> TinyMCE-Text-Editor (URL: https://www.tiny.cloud/docs/tinymce/latest/php-projects/)
If the technical system requirements of your server are met, this should be done.
If there are any difficulties, please read the information on the URLs above.
Translated with DeepL.com (free version)
Setup of Userlogin:
In general, a decision must be made as to whether Openbiblio should be
a pure administration programme without online login access for users
or whether they should be given online login access.
The setting for this can be found via the ‘Admin’ tab under the ‘Library settings’ link.
This setting can be made accordingly during the update to 0.8.1.
The user login will be changed from version 0.8.1. The password of the user (member)
is now stored in encrypted form in the DB table member. Previously created
passwords under the member field ‘secret’ are automatically copied during
the update and stored encrypted in the DB table member. The ‘secret’ fields
that are no longer required in the member_fields and member_fields_dm
DB tables are then deleted.
In addition, the user is blocked for a certain period of time if the access
data is entered incorrectly too often.
When updating to 0.8.1, the number of failed attempts and the blocking time
can be set during the update. the blocking time can be set. Otherwise,
these settings can be changed at any time via the ‘Admin’ tab tab under
the ‘Library settings’ link.
If online login access for users has been permitted in the library settings,
- the user can access the user login button under the link. http://localhost/openbiblio/index.html.
- the password must be created when the new user is created.
- The user can log in via the ‘User login’ button or via the link.
http://localhost/openbiblio/opac/loginform.php
Via their user account, users can renew their media, place advance orders
and change their password.
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)
- The upgrade key, which is stored under the constant OBIB_UPGRADE_KEY
in the file ../shared/global_constants.php, is required for updating.
- 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. IIf the tables are already OK then
the tool reports this back accordingly.
- For security: The directory openbiblio/install directory
can be deleted completely after the installation or update.
However, this is no longer necessary from version 0.8.1,
as the update process is the update process is secured via the
upgrade key.
- 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 or 400.
(chgrp www-data database_constants.php; chmod 440 or chmod 400
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.*
Updates from 0.7.1 or higher: 0.8.1 is an extension and
requires a database upgrade of the database. It includes the following changes:
- Setting whether users (members) have online access to their account or not.
- Passwords for users are mandatory for online access and must fulfil certain criteria.
- User and library staff passwords are encrypted using password_hash.
- Previous secret passwords, which were stored in the DB table memmber_fields,
are copied in encrypted form to the DB table member. The fields in
member_fields and member_fields_dm that are no longer required are
deleted.
- Passwords for users are now stored in encrypted form in the member DB table by default.
- A time lock is set for login failures. Both the number of failed attempts
and the time period can be set within a certain range.
- When upgrading to 0.8.1, the new settings can be set during the upgrade process.
- The language of the update pages has been adapted.
* 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');