Skip to content

Installation Guide

Sandro Sp edited this page Sep 6, 2022 · 15 revisions

Installation Guide

Die Anleitung wurde auf einem Ubuntu-Rechner getestet. Bei anderen Betriebssystemen sind dieselben grundsätzlichen Schritte durchzuführen, die Befehle können aber anders lauten.

Schritt 0: Repository klonen

git clone https://github.com/openHPI/hpi-connect-portal.git && cd hpi-connect-portal

Schritt 1: Installation von Ruby

  1. Zum einfachen Installieren von und Wechseln zwischen verschiedenen Ruby-Versionen empfiehlt sich ein Versionsmanager. Auf dem Server wird zu diesem Zweck RVM verwendet. Eine gute Alternative ist rbenv.

    Installationsanleitungen finden sich auf den jeweiligen Webseiten.

  2. Zur Installation von Ruby und den Gems sind einige Pakete, z.B. ein C-Compiler, notwendig. Damit es also später keine Fehlermeldungen gibt, nun folgende Pakete installieren:

    sudo apt install git build-essential libssl-dev libreadline-dev zlib1g-dev libpq-dev

  3. Nun kann Ruby selbst installiert werden. Aktuell verwendet das Jobportal die Ruby-Version 2.7.4 (siehe Gemfile). Falls ein Versionsmanager verwendet wird, lautet der Befehl dazu:

    rvm install 2.7.4 bzw. rbenv install 2.7.4

  4. Die Version sollte danach als Default-Version eingestellt bzw. aktiviert werden:

    rvm --default use 2.7.4 bzw. rbenv local 2.7.4

  5. Mit ruby -v kann geprüft werden, dass die richtige Ruby-Version installiert und aktiv ist.

Schritt 2: Installation der Gems

  1. Zum Installieren der restlichen Gems, die das Ruby-Projekt verwendet, wird das Gem bundler benötigt:

    gem install bundler -v 2.1.4

  2. Nun können die Gems selbst installiert werden:

    bundle install

Schritt 3: Installation des Datenbankservers

  1. Da Postgres als Datenbankserver verwendet wird, muss auch Postgres installiert sein und auf dem Rechner laufen.

    sudo apt install postgresql

    Der Befehl zum Starten von Postgres wird nach der Installation im Terminal angezeigt. Genauere Hinweise lassen sich im Internet finden, falls nötig.

  2. Für die Verbindung zur Datenbank wird eine Konfigurationsdatei benötigt. Dazu kann eine Kopie der Datei config/database.ci.yml erstellt werden. Die neue Datei soll config/database.yml heißen.

    Dann müssen password-Zeilen für die development- und test-Umgebungen hinzugefügt werden, z.B. so:

  adapter: postgresql
  encoding: unicode
  database: hpi_hiwi_portal_development
  pool: 5
  username: postgres
  password: meintollespasswort
  host: localhost
  port: 5432
  1. Der passende Nutzer muss nun in der Postgres-Kommandozeile angelegt werden. Dazu den Nutzer wechseln: sudo su - postgres und dann die Postgres-Kommandozeile starten: psql und den Postgres-Nutzer anlegen: create user postgres; (Semikolon nicht vergesssen!) sowie sein Passwort setzen: \password postgres.

  2. Es sollten auch gleich Datenbanken namens hpi_hiwi_portal_development und hpi_hiwi_portal_test mit dem Owner postgres angelegt werden:

    create database <dbname>; (Semikolon nicht vergessen!)

    Dass die Datenbanken korrekt angelegt wurden, lässt sich mit dem Befehl \l prüfen. Die Postgres-Kommandozeile kann danach mit \q verlassen werden.

  3. Mit dem Befehl rake db:setup werden nun die benötigten Tabellen in der Datenbank sowie einige beispielhaften Seed-Datensätze angelegt.

    (Eine Übersicht der rake-Befehle gibt es z.B. hier.)

Schritt 4: Server starten

  1. Das Setup ist abgeschlossen. Mit dem Befehl bundle exec rails s kann nun der Server gestartet werden. Die Webseite sollte nun unter localhost:3000 erreichbar sein, wenn alles geklappt hat.

    Man kann sich mit den Zugangsdaten der Seed-User einloggen.

Schritt 5: Ausführen der Tests

  1. Zum Ausführen der Tests wird PhantomJS benötigt:

    sudo apt install phantomjs

  2. Die Tests können mit dem Befehl bundle exec rspec ausgeführt werden.

    Ein ausführlicher Bericht über die Testabdeckung ist danach unter coverage/index.html zu finden.