Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
fhc:apache [2018/06/13 16:55] pollmann angelegt |
— (aktuell) | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | [[fh-complete:server|zurück zur Übersicht]] | ||
| - | ====== Apache ====== | ||
| - | ===== SSL Konfiguration ===== | ||
| - | Zum Aktivieren der Verschlüsselung muss ein Zertifikat und der dazupassende Private Key vorhanden sein. | ||
| - | <code> | ||
| - | fhcomplete.crt | ||
| - | fhcomplete.key | ||
| - | </code> | ||
| - | |||
| - | Zuerst muss das SSL Modul im Apache aktiviert werden | ||
| - | <code> | ||
| - | a2enmod ssl | ||
| - | </code> | ||
| - | |||
| - | Danach wird unter /etc/apache2/sites-available/ die default Konfiguration kopiert (zb default-ssl) und angepasst: | ||
| - | <code> | ||
| - | <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> | ||
| - | </code> | ||
| - | |||
| - | Danach muss die Seite aktiviert und apache neu gestartet werden: | ||
| - | <code> | ||
| - | a2ensite default-ssl | ||
| - | /etc/init.d/apache2 restart | ||
| - | </code> | ||
| - | |||
| - | ==== LDAP Modul aktivieren ==== | ||
| - | Das LDAP Modul muss im Apache aktiviert werden damit eine LDAP Authenitifzierung möglich ist: | ||
| - | <code> | ||
| - | a2enmod authnz_ldap | ||
| - | </code> | ||
| - | |||
| - | ==== Automatische Umleitung von http auf https ==== | ||
| - | |||
| - | Um HTTP Zugriff auf HTTPS umzuleiten muss ein Redirect Eintrag hinzugefügt werden: | ||
| - | |||
| - | /etc/apache2/sites-enabled/000-default | ||
| - | <code> | ||
| - | <VirtualHost *:80> | ||
| - | ServerAdmin webmaster@localhost | ||
| - | DocumentRoot /var/www | ||
| - | Redirect permanent / https://cis.fhcomplete.org/ | ||
| - | ... | ||
| - | </VirtualHost> | ||
| - | </code> | ||
| - | |||
| - | ==== Sonstiges ==== | ||
| - | |||
| - | In der Datei /etc/apache2/ports.conf muss der Port 443 aktivert sein. In der Regel ist dies aber bereits der Fall | ||
| - | |||
| - | === Prüfen von Zertifikaten === | ||
| - | Anzeigen von Zertifikatsinformationen: | ||
| - | <code> | ||
| - | openssl x509 -text -in fhcomplete.crt | ||
| - | </code> | ||
| - | |||
| - | |||
| - | |||
| - | === Testumgebung einrichten === | ||
| - | == Erstellen des Zertifikats == | ||
| - | Für Testumgebungen kann mit folgendem Befehl ein selbst signiertes Zertifikat erstellt werden: | ||
| - | <code> | ||
| - | openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout fhcomplete.key -out fhcomplete.crt | ||
| - | </code> | ||
| - | |||
| - | 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 | ||
| - | <code> | ||
| - | cp fhcomplete.crt /usr/local/share/ca-certificates/ | ||
| - | </code> | ||
| - | |||
| - | Danach muss der Zertifikatsspeicher aktualisiert werden: | ||
| - | <code> | ||
| - | update-ca-certificates | ||
| - | </code> | ||
| - | |||
| - | == Server und Client auf selben Rechner == | ||
| - | 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: | ||
| - | <code> | ||
| - | Listen 5555 | ||
| - | </code> | ||
| - | |||
| - | Unter /etc/apache2/sites-available muss ein eigener Virtulhost für diesen Port angelegt werden und AllowOverride auf None gesetzt werden: | ||
| - | <code> | ||
| - | <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> | ||
| - | </code> | ||
| - | |||
| - | 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/'); | ||