Index:
Erscheinungsbemerkungen
Version 0.8.1 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.x möglich (PHP vor 7.0 wird nicht mehr unterstützt!)
- 0.8.1: Verbesserung der Sicherheit, v.a. in Bezug auf Passwortverschlüselung
Bekannte Probleme:
- MARC wird nicht perfekt in der Datenbank abgespeichert
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 8.0 oder höher und ein Webserver, der dies
unterstützt.
- MySQL version 4.0.12 oder höher
Oft genutzte Szenarien um ihr System den
Anforderungen gerecht zu machen
- Linux: Fügen Sie die Software über ihren "Paketmanager"
hinzu.
- Windows: für eine Einzelplatzlösung oder zu Testzwecken
sollte man ein "WAMP"-Paket wie EasyPHP
oder XAMPP nutzen.
- Download und Installation der benötigten Software: siehe
unten.
Installationsanleitung
Wenn Sie
phpMyAdmin zum Einstellen ihrer Datenbank nutzen:
- Ö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
Schritte 1-8: Die Details sind eventuell
etwas veraltet, aber die Grundlagen sind trotzdem gültig.
- 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).
- Bearbeiten sie die Datei global_constants.php
(befindet sich im Verzeichnis shared von openbiblio) mit einem
Texteditor ihrer Wahl. Ändern sie folgende zwei Konstanten nach Ihrer Wahl:
--> OBIB_UPGRADE_KEY
--> OBIB_PWD_FORGOTTEN_KEY
- 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.
- 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 oder auf 400. (chgrp www-data
database_constants.php; chmod 440 oder chmod 400 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 "Administrator#1" 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.
- Unter admin --> Bibliothekseinstellung können systemreleavante Einstellungen vorgenommen werden, u.a. auch, ob die Bibliotheksnutzer
per Online auf ihren persönlichen Account zugreifen dürfen oder nicht.
- Um den Mailversand für bspw. Passwort-Vergessen-Funktion oder Willkommensmeldung nutzen
zu können, müssen Sie als Administrator unter admin --> Mail-Nachrichten bei den jeweiligen
Nachrichten eine gültige E-Mail-Adresse als Absender hinterlegen. Diese kann sich bei den einzelnen
Nachrichten auch unterscheiden.
- Die Passwort-Vergessen-Funktion kann unter admin --> Mail-Einstellungen aktiviert werden. Dabei können Sie entscheiden, ob
entweder die Benutzernummer/-name oder die E-Mail-Adresse angegeben werden müssen oder beides.
- Der Mailversand kann entweder über die php-Mail-Funktion oder über PHPMailer geschehen, soweit die Systemvoraussetzungen gegeben sind
und die nötigen Einstellungen vorgenommen wurden.
- Ab der Openbiblio-Version 0.8.1 sind zwei Bibliotheken mit eingebunden:
--> PHPMailer (URL: https://github.com/PHPMailer/PHPMailer)
--> TinyMCE-Text-Editor (URL: https://www.tiny.cloud/docs/tinymce/latest/php-projects/)
Diese sollten ohne weiteres funktionieren, soweit die technischen Systemvoraussetzungen Ihres Servers gegeben sind. Sollte es Schwierigkeiten geben, lesen
Sie bitte die Informationen über obige URLs durch.
Einrichten des Benutzer-Logins:
Generell muss entschieden werden, ob die Openbiblio als reines Verwaltungsprogramm
ohne Online-Login-Zugang für die Benutzer sein soll oder diese einen Online-Login-Zugang erhalten sollen.
Die Einstellung dazu ist zu finden über das Register "Admin" unter dem Link "Bibliothekseinstellungen".
Im Verlauf der Aktualisierung auf 0.8.1 kann diese Einstellung entsprechend vorgenommen werden.
Das Benutzer-Login wird ab der Version 0.8.1 geändert. Das Passwort der Benutzer (member)
wird nun in der DB-Tabelle member verschlüsselt hinterlegt. Bisher angelegte Passworter
unter dem Mitgliederfeld 'secret' werden bei der Aktualisierung automatisch kopiert und
verschlüsselt in die DB-Tabelle member gesetzt. Die nicht mehr benötigten 'secret'-Felder
in den DB-Tabellen member_fields und member_fields_dm werden danach gelöscht.
Außerdem wird der Benutzer bei zu häufiger Fehleingabe der Zugangsdaten für eine bestimmte Zeit gesperrt.
Bei der Aktualiserung auf 0.8.1 können während dem Update die Anzahl der Fehlversuche und
die Sperrzeit gesetzt werden. Ansonsten können diese Einstellungen jederseit über das Register "Admin"
unter dem Link "Bibliothekseinstellungen" geändert werden.
Soweit in den Bibliothekseinstellungen der Online-Login-Zugriff für Benutzer erlaubt wurde,
- steht dem Benutzer unter http://localhost/openbiblio/opac/index.html
der Button zum Benutzer-Login zur Verfügung.
- muss beim Anlegen des neuen Benutzers das Kennwort angelegt werden.
- kann sich der Benutzer über den Button "Benutzer-Login" oder über den Link http://localhost/openbiblio/opac/loginform.php
unter Angabe der Benutzernummer und des Kennwortes einloggen.
Über sein Benutzerkonto kann der Benutzer seine Medien verlängern, Vorbestellungen vornehmen
und das Kennwort ändern.
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)
- Zum Updaten wird der Upgrade-Key benötigt, welcher unter der Konstante
OBIB_UPGRADE_KEY in der Datei ../shared/global_constants.php hinterlegt ist.
- 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
meldet dies das Tool entsprechend zurück.
- Für die Sicherheit: Das Verzeichniss openbiblio/install
kann komplett nach der Installation bzw. Update gelöscht werden.
Allerdings ist dies ab Version 0.8.1 nicht zwingend mehr notwendig, da
der Aktualisierungsprozess über den Upgrade-Key abgesichert ist.
- 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 oder auf 400. (chgrp www-data
database_constants.php; chmod 440 oder chmod 400 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.*
Updates von 0.7.1 oder höher: 0.8.1 ist eine Erweiterung und benötigt ein Upgrade
der Datenbank. Es beinhaltet folgende Änderungen:
- Einstellung, ob Benutzer (member) einen Online-Zugriff auf ihr Konto haben oder nicht.
- Passwörter für Benutzer sind Pflicht bei Online-Zugriff und müssen bestimmten Kriterien
entsprechen.
- Passworter von Benutzer und Bibliotheksmitarbeitenden werden per password_hash verschlüsselt.
Bisherige Geheimwörter, welche in der DB-Tabelle memmber_fields hinterlegt waren, werden, verschlüsselt
in die DB-Tabelle member kopiert. Die nicht mehr benötigten Felder in member_fields und member_fields_dm
werden gelöscht.
- Passwörter für Benutzer werden nun standardmäüig in der DB-Tabelle member verschlüsselt hinterlegt.
- Bei entsprechenden Fehlversuchen bei Login eine zeitliche Sperrung. Sowohl die Anzahl der
Fehlversuche, als auch der Zeitraum ist in einer bestimmten Spanne einstellbar.
- Bei dem Upgrade auf 0.8.1 können die neuen Einstellungen beim Upgrade-Prozess gesetzt werden.
- Die Aktualisierungseiten sind nun sprachlich angepasst.
* 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');