Zum Aktivieren der Verschlüsselung muss ein Zertifikat und der dazupassende Private Key vorhanden sein.
fhcomplete.crt fhcomplete.key
Zuerst muss das SSL Modul im Apache aktiviert werden
a2enmod ssl
Danach wird unter /etc/apache2/sites-available/ die default Konfiguration kopiert (zb default-ssl) und angepasst:
<VirtualHost *:443> ### hier muss :443 stehen statt :80 ServerAdmin webmaster@localhost ### Server Name muss hinzugefuegt werden ServerName cis.fhcomplete.org ### Hier wird SSL aktiviert und Pfad zu den Zertifikaten angeben SSLEngine on SSLCertificateFile /path/to/certificate/fhcomplete.crt SSLCertificateKeyFile /path/to/certificate/fhcomplete.key DocumentRoot /var/www/cis/htdocs/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/cis/htdocs/> Options Indexes FollowSymLinks MultiViews AllowOverride AuthConfig Limit Order allow,deny allow from all </Directory> ... </VirtualHost>
Danach muss die Seite aktiviert und apache neu gestartet werden:
a2ensite default-ssl /etc/init.d/apache2 restart
Das LDAP Modul muss im Apache aktiviert werden damit eine LDAP Authenitifzierung möglich ist:
a2enmod authnz_ldap
Um HTTP Zugriff auf HTTPS umzuleiten muss ein Redirect Eintrag hinzugefügt werden:
/etc/apache2/sites-enabled/000-default
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www Redirect permanent / https://cis.fhcomplete.org/ ... </VirtualHost>
In der Datei /etc/apache2/ports.conf muss der Port 443 aktivert sein. In der Regel ist dies aber bereits der Fall
Anzeigen von Zertifikatsinformationen:
openssl x509 -text -in fhcomplete.crt
Für Testumgebungen kann mit folgendem Befehl ein selbst signiertes Zertifikat erstellt werden:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout fhcomplete.key -out fhcomplete.crt
Damit die Dokumentenerstellung funktioniert muss das Zertifikat im Zertifikatsspeicher des Betriebssystems abgelegt werden damit dem Zertifikat vertraut wird. Dazu wird das Zertifikat nach /usr/local/share/ca-certificates kopiert
cp fhcomplete.crt /usr/local/share/ca-certificates/
Danach muss der Zertifikatsspeicher aktualisiert werden:
update-ca-certificates
Wenn Server und Client am selben Rechner laufen muss im Apache ein eigener Port eingerichtet werden damit die Dokumentenerstellung korrekt funktioniert.
Die Daten für die Dokumentenerstellung werden dann über einen separaten Port geholt. Dazu muss der zusätzliche Port in /etc/apache2/ports.conf aktiviert werden:
Listen 5555
Unter /etc/apache2/sites-available muss ein eigener Virtulhost für diesen Port angelegt werden und AllowOverride auf None gesetzt werden:
<VirtualHost *:5555> .... <Directory /fhcomplete/rdf> Options Indexes FollowSymLinks MultiViews AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.1 </Directory> .... </VirtualHost>
Diese Konfiguration sollte nur für Testumgebungen verwendet werden!!! Im der cis.config.inc.php und vilesci.config.inc.php muss dann der XML_ROOT auf diesen Port zeigen. zB define('XML_ROOT','https://vilesci.fhcomplete.org:5555/rdf/');