openrefine-kimws2019/server-installieren.md

220 lines
6.3 KiB
Markdown
Raw Permalink Normal View History

2019-04-02 00:00:34 +02:00
# Server installieren
Benötigt wird ein Linux Webserver mit Ubuntu 18.04 LTS und 4 GB RAM
2019-04-02 11:16:00 +02:00
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.
2019-04-02 00:00:34 +02:00
## 1. Installation Webserver
#### Variante A: Installation mit VirtualBox
Laden Sie die Software [VirtualBox](https://www.virtualbox.org/wiki/Downloads) 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](https://www.digitalocean.com/docs/accounts/settings/referral-program/)*.
#### 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](https://the.earth.li/~sgtatham/putty/latest/w32/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
2019-04-02 00:52:35 +02:00
```
- Java Workaround für Cloud-Server
- ```
2019-04-02 00:00:34 +02:00
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
```
2019-04-02 11:16:00 +02:00
- OpenRefine service unter Port 80 erreichbar machen
2019-04-02 00:00:34 +02:00
- ```
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3333
2019-04-02 11:16:00 +02:00
iptables-save > /etc/iptables/rules.v4
apt install iptables-persistent
2019-04-02 00:00:34 +02:00
```
- 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
- ```
2019-04-02 11:16:00 +02:00
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config && systemctl restart sshd
2019-04-02 00:00:34 +02:00
```
- 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
```