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: Known limitations:

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:

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: Find more reading, tutorials, etc. in the documentation section of OpenBiblio's home.

Install Instructions:

For systems that meet the requirements: jump to step 9 and finish the procedure.

When using phpMyAdmin for setting up the database:

Procedure

Steps 1-8: detail is out of date, but the basics are still valid.
  1. 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 :-))
  2. 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.!
  3. The following points 4-6 you only have to do, if you didn't installed XAMPP (or XAMPP doesn't run):
  4. 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.
  5. 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.

  6. 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.
  7. 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):
  8. 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:\>
    
  9. 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   |
    +--------------+
    
  10. 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';
  11. 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
    
  12. Copy the openbiblio directory and all of its contents into your web server's htdocs root or any subdirectory within the htdocs root.
  13. 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.
  14. 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
  15. Create the OpenBiblio database tables. To do this run the install php script located at http://localhost/openbiblio/install/index.php.
  16. For security: Verify that the display_errors setting in php.ini is 'Off' to prevent unintended information disclosure.
  17. 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)
  18. 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.
  19. Under admin --> Library settings, system-relevant settings can be made, including whether or not library users can access their personal account online.
  20. 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.
  21. 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.
  22. 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.
  23. 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.
  24. 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,

  1. the user can access the user login button under the link. http://localhost/openbiblio/index.html.
  2. the password must be created when the new user is created.
  3. 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:

  1. Rename your old openbiblio installation directory so that you don't lose its contents. We'll call the old directory openbiblio-old.
  2. Copy the new openbiblio directory and all of its contents into the directory where the old openbiblio installation was.
  3. Copy the database_constants.php file from the openbiblio-old directory into the new openbiblio directory, replacing the database_constants.php file there.
  4. Backup your database. See your MySQL documentation for instructions. (use mysqldump)
  5. The upgrade key, which is stored under the constant OBIB_UPGRADE_KEY in the file ../shared/global_constants.php, is required for updating.
  6. 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.
  7. 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.
  8. For security: Verify that the display_errors setting in php.ini is 'Off' to prevent unintended information disclosure.
  9. 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: * 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');