openrefine-kimws2019/server-installieren.md

6.3 KiB

Server installieren

Benötigt wird ein Linux Webserver mit Ubuntu 18.04 LTS und 4 GB RAM

Achtung: Diese Anleitung ist nur für eine kurzzeitige Verwendung gedacht. Die verwendeten Dienste (OpenRefine, Solr) stehen frei im Netz und müssten für einen dauerhaften Betrieb noch abgesichert werden.

1. Installation Webserver

Variante A: Installation mit VirtualBox

Laden Sie die Software VirtualBox herunter und installieren Sie diese auf Ihrem Betriebssystem. Die Software ist erhältlich für Windows, Mac (OS X) und Linux.

Laden Sie außerdem das Installationsmedium (ISO-Datei) der Linux-Distribution Ubuntu in der Version 18.04 LTS herunter: https://www.ubuntu.com/download/desktop (ca. 2 GB).

Neue virtuelle Maschine erstellen:

  • Name: kimws2019-openrefine
  • Type: Linux
  • Version: Ubuntu (64-bit)
  • Memory size: 4096 MB
  • Hard disk: VDI / dynamically allocated / 20 GB

Einstellungen der virtuellen Maschine anpassen (Empfehlungen):

  • General/Advanced/Shared clipboard: Bidirectional
  • System/Processor/Processor(s): 2
  • System/Processor/Extended Features: Enable PAE/NX
  • Display/Screen/Video Memory: 128 MB
  • Network/Adapter 1/Advanced/Port Forwarding/+
    • Host Port: 80
    • Guest Port: 80

Start der virtuellen Maschine:

Wählen Sie die zuvor heruntergeladene Installationsdatei (ubuntu-18.04.2-desktop-amd64.iso oder ähnlich) aus und folgen Sie dem Installationsprogramm. Danach sollten wir als erstes Sicherheitsupdates installieren. Öffnen Sie das Programm Terminal und geben Sie dort folgenden Befehl ein:

sudo apt update && sudo apt upgrade

VirtualBox Gasterweiterungen installieren

Nach erfolgreicher Installation des Betriebssystems müssen noch Erweiterungen der Software VirtualBox installiert werden, damit die Zwischenablage funktioniert. Geben Sie dazu folgenden Befehl ein und starten Sie anschließend das System neu.

sudo apt install virtualbox-guest-x11

Variante B: Installation bei einem Cloud-Hoster

Eine kostengünstige Möglichkeit ist die Registrierung beim Anbieter Digital Ocean. Sie erhalten 10 Dollar Startguthaben, sofern Sie sich über folgenden Link anmelden: https://m.do.co/c/22f45ed23fdd

Disclaimer: Der Autor dieses Tutorials erhält von Digital Ocean 25 Dollar Guthaben, sofern Sie Digital Ocean weiter nutzen und dort mindestens 25 Dollar ausgeben, vgl. Empfehlungsprogramm.

Droplet erstellen

  • Image: Distributions / Ubuntu / 18.04
  • Size: 4 GB, 2 CPUs, 80GB SSD, 4TB transfer
  • Datacenter region: Frankfurt

Login via SSH

Per E-Mail wird die IP-Adresse und ein Einmalpasswort zugestellt. Verbinden Sie sich über SSH mit dem Server. Unter Windows können Sie den kostenlosen SSH-Client putty.exe verwenden, der ohne Administrationsrechte ausgeführt werden kann. Unter Mac OS X und Linux ist eine SSH-Funktionalität integriert und kann direkt vom Terminal aufgerufen werden. Beispiel:

ssh root@46.101.132.29

Sobald Sie mit dem Einmalpasswort eingeloggt sind, müssen Sie ein neues Passwort für den Root-Account vergeben. Als erstes sollten wir danach Sicherheitsupdates installieren:

apt update && apt upgrade

2. Installation von OpenRefine

  • Install Java 8 und unzip

    • apt install openjdk-8-jre-headless unzip
      
  • Java Workaround für Cloud-Server

    • sed -i 's/securerandom.source=file:\/dev\/random/securerandom.source=file:\/dev\/urandom/' /etc/java-8-openjdk/security/java.security
      
  • Installation OpenRefine 3.2 beta

    • mkdir /opt/openrefine
      wget https://github.com/OpenRefine/OpenRefine/releases/download/3.2-beta/openrefine-linux-3.2-beta.tar.gz
      tar -xzf openrefine-linux-3.2-beta.tar.gz -C /opt/openrefine --strip 1
      
  • Installation OpenRefine service als root

    • adduser --system openrefine
      
    • echo "[Unit]
      Description=OpenRefine
      [Service]
      User=openrefine
      ExecStart=/opt/openrefine/refine -i 0.0.0.0 -m 14G
      TimeoutStopSec=3600s
      Restart=always
      [Install]
      WantedBy=default.target
      " > /etc/systemd/system/openrefine.service
      
    • systemctl enable openrefine.service
      systemctl start openrefine.service
      
  • OpenRefine service unter Port 80 erreichbar machen

    • iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3333
      iptables-save > /etc/iptables/rules.v4
      apt install iptables-persistent
      
  • Installation OpenRefine client

    • wget -O /usr/bin/openrefine-client https://github.com/opencultureconsulting/openrefine-client/releases/download/v0.3.4/openrefine-client_0-3-4_linux-64bit
      chmod +x /usr/bin/openrefine-client
      

3. Nutzer*innen für Workshop anlegen

  • SSH erlauben

    • sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config && systemctl restart sshd
      
  • Beispieldateien in /etc/skel bereitlegen...

    • wget https://github.com/felixlohmeier/openrefine-kimws2019/archive/master.zip
      unzip -j master.zip -d /etc/skel/
      rm master.zip
      
  • Gruppe und User anlegen

    • groupadd kim
      useradd -m -s/bin/bash -G kim kim01
      useradd -m -s/bin/bash -G kim kim02
      useradd -m -s/bin/bash -G kim kim03
      useradd -m -s/bin/bash -G kim kim04
      useradd -m -s/bin/bash -G kim kim05
      
  • Passwörter setzen

    • passwd kim01
      
    • passwd kim02
      
    • passwd kim03
      
    • passwd kim04
      
    • passwd kim05
      

4. Installation HOS-MetadataTransformations

  • Verzeichnis anlegen und Gruppe kim dafür berechtigen

    • mkdir -p /opt/hos
      chgrp -R kim /opt/hos/
      chmod -R 2775 /opt/hos/
      
  • Daten herunterladen und installieren

    • cd /opt/hos
      git clone https://github.com/subhh/HOS-MetadataTransformations.git .
      
    • ./install.sh
      
    • ./init-solr-schema.sh
      
  • Schreibrechte für Gruppe kim

    • chmod -R g+w /opt/hos
      
  • Standardports in den Shell-Scripten verändern, damit sich die User nicht in die Quere kommen

    • sed -i 's/port="3334"/port="$((3334+$(id -u | cut -c 4)))"/g' /opt/hos/bin/*.sh /opt/hos/run.sh