Anleitungen

Installationsanleitung

Index:

Erscheinungsbemerkungen

Version 0.8 wird für neue Installationen und zum updaten von älteren Openbiblio-Versionen empfohlen, da hiermit die Sicherheit verbessert wird. Die wichtigsten Änderungen sind im Changelog zu finden.

Update-Dringlichkeiten: Bekannte Probleme:

OpenBiblio Testläufe arbeiteten erfolgreich in den folgenden Konfigurationen:

Betriebssystem: 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

Systemvoraussetzungen

Diese Version ist weiterhin kompatibel mit älteren Versionen von PHP und MySQL. Achten Sie aber darauf, dass sie für diese Versionen die Sicherheitsupdates einspielen.

Oft genutzte Szenarien um ihr System den Anforderungen gerecht zu machen

Installationsanleitung

Wenn ihr System schon den Anforderungen entspricht: machen sie weiter bei Schritt 9 und weiter.

Wenn Sie phpMyAdmin zum Einstellen ihrer Datenbank nutzen:

Prozedur

Schritte 1-8: Die Details sind eventuell etwas veraltet, aber die Grundlagen sind trotzdem gültig.
  1. Um ihr System für OpenBiblio zu nutzen müssen Sie einen WebServer, PHP und MySQL installiert haben. Wenn Sie dieses nicht schon haben wird empfohlen unter Linux die Pakete per Paketmanager zu installieren und für die Installation unter Windows XAMPP zu nutzen. (ich danke Christopher Dagleish für den Hinweis auf XAMPP :-))
  2. Unter Windows: Laden Sie die für ihr System benötigte Version von XAMPP herunter, dabei reicht theoretisch die Lite-Version, aber die volle Version wird trotzdem empfohlen (diese bietet auch regelmäßige Updates...). Installieren Sie anschließend das heruntergeladene XAMPP (die Installation wird auf der Seite der entsprechenden XAMPP-Version auf deutsch genau beschrieben und daher hier nicht weiter erklärt, aber lesen Sie bitte am besten alles dort durch :-)). Starten sie nun XAMPP, nach der dort beschriebenen Methode und schon haben Sie Apache, PHP und MySQL laufen. Fahren Sie nun mit der Einrichtung von OpenBiblio unter Punkt 7. fort!
  3. Die folgenden Punkte 4-6 müssen Sie nur durchführen, falls Sie XAMPP nicht installiert haben bzw. nicht konnten (oder es aus welchen Gründen auch immer nicht lief):
  4. Installieren Sie einen Webserver wie Apache, der kompatibel mit PHP ist. Wenn sie Apache benutzen, machen Sie sich damit bekannt, wie man den Server startet und anhält. Eine Verknüpfung mit dieser Datei können sie einfach in ihr Autostartverzeichniss hinzufügen. Wenn Sie Linux benutzen sollte Apache normalerweise bei ihrer Linuxdistribution schon dabei sein und sich mit Linux automatisch starten.
  5. Fügen Sie PHP zu ihrem Webserver als CGI oder als Module hinzu. Wenn Sie Apache 2.x benutzen, ist es stark empfohlen PHP als Modul statt als CGI zu installieren. Schauen sie auch Beispiel 3-9. PHP and Apache 2.0 as Module (derzeit leider nur in englisch) im PHP Handbuch an, um mehr über die Installation von PHP zu erfahren.

    OpenBiblio benutzt Sessiondaten. Deshalb müssen Sie aufpassen, daß in PHP sessions angestellt sind. Passen Sie auf, daß sie ein Verzeichniss für Sessiondaten auf ihrem Server erstellen und den session.save_path in der php.ini-Datei festlegen. Die Standard php.ini setzt den session.save_path nach "/tmp". Deshalb müssen sie ein Verzeichniss c:/tmp (in Windows) erstellen. Trotz dessen sollten sie ein beschreibenderes Verzeichniss benutzen, erstellen sie ein sessiondata-Verzeichniss im PHP-Verzeichniss und ändern sie ihre php.ini-Datei entsprechend

    Beispiel php.ini Anweisung:

    session.save_path = d:\PHP\sessiondata

    Schauen Sie auch in die Sektion Session Funktionen im PHP Handbuch für mehr Details über PHP-Sessions.

  6. Installieren Sie die MySQL Datenbank von http://www.mysql.com/. Machen Sie sich mit dem starten und stoppen des Servers vertraut.

    Wenn Sie Linux benutzen, sollte MySQL ebenfalls schon dabei sein und mit Linux zusammen starten.
  7. Die folgenden Punkte beschreiben das Einrichten von OpenBiblio und müssen von allen ausgeführt werden, die OpenBiblio das erste Mal installieren (egal ob sie XAMPP nutzen oder Apache, PHP, MySQL anders installiert haben):
  8. Machen Sie sich vertraut mit dem einloggen unter MySQL aus dem DOS Promt heraus (oder vom Linuxprompt). Am besten nutzen Sie folgende Befehlsequenz.
    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. Erstellen Sie die OpenBiblio Datenbank. Um dies zu tun, loggen Sie sich in MySQL mit dem AdminAccount ein (wie oben beschrieben) und führen sie folgendes SQL Kommando aus.
    mysql> create database OpenBiblio /*!40100 default character set utf8 */;
    
    Neu: Der bedingte Kommentar /* ... */ wird in MySQL 4.1.0 oder höher ausgeführt und spezifiziert utf8_general_ci als Standard-Datenbank Zeichensatz für die Datenbank, die erstellt wird.

    In alten Anleitungen wurde hier immer latin1 empfohlen, auf modernen System sollte aber nur noch utf8 verwendet werden, da hier die Eingabe von Sonderzeichen deutlich flexibler ist.
    Datenbank Zeichensatz Registerkarte Admin: Bibliothekseinstellunegn, Feld HTML Zeichensatz Kommentar
    latin1 iso-8859-1 Probleme bei der Darstellung von Umlauten etc.
    utf8
    (empfohlen)
    UTF-8
    (Initialwert, von der Installation gesetzt)
    PDF Layouts machen noch Probleme, wird noch geändert

    Um zu überprüfen, ob die Datenbank wirklich angelegt wurde führen Sie folgendes Kommando aus.
    mysql> show databases;
    +--------------+
    | Database     |
    +--------------+
    | mysql        |
    | OpenBiblio   |
    +--------------+
    
  10. Erstellen Sie den OpenBiblio Datenbank-Benutzer. Um dies zu tun loggen sie sich in MySQL mit dem admin-Account ein und führen Sie folgendes Kommando aus, wobei Sie obiblio_user und obiblio_password mit einem Usernamen und einem Passwort ihrer Wahl ersetzen.
    mysql> grant all privileges on OpenBiblio.* to obiblio_user@localhost identified by 'obiblio_password';
  11. Prüfen Sie ihre Datenbank und den Benutzer, indem Sie sich als Benutzer einloggen.
    C:\mysql\bin\mysql -uobiblio_user -pobiblio_password OpenBiblio
    
  12. Kopieren Sie das openbiblio-Verzeichnis und seinen gesamten Inhalt in das htdocs-Verzeichnis oder einen Unterordner ihres htdocs-Verzeichnis ihres Webservers.
  13. Bearbeiten sie die Datei database_constants.php (befindet sich im Hauptverzeichniss von openbiblio) mit einem Texteditor ihrer Wahl. ändern sie den Username und das Passwort auf den neu erstellten MySQL-Benutzer und dessen Passwort (den sie im vorigen Schritt erstellt haben).
  14. Erstellen sie die OpenBiblio Tabellen. Um dies zu machen führen Sie das Install-Skript aus, welches Sie mit http://localhost/openbiblio/install/index.php aufrufen können, wobei ich davon ausgehe, daß sie das openbiblio-Verzeichniss in das htdocs-Verzeichniss ihres Webservers kopiert haben.
  15. Für die Sicherheit: Entfernen Sie das Verzeichniss openbiblio/install komplett um unbefugten Zugriff auf die install- oder update-Tools zu verhindern.
  16. Für die Sicherheit: Prüfen Sie, dass die display_errors Einstellung in der php.ini ist 'Off' um zu verhindern, dass ungeprüfte Informationen angezeigt werden.
  17. Für die Sicherheit: Wechseln Sie in das openbiblio-Verzeichnis, ändern Sie sie Gruppe der Datei database_constants.php auf die Apache-Gruppe (meist www-data) und ändern Sie die Rechte auf 440. (chgrp www-data database_constants.php; chmod 440 database_constants.php)
  18. Greifen Sie auf ihre neue Bibliothekssoftware unter http://localhost/openbiblio/index.html zu, wobei ich davon ausgehe, daß sie das openbiblio-Verzeichniss in das htdocs-Verzeichniss ihres Webservers kopiert haben. Geben Sie zum einloggen "admin" als Username und als Passwort ein, sobald sie sich einloggen müssen. Sie können das Admin-Passwort ändern in der "Admin"-Registerkarte unter Mitarbeiter, wo Sie auch neue Mitarbeiter hinzufügen können.

