wiki:POKAL/Installationsanleitung

Installationsanleitung POKAL

Bitte ergänzen! Diese Wikiseite hab ich zum Projektabschluss von POKAL2 angelegt (Nov 2014). Dies ist eine Wiki-Seite, alles kann bearbeitet werden!

Um POKAL auf einem neuen Computer zu installieren, muss man diese Schritte befolgen:

1. Codebasis installieren

Sage installieren

Sage bekommt man von http://sagemath.org/ vorkompiliert (ca 600MB große .tar.lzma-Files), die kann man einfach entpacken und mit ./sage SAGE starten.

Das Sage-Notebook installieren

In POKAL haben wir nur Änderungen am Sage-Notebook gemacht, welches in Github gespeichert ist. Man kann es an einen beliebigen Ort, am besten außerhalb des Sage-Ordners aber wohldefiniert, von Git clonen:

mkdir notebook && cd notebook
git clone https://github.com/PhysikOnline-FFM/sagenb.git  .

Anschließend muss man auf den Branch wechseln, in dem unsere Änderungen sind. Derzeit (Nov 2014) ist das bootstrap3:

git checkout bootstrap3

Das Entwicklungs-Notebook SAGE bekanntmachen

Seit Sage 6 ist SageNB und Sage nur mit einer Python-Paketstruktur miteinander gekoppelt. Thomas beschreibt die Installationsprozedur gemäß

Zuerst installiere Sage, dann klone das Notebook, das du nutzen willst, gehe in der obersten Ordner des Notebooks, wo die Datei setup.py drin ist. Dann fuehre folgendes aus:

 sage -python setup.py develop

dieser befehl laesst die notebook-dateien da wo sie sind, aber sagt Sage, dass die benutzt werden sollen.

Nun benutzt Sage das POKAL-Notebook. Man kann dies direkt testen, in dem man SAGE startet und mit notebook() unser Notebook aufruft.

Linux-Umgebung aufsetzen

Benutzeraccounts usw

TODO To be done, bzw. Tickets verlinken (Tatsächlich ist der vierte Schritt der schwierigste, weil man hierzu auch noch Linux-Benutzerrechte und -Accounts bemühen muss, um das System einigermaßen abzusichern.)

Ein Daemon-Script für POKAL

Hier gibt es verschiedene Ansätze. Auf Server/POKAL2 haben wir derzeit ein großes Python-Script, was bei Start viele Rechenbenutzer anlegt und ganz fancy alles verteilt. Auf Server/POKAL1 ist ein einfacheres Script, was seinen Dienst tut und welches in #539 gepastet ist.

Proxy-Webserver

TODO To be done, bzw. Tickets verlinken

Zuletzt haben wir außerdem meist den Mini-Webserver nginx laufen, der sich um HTTPS, das Ausliefern von statischen Dateien sowie eine Abschirmung bei SageNB-Downtimes kümmert. Eigentlich ließe sich Python per WSGI dort effizient integrieren, derzeit haben wir aber noch einen separaten Webserver.

SAGE-Konfiguration

Benutzerrechte für Sage-Server im Codeverzeichnis

Wenn man Fehler vorfindet wie

OSError: [Errno 13] Permission denied: '/.../sagenb/data/.webassets-cache'

dann fehlen dem Sage-Server-User die Rechte, im Assets-Verzeichnis zu schreiben, siehe auch #883. Gelöst wird das, in dem man in das SageNB-data-Verzeichnis geht und dort ausführt:

sudo mkdir -p webassets_generated .webassets-cache
sudo chmod -R o+rw webassets_generated .webassets-cache

HRZ-Login freischalten

Um den HRZ-Login zu aktivieren, tippt man im SAGe-Admin-Webinterface die LDAP-Zugangsdaten #60 ein. Siehe #801 für eine Beschreibung mit Screenshots.

POAK installieren

Unabhängig von POKAL ist nochmal das POAK-System, welches auf Django basiert und bei Github sein eigenes Repository hat. Auf https://github.com/PhysikOnline-FFM/poak/blob/master/README.md gibt es eine Anleitung, wie man POAK installiert.

Weitere Systeme

Wir haben auch noch ein CMS installiert, dieses ist aber größtenteils austauschbar.

Last modified 3 years ago Last modified on Mar 6, 2015 3:31:10 PM