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:

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. 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.
  15. For security: Remove the openbiblio/install directory completely to prevent unauthorized use of install or upgrade tools.
  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. (chgrp www-data database_constants.php; chmod 440 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 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.

  1. Log in to Openbiblio at http://localhost/openbiblio/index.html and change to the admin area.
  2. Change to Member Fields and add a new custom field.
  3. 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.
  4. From now you can use user login at http://localhost/openbiblio/opac/index.html.
  5. 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:

  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. 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.
  6. 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.
  7. For security: Verify that the display_errors setting in php.ini is 'Off' to prevent unintended information disclosure.
  8. 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');