This repository has been archived on 2024-10-24. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Gregor Kleen 8588ab2385 Merge branch 'master' into 'live'
UI and other Updates for Live-System

See merge request !44
2018-07-09 09:05:51 +02:00
app Fix file structure for yesod devel 2017-10-04 14:12:19 +02:00
config Allow setting location for CRYPTOID_KEYFILE 2018-07-04 20:06:24 +02:00
embedded Move files around 2017-10-04 13:59:49 +02:00
gup Nix build harness 2017-10-02 20:17:33 +02:00
messages Functionality to hijack users 2018-07-08 15:38:52 +02:00
src Fix preference-order on parents 2018-07-08 22:31:11 +02:00
static get rid of glyphicons 2018-07-01 23:02:03 +02:00
templates dynamic height of asidenav to avoid over-long bodies 2018-07-08 23:53:33 +02:00
test Cleanup 2017-11-15 10:10:24 +01:00
.dir-locals.el Initial PostgreSQL Template 2017-09-11 09:53:42 +02:00
.directory Fixes to Course New/Edit handling. Update not yet working! 2018-03-14 18:34:42 +01:00
.dockerignore Cleanup build & fix development default values 2017-12-08 14:05:05 +01:00
.gitignore Favourites working now (without PageActions). 2018-04-10 10:38:21 +02:00
ChangeLog.md Move ChangeLog to standard location 2018-07-04 19:13:04 +02:00
Datenschutznotizen.txt Datenschutznotizen & Load -> Rational 2018-03-21 09:59:18 +01:00
db.hs Minor cleanup 2018-07-07 21:35:46 +02:00
default.nix Nix build harness 2017-10-02 20:17:33 +02:00
deploy.sh Hinweis zur Löschung aller Daten 2018-07-04 15:41:56 +02:00
FragenSJ.txt New Rights Managament compiles and seems to work (apart from TODOs); Problem with ASIDENAV 2018-05-28 18:27:30 +02:00
ghci.sh Make CryptoIDKey implicit using new cryptoids-class 2018-02-09 14:22:01 +01:00
models Prevent admins elevating rights to more schools by session-hijacking 2018-07-08 20:12:07 +02:00
package.yaml Prettify single submission view 2018-07-03 15:55:45 +02:00
README.md New Rights Managament compiles and seems to work (apart from TODOs); Problem with ASIDENAV 2018-05-28 18:27:30 +02:00
routes Functionality to hijack users 2018-07-08 15:38:52 +02:00
run.sh Favourites working now (without PageActions). 2018-04-10 10:38:21 +02:00
shell.nix Fix initdb 2018-05-17 14:18:45 +02:00
stack.nix Fix build for NixOS 2018-04-11 14:41:00 +02:00
stack.yaml Disable docker integration 2018-07-06 16:31:22 +02:00
start.sh PWFile auth-plugin 2018-07-04 11:35:30 +02:00
uniworx.sublime-project Initial PostgreSQL Template 2017-09-11 09:53:42 +02:00
uniworx.sublime-workspace termField stub created, needs to be moved to common utils 2017-10-06 11:22:43 +02:00

Quick Start Guide

The following Description applies to Ubuntu or similar.

Clone repository

Clone this repository git clone https://gitlab.cip.ifi.lmu.de/jost/UniWorX.git and navigate into the new directory cd UniWorX.

LDAP

install:
sudo apt-get install slapd ldap-utils

PostgreSQL

install:
sudo apt-get install postgresql

switch to user postgres (got created during installation):
sudo -i -u postgres

add db user uniworx:
createuser --interactive

you'll get a prompt:

Enter name of role to add:` - [enter 'uniworx']
Shall the new role be a superuser? (y/n)` - [not exactly sure. Guess not?]

create database uniworx:
createdb uniworx

to access the database as user uniworx you now need to add a new linux-user called uniworx:
sudo adduser uniworx

log-in as new user uniworx:
sudo -i -u uniworx

you can now use psql uniworx to execute SQL-commands and such.

stack

Install with:
curl -sSL https://get.haskellstack.org/ | sh

setup stack and install dependencies:
stack setup

During this step or the next you might get an error that says something about missing C libraries for ldap and lber. You can install these using
sudo apt-get install libsasl2-dev libldap2-dev

If you get an error that says You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
Go ahead an install libpq-dev with
sudo apt-get install libpq-dev

Build the app:
stack build

This might take a few minutes if not hours... be prepared.

install yesod:
stack install yesod-bin --install-ghc

Add Dumy-Data and run the app

After building the app you can prepare the database and add some dummy data: ./fill-db.hs

Run the app:
./start.sh

Devel application launched: http://localhost:3000
means you are good to go.

If you followed the steps above you should now be able to login as user Gregor Kleen using LDAP:g.kleen@ifi.lmu.de as dummy login.


Sources and more infos

PostgreSQl:
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-16-04

stack: https://docs.haskellstack.org/en/stable/README/#how-to-install

ldap: https://wiki.ubuntuusers.de/OpenLDAP_ab_Precise/


PostgreSQL

Starten als Root:

systemctl start postgresql

find / -name postgresql.conf

cd /var/lib/pgsql/data/

su - postgres

psql -U uniworx -d uniworx -h 127.0.0.1 -w

--Zeige Tabellen \dt

--Zeige Tabellen Inhalt: TABLE "user"; -- Die Anführungszeichen können manchmal weggelassen werden, aber -- bei user sind sie notwendig, da es auch Schlüsselwort in sql ist.

--Lösche Tabelle "course" und alle davon abhängigen: DROP TABLE "course" CASCADE;

-- UserId 5 zum Lecturer in SchoolId 1 machen (27 ist laufende Nummer) INSERT INTO "user_lecturer" (id,"user","school") VALUES (27,5,1);

-- Beenden: \q

-- Hilfe: \help