[[fhc:server|zurück zur Übersicht]]
==== Code aus Versionsverwaltung auschecken ====
mkdir /home/user/fhcomplete
cd /home/user/fhcomplete
git clone https://github.com/FH-Complete/Core.git .
Kopieren auf den Webserver
cp -r /home/user/fhcomplete /var/www/
==== Composer starten ====
Um Drittanbieter-Module nachzuladen muss Composer verwendet werden.
Dazu muss Composer zuerst installiert werden (siehe [[https://getcomposer.org/download/]])
Danach können die Module nachgeladen werden:
cd /var/www/
composer install
==== Konfigurationsdateien anpassen ====
=== Kopieren der Default Konfiguration ===
cd config
cp cis.config-default.inc.php cis.config.inc.php
cp vilesci.config-default.inc.php vilesci.config.inc.php
cp wawi.config-default.inc.php wawi.config.inc.php
cp system.config-default.inc.php system.config.inc.php
====Anpassen der Pfade und Konfigurationsparameter in den einzelnen Konfigurationsdateien====
=== Ordner einrichten und Schreibrechte setzen ===
mkdir /var/fhcomplete
mkdir /var/fhcomplete/log
mkdir /var/fhcomplete/documents
mkdir /var/fhcomplete/documents/benotungstool
mkdir /var/fhcomplete/documents/paabgabe
mkdir /var/fhcomplete/documents/dms
mkdir /var/fhcomplete/documents/import
chown -R www-data:www-data /var/fhcomplete/
addgroup dms
usermod -a -G dms www-data
=== NFS Mount ===
Falls FHComplete auf 2 getrennten Webservern verwaltet wird, sollte das Verzeichnis /var/fhcomplete/documents/ auf dem 2. Webserver gemountet werden damit das selbe Verzeichnis verwendet wird. Dazu sind folgende Schritte nötig:\\
__1. Webserver__ (Server auf dem die Daten liegen):
apt-get install nfs-kernel-server
In der Datei /etc/exports folgenden Eintrag hinzufügen (192.168.0.2 ist die IP des Client-Webservers):
/var/fhcomplete/documents/ 192.168.0.2(sync,rw,no_root_squash)
Dienst neu starten
/etc/init.d/nfs-kernel-server restart
__2. Webserver:__
apt-get install nfs-common
In der Datei /etc/fstab folgenden Eintrag hinzufügen (192.168.0.1 ist die IP des Server-Webservers):
192.168.0.1:/var/fhcomplete/documents /var/fhcomplete/documents nfs defaults 0 0
Die Freigaben des Servers können mit folgendem Befehl angezeigt werden:
showmount -e 192.168.0.1
=== .htaccess Dateien anlegen ===
Derzeit wird die Authentifizierung der Benutzer großteils über HTTP Basic Authentifizierung
durchgeführt. Dazu muss bei der Installation in den folgenden Ordnern ein
.htaccess File angelegt werden:
/cis/private \\
/content \\
/include/tw \\
/system \\
/vilesci \\
==== htaccess für OpenLDAP ====
AuthBasicProvider ldap
AuthName "FHComplete"
AuthType Basic
AuthLDAPURL "ldap://ldap.example.com:389/ou=People,dc=example,dc=com?uid?one?objectclass=posixAccount"
AuthLDAPGroupAttributeIsDN Off
AuthLDAPGroupAttribute memberuid
require valid-user
==== htaccess für Active Directory ====
AuthBasicProvider ldap
AuthType Basic
AuthName "FHComplete"
AuthLDAPURL ldap://ldap.example.com/dc=academic,dc=local?sAMAccountName?sub
AuthLDAPBindDN "CN=administrator,OU=Users,DC=academic,DC=local"
AuthLDAPBindPassword "passwort"
require valid-user
==== RDF Verzeichnis einrichten ====
Das RDF Verzeichnis muss auch über .htaccess geschützt sein.
Es muss jedoch eingestellt werden, dass der Server selbst sich für dieses Verzeichnis nicht authentifizieren muss.
=== Apache < 2.2 ===
Bei Apache kleiner Version 2.2 muss das über die Datei /etc/apache2/sites-available/default eingestellt werden
AllowOverride AuthConfig
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.2.1
AuthName "FH Complete"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldap://ldap.example.com/ou=People,dc=example,dc=com?uid?one?objectclass=posixAccount
AuthLDAPGroupAttributeIsDN Off
AuthLDAPGroupAttribute memberuid
require user foo
...
satisfy any
== Apache >= 2.2 ==
Ab Apache Version 2.2 kann dies über ein .htaccess File erledigt werden, welches ins RDF Verzeichnis kopiert wird.
Order deny,allow
Deny from all
Allow from 192.168.2.1
AuthBasicProvider ldap
AuthName "FH Complete"
AuthType Basic
AuthLDAPURL "ldap://ldap.example.com:389/ou=People,dc=example,dc=com?uid?one?objectclass=posixAccount"
AuthLDAPGroupAttributeIsDN Off
AuthLDAPGroupAttribute memberuid
require user foo
...
satisfy any
=== Caldav Redirect ===
Für die automatische Auflösung der Caldav URL kann folgender Eintrag in die Apache Config hinzugefügt werden:
Redirect permanent /.well-known/caldav /webdav/lvplan.php/
Damit ist es möglich die Caldav URL lediglich mit der Angabe der URL ohne Pfad einzubinden.
=== Symbolische Links erstellen ===
Es müssen einige Symbolische Links angelegt werden damit die Applikation ordnungs-
gemäß funktioniert:
cd /var/www/wawi
ln -s ../content/pdfExport.php pdfExport.php
cd /var/www/webdav
ln -s ../cis/private/lvplan/stpl_kalender.php google.php
===== Content Einrichtung =====
==== DMS/CMS Links ====
Links zu Handbüchern etc in DMS und CMS anpassen
var/www/locale/de-AT/dms_link.php
==== Mail Signaturen anpassen ====
Anpassung der Signaturen in Mails unter
var/www/locale/de-AT/mail.php
==== include/tw ====
Zum Anpassen der Anwesenheitslisten etc:
Kopieren des Ordners include/tw und Anpassung in Config damit es bei einem Update keine Probleme gibt
===== Hinweise =====
==== HTACCESS ====
Damit die htaccess Files funktionieren muss zuerst das LDAP Modul im Apache aktiviert werden.
cd /etc/apache2/mods-enabled/
ln -s ../mods-available/authnz_ldap.load
ln -s ../mods-available/ldap.load
zusätzlich muss unter /etc/apache2/sites-enabled/000-default das überschreiben der Einstellungen aktiviert werden:
Options Indexes FollowSymLinks MultiViews
# AllowOverride None muss auf "AuthConfig Limit" gesetzt werden
AllowOverride AuthConfig Limit
Order allow,deny
allow from all
==== Umlautprobleme ====
Falls Probleme mit Umlauten auftreten kann es sein, dass die Locale nicht korrekt gesetzt ist.
Die unterstützten Locales des Systems kann mit folgenden Befehl angezeigt werden:
locale -a
Diese muss dann im Config eingestellt werden:
setlocale (LC_ALL, 'de_AT.utf8');