diff --git a/README.md b/README.md
index 2fbf8207f..d953a7326 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,24 @@
# Quick Start Guide
-Assuming Ubuntu or similar
+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`
+ install:
+ `sudo apt-get install slapd ldap-utils`
## PostgreSQL
- install:
- `sudo apt-get install postgresql`
+ install:
+ `sudo apt-get install postgresql`
- switch to user *postgres* (got created during installation):
- `sudo -i -u postgres`
+ switch to user *postgres* (got created during installation):
+ `sudo -i -u postgres`
- add db user *uniworx*:
- `createuser --interactive`
+ add db user *uniworx*:
+ `createuser --interactive`
you'll get a prompt:
@@ -24,49 +27,60 @@ Assuming Ubuntu or similar
Shall the new role be a superuser? (y/n)` - [not exactly sure. Guess not?]
```
- create database *uniworx*:
- `createdb uniworx`
+ 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`
+ 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`
+ log-in as new user *uniworx*:
+ `sudo -i -u uniworx`
you can now use `psql uniworx` to execute SQL-commands and such.
- you might for example want to add a test-account to be able to login on the page:
- `INSERT INTO user (plugin, ident, matrikelnummer, email, display_name) VALUES ('LDAP', '[YOUR_EMAIL_ADDRESS]', null, '[YOUR_EMAIL_ADDRESS]', '[YOUR_NAME]');`
-
## stack
- Install with:
- `curl -sSL https://get.haskellstack.org/ | sh`
+ Install with:
+ `curl -sSL https://get.haskellstack.org/ | sh`
- setup stack and install dependencies:
- `stack setup`
+ setup stack and install dependencies:
+ `stack setup`
- There might be packages missing during setup. You most probably simply need to install them and try again.
- Instructions are easy to find via search engine of your choice and the specific error you got.
- Example from experience: For LDAP `ldab` and `lber` header files were missing.
+ 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`
- Build the app:
- `stack build`
+ 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`
- Run the app (with environment variable DUMMY_LUGIN set to true):
- `env DUMMY_LOGIN=true stack exec -- yesod devel`
+ Build the app:
+ `stack build`
- `Devel application launched: http://localhost:3000`
+ 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:
+ 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
+ stack: https://docs.haskellstack.org/en/stable/README/#how-to-install
- ldap:
https://wiki.ubuntuusers.de/OpenLDAP_ab_Precise/
+ ldap: https://wiki.ubuntuusers.de/OpenLDAP_ab_Precise/
***