Einrichten des Userlogin:

Beim Userlogin habe ich versucht eine Version zu programmieren, die nicht die bisherige Datenbankstruktur anfässt oder erweitert, damit auch weiterhin Updates der deutschen Version zur englischen Originalversion möglich sind und die Datenbankeinträge die gleichen bleiben. Daher habe ich einige Funktionen, die openbiblio schon hat für diese neue Funktionalität benutzt. Aus diesem Grund war es mir aber auch nicht möglich eine echte Passwortfunktion zu verwenden, sondern nur ein Geheimwort (welches aber im Klartext in der Datenbank gespeichert wird und vom Bibliothekar auch im Klartext lesbar ist).

Im folgenden wird erklärt, wie man das Userlogin (ab Version 0.7.2g) einrichtet, da es ohne diese zusätzliche Einrichtung nicht funktioniert

  1. In Openbiblio unter http://localhost/openbiblio/index.html einloggen und dort in den Admin-Bereich wechseln.
  2. Hier in den Bereich Mitgliederfelder wechseln und dort ein neues spezifisches Feld hinzufügen.
  3. Das neue Feld muss unbedingt als Kennzeichen "secret" benannt werden. In der Beschreibung können Sie die Bezeichnung selber wählen, ich selber verwende hier "Geheimes Wort". Das Ganze anschliessend übermitteln.
  4. Ab jetzt ist unter http://localhost/openbiblio/opac/index.html das Benutzerlogin freigeschaltet.
  5. In den Benutzerinfos eines Mitglieds kann man ab nun das Geheime Wort hinterlegen. Sobald dies hinterlegt ist kann sich dieses Mitglied unter http://localhost/openbiblio/opac/loginform.php unter Angabe der Benutzernummer und des Geheimwort einloggen und seine Medien verlängern bzw. Vorbestellungen vornehmen. Wenn ein Mitglied kein Geheimwort hinterlegt hat erscheint hier die Info, dass er ein Geheimes Wort hinterlegen lassen muss.

