Anleitungen
Installationsanleitung
Index:
- Erscheinungsbemerkungen
- Systemvoraussetzungen
- OpenBiblio 0.8.1 Installationsanleitung (Neues System)
- Einrichten des Userlogin
- Update einer früheren Version
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
- 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 bzw. MariDB version 10.2.37 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).
- 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, wobei ich davon ausgehe, daß sie das openbiblio-Verzeichniss in das htdocs-Verzeichniss ihres Webservers kopiert haben.
- 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 "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 Userlogin:
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 Passwörter 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. (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.*
Updates von 0.8 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.