Dieser Artikel beschreibt, wie die bedauerlicherweise nicht als OSS verfügbare Bibliotheks-Software Perpustakaan so im Schulnetz installiert werden kann, dass die Bibliotheksdatenbank in mysql auf dem Server abgelegt wird. Das beschriebene Vorgehen wurde mit der Version „Perpustakaan Professional“ durchgeführt.
Damit aus dem grünen Netz heraus auf den Datenbankserver (mysql) des Schulservers zugegriffen werden kann, müssen zwei Anpassungen an der Serverkonfiguration vorgenommen werden:
/etc/mysql/my.cnf
muss der Eintrag bind-adress
geändert werden auf den Wert 0.0.0.0
, damit der mysql-Server auf alle Netzwerkinterfaces hört und nicht nur auf 127.0.0.1
. Nach der Änderung startet man den mysql-Server mit dem Befehl/etc/init.d/mysql restart
neu./etc/linuxmuster/allowed_ports
muss der Port tcp 3306
angefügt werden eintragen und die interne Firewall mit dem Befehl /etc/init.d/linuxmuster-base restart
neu gestartet werden. Jetzt können Clients aus dem grünen Netz den mysql Server kontaktieren, sofern in mysql ein Benutzer mit den entsprechenden Berechtigungen existiert.
Nun muss die mysql Datenbank angelegt werden. Hierzu bringt Perpustakaan einen mysql-Dump (createDB.sql) mit, den man nur noch einspielen muss. Dabei werden standardmäßig zwei Benutzer angelegt, die vom lokalen Rechner aus (also vom Server aus) auf die Datenbank zugreifen dürfen. Zunächst vergibt man diesen beiden Benutzern ein Passwort, indem man die beiden folgenden Zeilen am Ende der Datei createDB.sql
entsprechend ändert:
insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv) values ('localhost','librarian',password('libpwd'),'Y','Y','Y','Y'); insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv) values ('localhost.localdomain','librarian',password('libpwd'),'Y','Y','Y','Y');
librarian
kann man einen eigenen Benutzernamen angebenlbpwd
muss man ein eigenes Passwort (im Klartext) in die Datei schreiben
Nach Eingabe des Befehls mysql -u root -h localhost
als Benutzer root an der Kommandozeile des Musterlösungsservers sollte ohne weitere Abfrage eines Kennworts die mysql-Befehlszeile erscheinen:
Mit dem Befehl quit;
kann man die mysql-Befehlszeile verlassen und zur Linux-Eingabeaufforderung zurückkehren.
Nach den obigen Vorarbeiten kann die Perpustakaan Datenbank mit dem Befehl
mysql -u root -h localhost < createDB.sql
angelegt werden. Der Erfolg der Aktion kann auf der mysql-Befehlszeile (nach Eingabe von mysql -u root -h localhost
) mit folgenden Befehlen überprüft werden:
Beim letzten Befehl sollten die Perpustakaan Benutzer angezeigt werden.
Da es in mysql nun jedoch nur Benutzer gibt, die von localhost aus auf die Perpustakaan-Datenbank zugreifen können, muss im weiteren für jeden Rechner im Netzwerk, der auf die DB zugreifen können soll ein weiterer Benutzer angelegt werden. Das geht auf der mysql-Befehlszeile wie folgt:
GRANT ALL ON perpustakaan.* TO 'benutzername'@'10.32.30.1' identified by 'geheimespasswort';
Wobei die Parameter benutzername
, die IP-Adresse nach dem Klammeraffen und geheimespasswort
angepasst werden müssen. Die IP-Adresse muss dabei diejenige des Rechners sein, von dem aus auf die Datenbank zugegriffen werden soll. Auf diesem Rechner wird nun anschließend Perpustakaan installiert. Soll der Zugriff von weiteren Rechnern im Netz erfolgen, muss für jede betroffene Rechner-IP ein entsprechender Eintrag angelegt werden.
Zunächst wird die Bilbiotheksoftware mit dem mitgelieferten Setup-Programm (Setup.exe) auf dem Client installiert. Um die mysql-Datenbank nutzen zu können, muss ein Treiber von der mysql-Seite heruntergeladen werden. Alternativ kann man direkt hier schauen, um das Anmeldeformular auf der mysql-Seite auszulassen.
Wenn man die zip-Datei mysql-connector-java-<version>.zip
entpackt, erhält man eine Datei mit dem Namen mysql-connector-java-<version>.jar
. Diese kopiert man in das Verzeichnis C:\Programme\Perpustakaan\lib
.
Nun kann man Perpustakaan starten und die Datenbankverbindung einrichten.
Server-IP, Benutzername und Passwort müssen entsprechend angepasst werden.
Diese Beschreibung wurde mit LML6.1 getestet.
In der Pro-Version ist eine einfache Onlinesuche includiert. Diese ist in Java geschrieben und läuft über Tomcat. Beides also installieren:
apt-get install openjdk-7-jdk apt-get install tomcat7
Tomcat wird dazu gezwungen die Java7 zu verwenden indem man /etc/default/tomcat7
editiert und
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 einfügt.
Die Datei weblib.war von der Perpustakaan Lieferung nach /var/lib/tomcat/webapps kopieren.
Einmal
/etc/init.d/tomcat7 restart
ausführen. Dadurch wird die weblib.war-Datei ausgepackt. Diese Datei nicht löschen, sonst entfernt Tomcat wieder das weblib-Verzeichnis.
Den MySQL-Connector für Java nun in das neue Verzeichnis
/var/lib/tomcat7/webapps/weblib/WEB-INF/lib
kopieren.
Nun muss Tomcat noch die Datenbank bekannt gemacht werden: In /var/lib/tomcat7/webapps/weblib/param
die Datei connect_mysql_sample.spec
in connect.spec
umbenennen und darin die Werte so anpassen wie sie oben unter MySQL angelegt wurden. (Es ist auch möglich den Tomcat-Server auf eine andere Maschine zu legen.) In diesem Ordner kann man übrigens noch die Datei footer.txt
an seine Bedürfnisse anpassen.
Zur Sicherheit Tomcat nochmal neu starten. Nun sollte unter http://server:8080/weblib/servlet/main
das OPAC erreichbar sein.
Wenn ein anderer Port verwendet werden soll, so kann dies unter /etc/tomcat/server.xml
eingetragen werden. (An die allowed.ports
denken)
Da die weblib.war bei mir nicht sofort funktioniert hat, hat mir Herr Müller direkt eine neue gemacht - also im Zweifel nachfragen;)
Die Authentifikation der Benutzer im OPAC erfolgt über Ausweisnummer und Passwort (alternativ Geburtsdatum ohne Trennzeichen). LDAP wird (leider) nicht unterstützt.