Update einer früheren Version:

  1. Benennen Sie ihr altes openbiblio-Verzeichniss um, so dass der Inhalt nicht verloren geht. Wir nennen hier das alte Verzeichnis openbiblio-old.
  2. Kopieren Sie das neue openbiblio-Verzeichnis und seinen Inhalt in ein Verzeichnis, das benannt werden sollte, wie das alte vorher hieß.
  3. Kopieren Sie die Datei database_constants.php aus dem openbiblio-old Verzeichnis in das neue openbiblio-Verzeichnis, indem Sie die Datei database_constants.php darin ersetzen.
  4. Erstellen sie unbedingt ein Backup ihrer Datenbank. Lesen Sie dazu die MySQL Dokumentation für eine Anleitung. (mysqldump benutzen)
  5. Updaten Sie die OpenBiblio-Datenbank-Tabellen, indem Sie das Konversions-Tool nutzen, welches sie unter http://localhost/openbiblio/install/index.php finden, wobei ich davon ausgehe, daß sie das openbiblio-Verzeichniss in das htdocs-Verzeichniss ihres Webservers kopiert haben. Wenn es auf einem entfernten Server installiert ist, ist auch der erste Teil der Adresse unterschiedlich. Wenn die Tabellen schon OK sind dann sagt das Tool: nein
  6. Für die Sicherheit: Entfernen Sie das Verzeichniss openbiblio/install komplett um unbefugten Zugriff auf die install- oder update-Tools zu verhindern. Falls vorhanden entfernen Sie auch das openbiblio/tests-Verzeichniss
  7. Für die Sicherheit: Prüfen Sie, dass die display_errors Einstellung in der php.ini ist 'Off' um zu verhindern, dass ungeprüfte Informationen angezeigt werden.
  8. Für die Sicherheit: Wechseln Sie in das openbiblio-Verzeichnis, ändern Sie sie Gruppe der Datei database_constants.php auf die Apache-Gruppe (meist www-data) und ändern Sie die Rechte auf 440. (chgrp www-data database_constants.php; chmod 440 database_constants.php)
Updates von 0.7.0: 0.8 ist ein Bugfix für 0.7.x: es funktioniert ohne, dass sie die Datenbank upgraden. Trotz alledem wird Schritt 5 empfohlen. Dieses bereinigt ungenutzte Einträge aus der Datenbank und entfernt einige Restriktionen.*
Updates von 0.7.1 oder höher: 0.8 ist ein Bugfix für 0.7.x: es funktioniert ohne, dass sie die Datenbank upgraden.*
* Wenn Sie die neue Präsenzfunktion (ab 0.8) in ihrer bestehenden Datenbank nutzen wollen müssen Sie folgenden Befehl in ihrer Datenbank ausführen: insert into biblio_status_dm values ('pre','Präsenz','N');