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/ ***