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:
- 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 bor 7.0 wird nicht mehr unterstützt!)
Bekannte Probleme:
- 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
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
- 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).
- 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.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');