Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
fh-complete:installation [2017/05/16 11:51] 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 php7.0-mbstring | ||
- | </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 ===== | ||
- | |||
- | Zuerst stellen wir sicher dass Git und Composer installiert sind | ||
- | <code> | ||
- | apt install git composer | ||
- | </code> | ||
- | |||
- | Danach laden wir den aktuellen FH-Complete Core und das LDAP Addon von GitHub. | ||
- | <code> | ||
- | cd /home/fhcomplete/ | ||
- | mkdir git | ||
- | cd git | ||
- | git clone https://github.com/FH-Complete/FHC-Core.git FHC-Core | ||
- | git clone https://github.com/FH-Complete/FHC-AddOn-LDAP.git FHC-AddOn-LDAP | ||
- | </code> | ||
- | |||
- | Und kopieren den aktuellen Stand in das Webserver-Verzeichnis | ||
- | <code> | ||
- | rsync -ruv /home/fhcomplete/git/FHC-Core/* /var/www/html/ --exclude=".git" | ||
- | rsync -ruv /home/fhcomplete/git/FHC-AddOn-LDAP/* /var/www/html/addons/ldap/ --exclude=".git" | ||
- | </code> | ||
- | |||
- | Danach laden wir die nötigen Zusatzmodule per Composer nach | ||
- | <code> | ||
- | cd /var/www/html | ||
- | composer install | ||
- | </code> | ||
- | |||
- | ===== Mailversand einrichten ===== | ||
- | ===== Dokumentenerstellung einrichten ===== | ||
- | |||