Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
fh-complete:installation [2017/04/13 15:59] oesi |
— (aktuell) | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== FH-Complete Server Installation ====== | ||
| - | |||
| - | <note warning> | ||
| - | Diese Installationsanleitung befindet sich noch im Aufbau | ||
| - | </note> | ||
| - | Diese Anleitung beschreibt die Installation des FH-Complete Core. | ||
| - | In diesem Setup wird davon ausgegangen, dass sich die Datenbank auf einem eigenen Server befindet. | ||
| - | |||
| - | ===== Voraussetzungen ===== | ||
| - | |||
| - | Die Installation setzt folgende Infrastruktur voraus: | ||
| - | |||
| - | * LDAP Server (ldap.example.com) | ||
| - | * Mail Server (mail.example.com) | ||
| - | * Storage | ||
| - | * PostgreSQL Server (db.example.com) | ||
| - | |||
| - | * Der Server selbst ist unter (fhcomplete.example.com) erreichbar | ||
| - | |||
| - | ===== Grund Installation ===== | ||
| - | |||
| - | Ausgangsbasis für die Installation ist eine Standardinstallation von Debian 9 Stretch. | ||
| - | Die folgenden Befehle für die Installation werden als root User ausgeführt. | ||
| - | |||
| - | Zuerst installieren wir den Apache Webserver | ||
| - | <code> | ||
| - | apt install apache2 | ||
| - | </code> | ||
| - | |||
| - | und die PHP Pakete | ||
| - | <code> | ||
| - | apt install php7.0 php7.0-xsl php7.0-gd php7.0-pgsql php7.0-ldap php7.0-mcrypt | ||
| - | </code> | ||
| - | |||
| - | Zusätzliche Tools installieren | ||
| - | <code> | ||
| - | apt install vim zip | ||
| - | </code> | ||
| - | |||
| - | ===== NTP - Zeitsynchronisation ===== | ||
| - | Die Uhrzeit sollte auf allen FH-Complete Servern annähernd die selbe sein. Deshalb sollte diese mit NTP synchron gehalten werden. | ||
| - | |||
| - | <code> | ||
| - | apt-get install ntp | ||
| - | </code> | ||
| - | |||
| - | In der Datei /etc/ntp.conf wird dann ein Timeserver hinzugefügt. | ||
| - | |||
| - | <code bash /etc/ntp.conf> | ||
| - | # You do need to talk to an NTP server or two (or three). | ||
| - | #server ntp.your-provider.example | ||
| - | server ts.example.com | ||
| - | </code> | ||
| - | |||
| - | ===== Apache einrichten ===== | ||
| - | ==== HTTPS aktivieren ==== | ||
| - | |||
| - | Um die HTTPS Verschlüsselung zu aktivieren benötigen wir das Server Zertifikat und den dazu passenden private Key. | ||
| - | Den private Key speichern wir unter /etc/ssl/private/fhcomplete.key und das Zertifikat unter /etc/ssl/certs/fhcomplete.pem | ||
| - | Nähere Informationen zu den Zertifikaten gibt es [[fh-complete:zertifikate|hier]] | ||
| - | |||
| - | Mit folgendem Befehl aktivieren wir SSL im Apache | ||
| - | <code> | ||
| - | a2enmod ssl | ||
| - | systemctl restart apache2 | ||
| - | </code> | ||
| - | |||
| - | Wir kopieren das default-ssl Config und passen dort die Zertifikatspfade entsprechend an: | ||
| - | <code> | ||
| - | cd /etc/apache2/sites-available/ | ||
| - | cp default-ssl.conf fhcomplete-ssl.conf | ||
| - | </code> | ||
| - | |||
| - | In der neu erstellten fhcomplete-ssl.conf muss der Pfad zu den Zertifikaten angegeben werden: | ||
| - | <code bash /etc/apache2/sites-available/fhcomplete-ssl.conf> | ||
| - | SSLCertificateFile /etc/ssl/certs/fhcomplete.pem | ||
| - | SSLCertificateKeyFile /etc/ssl/private/fhcomplete.key | ||
| - | </code> | ||
| - | |||
| - | Mit folgendem Befehl aktivieren wir die Konfiguration | ||
| - | <code> | ||
| - | a2ensite fhcomplete-ssl.conf | ||
| - | systemctl reload apache2 | ||
| - | </code> | ||
| - | |||
| - | Nachdem die SSL Verbindung funktioniert richten wir einen Redirect von HTTP auf HTTPS ein. Dazu editieren wir die Datei /etc/apache2/sites-enabled/000-default.conf | ||
| - | |||
| - | <code bash /etc/apache2/sites-enabled/000-default.conf> | ||
| - | .... | ||
| - | DocumentRoot /var/www/html | ||
| - | Redirect permanent / https://fhcomplete.example.com | ||
| - | .... | ||
| - | </code> | ||
| - | |||
| - | In der fhcomplete-ssl.conf richten wir einen Caldav Redirect ein sofern die Caldav Schnittstelle verwendet werden soll. | ||
| - | Zusätzlich setzen wir die Option AllowOverride und setzen die Environment Variable für Codeigniter. | ||
| - | <code bash /etc/apache2/sites-enabled/fhcomplete-ssl.conf> | ||
| - | |||
| - | # Redirect für Caldav einrichten. Beim Einrichten des Caldav Clients ist es dadurch nicht nötig die volle URL | ||
| - | # Anzugeben sondern lediglich den Hostnamen | ||
| - | Redirect permanent /.well-known/caldav /webdav/lvplan.php/ | ||
| - | |||
| - | <Directory /var/www/html/> | ||
| - | Options Indexes FollowSymLinks MultiViews | ||
| - | | ||
| - | # AllowOverride auf AuthConfig und Limit setzen damit die Authentifizierung über .htaccess | ||
| - | # Dateien funktioniert | ||
| - | AllowOverride AuthConfig Limit | ||
| - | Order allow,deny | ||
| - | allow from all | ||
| - | |||
| - | # Environment fuer Codeigniter auf production setzen | ||
| - | SetEnv CI_ENV production | ||
| - | |||
| - | </Directory> | ||
| - | </code> | ||
| - | |||
| - | Damit die Änderungen übernommen werden starten wir den Apache neu: | ||
| - | <code> | ||
| - | systemctl restart apache2 | ||
| - | </code> | ||
| - | |||
| - | ===== LDAP Anbindung ===== | ||
| - | |||
| - | LDAP Modul in Apache aktivieren | ||
| - | <code> | ||
| - | a2enmod authnz_ldap | ||
| - | systemctl restart apache2 | ||
| - | </code> | ||
| - | |||
| - | LDAP Utils installation | ||
| - | <code> | ||
| - | apt install ldap-utils | ||
| - | </code> | ||
| - | |||
| - | Anpassung der LDAP Config unter /etc/ldap/ldap.conf | ||
| - | <code bash /etc/ldap/ldap.conf> | ||
| - | host ldap.example.com | ||
| - | base dc=example,dc=com | ||
| - | </code> | ||
| - | ===== FH-Complete Installation ===== | ||
| - | ===== Mailversand einrichten ===== | ||
| - | ===== Dokumentenerstellung einrichten ===== | ||
| - | |||