| app | ||
| config | ||
| embedded | ||
| gup | ||
| messages | ||
| src | ||
| static | ||
| templates | ||
| test | ||
| testdata | ||
| .dir-locals.el | ||
| .directory | ||
| .dockerignore | ||
| .gitignore | ||
| ChangeLog.md | ||
| Datenschutznotizen.txt | ||
| db.hs | ||
| default.nix | ||
| deploy.sh | ||
| FragenSJ.txt | ||
| ghci.sh | ||
| models | ||
| package.yaml | ||
| README.md | ||
| routes | ||
| run.sh | ||
| shell.nix | ||
| stack.nix | ||
| stack.yaml | ||
| start.sh | ||
| uniworx.sublime-project | ||
| uniworx.sublime-workspace | ||
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