Skip to content

Installation

sumpfralle edited this page Jul 7, 2016 · 15 revisions

Für die Installation gibt es mit der install.sh ein Installer Script. Dieses installiert auf einem frischen Ubuntu 14.04 sowohl Scraper als auch Weboberfläche. Die Konfiguration beider Projekte liegt in der MongoDB.

Hinweis für Debian: install.sh kann mit einer kleinen Änderung betreffend der Installation von Java auch für die Installation auf Debian-System verwendet werden.

Um den Installer zu nutzen, brauchen wir einen Systemnutzer namens ris. Dazu holen wir uns Rootrechte und legen diesen an mittels:

sudo -i
adduser ris

Anschließend downloaden wir den Installer, machen diesen ausführbar und führen ihn aus:

wget https://raw.githubusercontent.com/okfde/ris-web/master/install.sh
chmod 755 install.sh
./install.sh

Der Installer downloaded nun zahlreiche Pakete, erstellt Virtual Enviroments etc. Zwischendurch fragt er für Java 8 nach, dort muss eine Lizenz bestätigt werden.

Nach Ausführung (Achtung, das dauert ein wenig) können wir die Konfiguration anpassen. Die meisten Werte stimmen bereits, aber drei Werte müssen angepasst werden:

sudo -i -u ris
cd /srv/www/ris-web/
nano config.py

Hinweis: Falls config.py dort noch nicht existiert, dann existiert config_dist.py und kann kopiert werden.

Angepasst werden müssen BASIC_AUTH_USERNAME, BASIC_AUTH_PASSWORD und SECRET_KEY. In Secret Key sollten ca. 32 zufällige Zahlen, Buchstaben und Sonderzeichen.

Anschließend können wir das Virtual Enviroment aktivieren und den Entwicklungsserver starten:

source venv/bin/activate
python runserver.py

Unter http://ubunturechner:23000/admin/config können wir nun den eben gesetzten Nutzernamen und das Passwort eingeben und erhalten Zugriff auf die Konfiguration. Dort müssen vor allem die Werte api_url und base_url auf die Serveradresse angepasst werden (beim Entwicklungsserver sinnigerweise ubunturechner:23000).

Unter http://ubunturechner:23000/admin/bodies kann man nun Städte hinzufügen. Eine Vorlage einer Stadtkonfiguration befindet sich hier. Anzupassen sind dort folgende Werte:

  • county - der Landkreis, bei einer kreisfreien Stadt die Stadt selbst.
  • base_url - die Original URL, also z.B. bei Bochum https://session.bochum.de/bi/
  • type - der Typus. Im Moment funktionieren sessionnet-asp und sessionnet-php
  • name - Name der Stadt
  • rgs - Regionalschlüssel der Stadt, eine zwölfstellige Nummer, 059110000000 für Bochum

Mit diesen Informationen kann man bereits den Scraper starten. Für die Weboberfläche benötigen wir noch die Definition der Regionen. Dies geht unter http://ubunturechner:23000/admin/regions.

Als erstes brauchen wir eine große Default Region, z.B. Deutschland. Diese enthält dann alle IDs, welche unter http://ubunturechner:23000/admin/bodies zu finden sind. Hat man die Default Region erstellt, muss man die ID der Default Region in der Config unter http://ubunturechner:23000/admin/config in den Wert region_default eintragen.

Anschließend können (müssen aber nicht) weitere Regionen erstellt werden.

Die IDs der Bodies benötigt man nicht nur für die Regionen, sondern auch für den Scraper. Wir kopieren eine solche Body ID - z.B. 549ad6881ae6a038f9b5e1a1 - und wechseln auf den Scraper:

deactivate
cd ../ris-scraper
source venv/bin/activate

Dort können wir dann gemäß der Scraper-Anleitung z.B. den Januar 2014 scrapen:

python main.py --interactive DEBUG --body 549ad6881ae6a038f9b5e1a1 --start 2014-01 --end 2014-01

Um die Weboberfläche zum Laufen zu bekommen, müssen zusätzlich noch einige Helper-Scripte ausgeführt werden. Die Ausführung dauert üblicherweise eine Weile:

deactivate
cd ../ris-web
source venv/bin/activate
python scripts/generate_fulltext.py 549ad6881ae6a038f9b5e1a1
python scripts/generate_thumbs.py 549ad6881ae6a038f9b5e1a1

Folgendes Skript bereitet eine Sitemap für Suchmaschinen auf. Dadurch können diese Dokumente und Dateien einfacher erschliessen.

mkdir /srv/www/ris-web/webapp/static/sitemap
python scripts/generate_xml_sitemaps.py

Und der Rest der Installation:

python scripts/elasticsearch_import.py
python scripts/generate_data_dump.py
python scripts/export_attachments.py

Anschliessend muss der Server neu gestartet werden, damit alle Änderungen wirksam werden. Danach kann http://ubunturechner:23000 aufgerufen werden.