Anleitungen
Installationsanleitung
Index:
- Erscheinungsbemerkungen
- Systemvoraussetzungen
- OpenBiblio 0.8 Installationsanleitung (Neues System)
- Einrichten des Userlogin
- Update einer früheren Version
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:- Versionen vor 0.5.2: sehr wichtig. Das Update funktioniert auch mit den Versionen von openbiblio.de.
- 0.5.2: Die Dringlichkeit hängt ab von Kompatibilität, Bugfixes, Neuen Funktionen und dem Vertrauen in die Benutzer mit der Erlaubnis die Berichte aufzurufen.
- 0.6.0, 0.6.1: Die Dringlichkeit hängt ab von Kompatibilität, Bugfixes und Neuen Funktionen
- 0.7.0, 0.7.1: Viele Bugfixes für Neue Funktionen, besonders in der Ausleihe. Verbesserung der Sicherheit.
- 0.7.3.x: Update auf PHP 7.x möglich
- 0.8 und größer: Update auf das aktuelle und sicherere PHP 8.1/8.2 möglich (PHP vor 7.0 wird nicht mehr unterstützt!)
- MARC wird nicht perfekt in der Datenbank abgespeichert (Problem 1, wird gefixed in obiblio-10-wip).
- Wenn Sie bis ins Jahr 2038 noch nicht auf 64bit PHP geupdatet haben kann es zu Problemen bei der Berechnung von den Verspätungen, den entsprechenden Verspätungsgebühren und der Berechnung der Reservierungsdauer kommen. (Problem 51).
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
- PHP version 7.0 oder höher und ein Webserver, der dies unterstützt. (PHP 4.2 mit Versionen bis 0.7.x)
- MySQL version 4.0.12 oder höher
Installationsanleitung
- öffnen Sie das SQL-query Fenster.
- Führen Sie dort die SQL-Kommandos aus Schritt 9 und Schritt 10, die unten beschrieben sind, aus. Das Kommando ist der dickgeschriebene Teil direkt hinter mysql
- Springen Sie zu Schritt 12 und beenden Sie die Prozedur.
Prozedur
- 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 :-))
- 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!
- 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):
- 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.
- 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.
- 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. - 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):
- 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:\>
- 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 | +--------------+
- 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';
- Prüfen Sie ihre Datenbank und den Benutzer, indem Sie sich
als Benutzer einloggen.
C:\mysql\bin\mysql -uobiblio_user -pobiblio_password OpenBiblio
- Kopieren Sie das openbiblio-Verzeichnis und seinen gesamten Inhalt in das htdocs-Verzeichnis oder einen Unterordner ihres htdocs-Verzeichnis ihres Webservers.
- 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).
- 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.
- Für die Sicherheit: Entfernen Sie das Verzeichniss openbiblio/install komplett um unbefugten Zugriff auf die install- oder update-Tools zu verhindern.
- 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.
- 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)
- 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
- In Openbiblio unter http://localhost/openbiblio/index.html einloggen und dort in den Admin-Bereich wechseln.
- Hier in den Bereich Mitgliederfelder wechseln und dort ein neues spezifisches Feld hinzufügen.
- 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.
- Ab jetzt ist unter http://localhost/openbiblio/opac/index.html das Benutzerlogin freigeschaltet.
- 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:
- Benennen Sie ihr altes openbiblio-Verzeichniss um, so dass der Inhalt nicht verloren geht. Wir nennen hier das alte Verzeichnis openbiblio-old.
- Kopieren Sie das neue openbiblio-Verzeichnis und seinen Inhalt in ein Verzeichnis, das benannt werden sollte, wie das alte vorher hieß.
- 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.
- Erstellen sie unbedingt ein Backup ihrer Datenbank. Lesen Sie dazu die MySQL Dokumentation für eine Anleitung. (mysqldump benutzen)
- 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
- 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
- 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.
- 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.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');