Skip to the content.

Anleitung zur lokalen Installation von eScriptorium unter Linux bzw. Windows (WSL/Virtual Box)

Die folgende Installationsanleitung basiert auf einer Installation unter Linux mit den Linux-Distributionen Ubuntu 20.04.3 oder Debian 11.

Unter Windows 10 und 11 stellt das Windows Subsystem for Linux (WSL) eine geeignete Linux-Umgebung bereit. Alternativ kann auch eine Virtualisierungssoftware wie beispielsweise Virtual Box mit Ubuntu 20.04.3 als Basis genommen werden.

Wenn Sie weitere Informationen oder Hilfe bei der Installation von eScriptorium brauchen, wenden Sie sich gerne an Larissa Will (larissa.will(at)uni-mannheim.de).

Nachdem VirtualBox bzw. die Debian- oder Ubuntu-Umgebung auf dem PC installiert und gestartet wurde, öffnen Sie mittels eines Rechtsklicks auf den Desktop das Terminal. Wenn Sie WSL nutzen, dann öffnen Sie einfach die installierte Distribution.

Aktualisieren Sie zunächst Ihr Linux mit folgenden Befehlen:

sudo apt-get update
sudo apt-get upgrade

1. Installation relevanter Programme

Zunächst installieren Sie alle Programme, die Sie für die Nutzung bzw. Installation von eScriptorium benötigen. Dazu gehören Git, NPM, Postgresql-Installationen, der Redis-Server, Werkzeuge von Drittanbietern sowie Python und die virtuelle Umgebung:

sudo apt install git postgresql postgresql-contrib libpq-dev redis-server gettext netcat-traditional jpegoptim pngcrush libvips build-essential python3 python3-dev python3-venv npm

