From e10ac887fbf2a3fc51876aa13fcf688f1809b35f Mon Sep 17 00:00:00 2001 From: Felix Lohmeier Date: Tue, 2 Apr 2019 00:00:34 +0200 Subject: [PATCH] =?UTF-8?q?Anleitung=20Server=20f=C3=BCr=20Workshop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server-installieren.md | 210 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 server-installieren.md diff --git a/server-installieren.md b/server-installieren.md new file mode 100644 index 0000000..57d3100 --- /dev/null +++ b/server-installieren.md @@ -0,0 +1,210 @@ +# Server installieren + +Benötigt wird ein Linux Webserver mit Ubuntu 18.04 LTS und 4 GB RAM + +## 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: (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: + +*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 + 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 + ``` + + - ``` + iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3333 + ``` + +- 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 reload 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 + ``` \ No newline at end of file