[[fhc:server|zurück zur Übersicht]]
===== Datenbank einrichten =====
Vorraussetzung für den Betrieb von FH Complete ist eine PostgreSQL Datenbank ab der Version 9.4
==== pg_hba.conf ====
Um den Zugriff zu erlauben muss der Eintrag in der Datei
/etc/postgresql/9.4/main/pg_hba.conf geändert werden von
local all all ident
auf
local all all md5
Danach muss der Postgresql Server neu gestartet werden
/etc/init.d/postgresql restart
==== User / Rollen anlegen ====
su postgres
createuser -P web
createuser -P vilesci
createuser -P wawi
createuser -P admin
createuser -P fhcomplete
Das Passwort muss 2x eingegeben werden. Die darauffolgenden Fragen werden alle mit nein beantwortet.
Der User vilesci sollte Teilnehmer der Gruppe admin sein um Berechtigungsprobleme zu vermeiden
==== Datenbank anlegen ====
su postgres
createdb -E UTF8 fhcomplete
==== Dump einspielen ====
su postgres
psql -d fhcomplete -p 5432 -f fhcomplete.sql
Falls der Dump .gz komprimiert kann dieser mit folgendem Befehl eingespielt werden:
gunzip -c fhcomplete.sql.gz | psql -p 5432 -d fhcomplete
==== Postgresql >= Version 9.1 ====
Wenn Sie Postgresql in einer Version ab 9.1 verwenden, müssen sie folgende Anpassung in der Datei /etc/postgresql/9.4/main/postgresql.conf vornehmen:
Die Zeile
#standard_conforming_strings=on
muss geändert werden auf
standard_conforming_strings=off
Wird dies nicht geändert, kann es zu Problemen beim Speichern von Einträgen kommen die einfache Hochkomma enthalten. Nach der Änderung muss der Dienst mit
/etc/init.d/postgresql restart
neu gestartet werden
==== Zugriff von anderen Hosts freischalten ====
Um den Zugriff auf den Datenbankserver zu erlauben muss der entsprechende Host freigeschalten werden. Dies erfolgt in der Datei /etc/postgresql/9.4/main/postgresql.conf:
Die Zeile
#listen_addresses = 'localhost'
Muss geändert werden auf
listen_addresses = 'localhost,IPDESSERVERS'
oder
listen_addresses = '*'
Danach muss Postgresql neu gestartet werden
/etc/init.d/postgresql restart
==== PHPPgAdmin und pg_dump ====
Falls sich PHPPgAdmin nicht auf dem DB-Server befindet sondern auf einem anderen Server muss dort postgresql-client installiert werden damit pg_dump aus PHPPgAdmin heraus korrekt funktioniert.
apt-get install postgresql-client