Hinweis: Nach dem ersten sudo-Befehl (sudo wird benutzt, um Prozesse mit den Rechten eines anderen Benutzers (z. B. des Superusers root) zu starten, fordert Sie die Linux-Distribution immer dazu auf, Ihr Passwort einzugeben. Es fragt Sie dann, ob Sie den entsprechenden Speicherplatz für die Installation freigeben möchten. Im Terminal erscheint dann die Auswahlmöglichkeit: [Y/n]. Durch Betätigung der Enter-Taste wird automatisch die großgeschriebene Auswahl bestätigt, alternativ kann der entsprechende Buchstabe eingegeben und mit Enter bestätigt werden. Dies kann während der Installation öfter auftreten.

OPTIONAL: Falls Fehlermeldungen bei der Postgresql Installation auftauchen:

sudo apt update
sudo apt update --fix-missing
sudo apt install postgresql

2. Start der Server für Postgresql und Redis

sudo service postgresql start
sudo service redis-server start

OPTIONAL: Der derzeitige Status von Postgresql kann jederzeit mit folgendem Befehl abgefragt werden:

sudo service postgresql status

3. Benutzernamen anlegen

Mit diesem Befehl wird Ihr Linux-Benutzername als eScriptorium-Benutzername gesetzt:

(cd /tmp && sudo -u postgres createuser --superuser $(whoami))

Wenn Sie einen anderen Namen als Ihren Linux-Nutzernamen wählen möchten, geben Sie ein:

sudo -u postgres createuser --superuser <Nutzername>

Wobei “Nutzername” dem von Ihnen gewählten Namen entspricht.

4. Datenbank für eScriptorium anlegen

createdb escriptorium

5. Repository klonen

Sie klonen nun das Repository von GitLab.

git clone https://gitlab.com/scripta/escriptorium.git ~/escriptorium

6. Verzeichnis wechseln

Nun wechseln Sie in das neu angelegte Verzeichnis escriptorium:

cd ~/escriptorium

7. Virtuelle Umgebung

Jetzt erstellen und aktivieren Sie eine virtuelle Umgebung:

python3 -m venv env
source env/bin/activate
pip install -U pip setuptools wheel

Damit aktualisieren Sie die heruntergeladenen Versionen, dadurch können Fehler später vermieden werden.

Installieren Sie alle notwendigen Python-Pakete:

pip install -r app/requirements.txt -r app/requirements-dev.txt

8. Lokale Einstellungen anlegen

Es gibt eine Beispieldatei für lokale Einstellungen, die hier einfach kopiert wird.

cp app/escriptorium/local_settings.py.example app/escriptorium/local_settings.py

OPTIONAL: Über folgenden Befehl gelangen Sie in die Einstellungen. Hier können Veränderungen vorgenommen werden. Für den Anfang müssen Sie jedoch nichts ändern und können diesen Schritt demnach überspringen.

vi app/escriptorium/local_settings.py

9. NPM installieren

Anschließend wechseln Sie in das Verzeichnis front und installieren mit NPM:

cd front
# Aktualisiere npm (vorinstallierte Version ist meist veraltet).
sudo npm install -g n
sudo n latest
# Vergiss das alte npm, damit das neue npm verwendet wird.
hash -r
# Installiere die Pakete für eScriptorium.
npm install

OPTIONAL: Falls Fehlermeldungen erscheinen, dass es Schwachstellen (Vulnerabilities) gibt (vor allem im roten Bereich), dann sollten Sie den folgenden Befehl ausführen:

npm audit fix

Oft lassen sich so nicht alle Schwachstellen korrigieren. Für die Installation auf einem Server wäre das ein Sicherheitsrisiko, aber in einer lokalen Installation ohne Zugang von außen ist es in der Regel unkritisch.

10. Produktive Nutzung

Um eScriptorium produktiv zu nutzen (Entwickler:innen wählen besser andere Optionen) führen Sie folgende Befehle aus:

npm run production

11. Installation überprüfen

Führen Sie dafür folgenden Befehl aus:

cd ../app
python manage.py check --settings escriptorium.local_settings

12. SQL-Tabellen

Jetzt erstellen Sie die benötigten SQL-Tabellen in der Datenbank:

python manage.py migrate --settings escriptorium.local_settings

13. Übersetzungen aktualisieren

Unter Umständen müssen noch die Übersetzungen der Benutzeroberfläche (neben den englischen gibt es weitgehend übersetzte deutsche Texte) aktualisiert werden:

python manage.py makemessages --all --settings escriptorium.local_settings
python manage.py compilemessages --settings escriptorium.local_settings

14. OPTIONAL

Nun können Sie noch einen Superuser kreieren

python manage.py createsuperuser --settings escriptorium.local_settings

15. Celery Worker

Öffnen Sie ein neues Terminal und führen Sie einen einfachen Celery Worker aus:

DJANGO_SETTINGS_MODULE=escriptorium.local_settings celery -A escriptorium worker -l INFO &

Bestätigen Sie mit Enter. Mittels dieses Befehls läuft Celery direkt im Hintergrund und Sie können fortfahren.

16. Start des Servers

python manage.py runserver --settings escriptorium.local_settings

17. Nutzung von eScriptorium

Nun können Sie eScriptorium nutzen, geben Sie dafür einfach in Ihren Browser folgenden Link ein: http://localhost:8000/ (Hinweis: Sollten Sie eScriptorium in einer virtuellen Maschine installiert haben, nutzen Sie den Browser darin.)

Achtung: eScriptorium erstellt automatisch einen Nutzer mit dem Namen „admin“ und dem Passwort „admin“. Dies sollten Sie wissen, da auf diese Weise Unbefugte in Ihr System eindringen können, vor allem wenn Sie Ihre eScriptorium-Installation später auch als Webdienst verfügbar machen. Ändern Sie das Password oder entfernen Sie diesen Benutzer in diesem Fall.

18. Optionale Einstellungen

In der Datei ~/escriptorium/app/local_settings.py können optional lokale Einstellungen vorgenommen werden.

Mit DEBUG = False schaltet man die Anzeige der Debug-Tools (im Webinterface rechts oben) aus.

Die Exportformate OpenITI Markdown und TEI XML lassen sich mit EXPORT_OPENITI_MARKDOWN_ENABLED = True bzw. EXPORT_TEI_XML_ENABLED = True aktivieren.

Mit TEXT_ALIGNMENT_ENABLED = True kann die Textalignierung als zusätzliche Funktionalität aktiviert werden.

DISABLE_ELASTICSEARCH = False schaltet die Volltextsuche ein. Dafür sind zusätzliche Einstellungen und die Installation von Elasticsearch erforderlich.

19. Erneute Nutzung

Sobald Sie Ihren PC bzw. die virtuelle Maschine neugestartet haben, müssen Sie eScriptorium erneut aktivieren über das Terminal.

cd ~/escriptorium
source env/bin/activate
cd app
sudo service postgresql start
sudo service redis-server start
DJANGO_SETTINGS_MODULE=escriptorium.local_settings celery -A escriptorium worker -l INFO &
python manage.py runserver --settings escriptorium.local_settings

Browser: http://localhost:8000/

Die Anleitung basiert auf der GitLab-Dokumentation von Robin Tissot. Jedoch wurden hier einige Veränderungen vorgenommen, um die Installation möglichst einfach zu gestalten und einige Fehler zu beheben.