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 8a99ef4d69 Merge branch 'master' into 'live'
Make rating parse expect more rigid structure

Closes #127

See merge request !61
2018-07-18 20:00:11 +02:00
app Fix file structure for yesod devel 2017-10-04 14:12:19 +02:00
config Merge branch 'master' of gitlab.cip.ifi.lmu.de:jost/UniWorX into feat/exercises 2018-07-18 08:51:30 +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 Minor typos fixed. 2018-07-18 13:15:13 +02:00
src Make rating parse expect more rigid structure 2018-07-18 19:54:57 +02:00
static get rid of glyphicons 2018-07-01 23:02:03 +02:00
templates Include git hash in deployed site 2018-07-18 18:39:10 +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 MatrikelNr display in UserList 2018-07-11 12:38:16 +02:00
Datenschutznotizen.txt Datenschutznotizen & Load -> Rational 2018-03-21 09:59:18 +01:00
db.hs Fix db.hs 2018-07-10 11:07:26 +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 Split DateTimeFormat up into three fields 2018-07-10 10:51:31 +02:00
package.yaml Include git hash in deployed site 2018-07-18 18:39:10 +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 Restrict correctors more 2018-07-10 13:47:36 +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 Timezones, date formatting & minor cleanup 2018-07-09 23:07:26 +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