Podes prosjektblogg

Oppsett av VuFind

Postet den 21. January 2010 | Skrevet av Magnus | Ingen kommentarer

VuFind er et “alternativt grensesnitt” – et system som indekserer MARC-poster fra en bibliotekkatalog (og andre typer data fra andre kilder), gjør dem søkbare og presenterer dem på litt andre måter enn dem vi er vant til fra katalogene. Her følger oppskriften på hvordan vi fikk dette systemet opp og gå.

Installasjon

Vi fulgte veiledningen i VuFind 1.0RC2 on Ubuntu.

Apache, MySQL og PHP var installert på serveren fra før, så disse trinnene hoppet vi over. Deretter var det behov for å installere Java:

sudo apt-get -y install sun-java6-jdk

Subversion hadde vi også fra før, så vi kunne hente kildekoden til VuFind med denne kommandoen:

sudo svn export --force https://vufind.svn.sourceforge.net/svnroot/vufind/releases/VuFind-1.0RC2 /tmp/vf_download

Og flytte koden til standard-plsseringen:

sudo mv /tmp/vf_download /usr/local/vufind

Vi opprettet en egen bruker for VuFind og gjorde denne brukeren til eier av filene:

sudo adduser vufind
sudo chown -R vufind:vufind /usr/local/vufind

Men noen av filene må eies av Apache-brukeren www-data:

sudo chown www-data:www-data /usr/local/vufind/web/interface/compile
sudo chown www-data:www-data /usr/local/vufind/web/interface/cache
sudo chown www-data:www-data /usr/local/vufind/web/images/covers/*

Noen filer skal være kjørbare:

sudo chmod +x /usr/local/vufind/vufind.sh
sudo chmod +x /usr/local/vufind/import-marc.sh

VuFind sin Apache-konfigurasjon må lenkes inn på rett plass og aktiviseres:

sudo ln -s /usr/local/vufind/httpd-vufind.conf /etc/apache2/conf.d/vufind
sudo /etc/init.d/apache2 reload

Så kan selve installasjons-skriptet kjøres:

sudo /usr/local/vufind/install

og VuFind startes, som vufind-brukeren:

su vufind
./vufind.sh start

VuFind skulle nå være tilgjengelig på www.bibpode.no/vufind, men det viste seg at det var noen skjær i sjøen før vi kom så langt.

Problemer under veis

VuFind forventer å finne Solr på port nummer 8080, men der kjører vi allerede Koha sitt interne grensesnitt, dermed måtte vi følge denne oppskriften for å endre portnummeret.

Vi gjorde flere forsøk på indeksere poster med

./import-marc.sh eksempel.mrc

der fila eksempel.mrc inneholdt et lite utvalg poster i ISO2709-format, men støtte stadig på denne feilmeldingen:

SEVERE: java.lang.RuntimeException: java.io.FileNotFoundException: no segments* file found in org.apache.lucene.store.NIOFSDirectory@/usr/local/vufind/solr/biblio/index

Forklaringen på dette viste seg å være at mappene som skal inneholde Solr sine indekser var blitt opprettet under et tidlig, mislykket importforsøk og at disse mappene derfor var tomme. Solr forventer å finne indeksfiler i disse mappene når de først eksisterer, og døde med en feilmelding når de viste seg å være tomme. Løsningen ble å slette mappene for hånd og kjøre indekseringen på nytt.

Indeksering

Då vi hadde løst problemet over prøvde vi å importere en fil med seks poster, av disse ble en importert. Så prøvde vi med hele eksporten fra Bibliofil på ca 400.000 poster, da ble fire poster indeksert. Løsningen på dette problemet viste seg å antagelig ligge i hvilke tegn som er brukt for å markere slutten på en post. Ved å kjøre postene gjennom dette skriptet og fikk vi en fil som lot seg importere:

#!/usr/bin/perl -w
# Usage:
# fix.pl > poster.mrc
use MARC::File::USMARC;
use MARC::Record;
use strict;
my $input_file = '/sti/til/fila_med_postene.mrc';
# Check that the file exists
if (!-e $input_file) {
 print "The file $input_file does not exist...\n";
 exit;
}
my $marcfile = MARC::File::USMARC->in($input_file);
while ( my $record = $marcfile->next() ) {
 print $record->as_usmarc();
}

Etter indeksering ble alle alle postene søkbare!

cd /etc/local/vufind
su vufind
./import-marc.sh poster.mrc

Administrasjonsgrensesnitt

VuFind har et admin-grensesnitt som er tilgjengelig på /vufind/Admin/Home. Her er det satt et standard passord for brukeren “admin” som man bør endre med følgende kommando:

su vufind
htpasswd /usr/local/vufind/web/services/Admin/.htpasswd admin

Man blir da bedt om å fylle inn og bekrefte det nye passordet.

Kommentarer

Legg igjen en kommentar