invis_server_wiki:upgrade:11.x-to-12.x

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
invis_server_wiki:upgrade:11.x-to-12.x [2018/01/20 11:14]
flacco [Anpassen der Apache-Konfiguration]
invis_server_wiki:upgrade:11.x-to-12.x [2018/04/06 15:17] (aktuell)
flacco [CA Stammzertifikate erneuern]
Zeile 6: Zeile 6:
  
 Ende Januar 2018 läuft darüber hinaus auch openSUSE Leap 42.2 aus. Deren Repositories dürften aber noch eine Weile bestehen bleiben. Ende Januar 2018 läuft darüber hinaus auch openSUSE Leap 42.2 aus. Deren Repositories dürften aber noch eine Weile bestehen bleiben.
 +
 +Auch wenn in den nachfolgenden Beschreibungen auf invis-Server Versionen 12.x und 13.x eingegangen wird, sollten Sie natürlich nicht auf bereits veraltete Versionen aktualisieren.
  
 ===== Letzte reguläre Updates installieren ===== ===== Letzte reguläre Updates installieren =====
Zeile 175: Zeile 177:
  
 Normalerweise lässt sich alles wieder mit folgendem Kommando in Ordnung bringen: Normalerweise lässt sich alles wieder mit folgendem Kommando in Ordnung bringen:
 +
 +//​**Hinweis:​** Die nachfolgende Beschreibung wird ab invis-Version 13.2 (oder auch 14.0) unter dem Namen **fixcacerts** als fertiges Script im invis-Server enthalten sein.//
  
 <​code>​ <​code>​
Zeile 703: Zeile 707:
 Ändern Sie jetzt noch im Array "​$SERVER_SERVICES"​ alle Dienste die "​zarafa"​ im Namen enthalten in "​kopano-"​ um. Ändern Sie jetzt noch im Array "​$SERVER_SERVICES"​ alle Dienste die "​zarafa"​ im Namen enthalten in "​kopano-"​ um.
  
-=== Let's Encrypt === 
  
-Eine der wichtigsten Neuerungen des invis-Servers 12 ist die Verwendung offizieller Server-Zertifikate von Let's Encrypt für externe Server-Zugriffe. Um von dieser Neuerung Gebrauch zu machen sind Apache-Konfigurationsdateien anzupassen und das Let's Encrypt System zu aktivieren. 
- 
-Um Let's Encrypt zu nutzen müssen Sie folgende Apache-Konfigurationsdateien anpassen: 
- 
-  * z-push_vh.conf 
-  * invis-sslvh.conf 
-  * owncloud_vh.conf 
- 
-Alle Dateien finden Sie im Verzeichnis:​ <​file>/​etc/​apache2/​vhosts.d</​file>​ 
- 
-In allen genannten Dateien finden Sie relativ weit am Anfang die folgenden beiden Zeilen: 
- 
-<​code>​ 
-    SSLCertificateFile /​etc/​apache2/​ssl.crt/​invis-server.crt 
-    SSLCertificateKeyFile /​etc/​apache2/​ssl.key/​invis-server.key 
-</​code>​ 
- 
-Ersetzen Sie diese bitte durch folgende Zeilen: 
- 
-<​code>​ 
-    <​IfDefine LETSENCRYPT> ​ 
-        #   You can use per vhost certificates if SNI is supported. 
-        SSLCertificateFile /​etc/​dehydrated/​certs/​your.ddns-domain.net/​cert.pem 
-        SSLCertificateKeyFile /​etc/​dehydrated/​certs/​your.ddns-domain.net/​privkey.pem 
-        SSLCertificateChainFile /​etc/​dehydrated/​certs/​your.ddns-domain.net/​chain.pem 
-    </​IfDefine>​ 
- 
-    <​IfDefine OWNCERTS>​ 
-        SSLCertificateFile /​etc/​apache2/​ssl.crt/​invis-server.crt 
-        SSLCertificateKeyFile /​etc/​apache2/​ssl.key/​invis-server.key 
-    </​IfDefine>​ 
-</​code>​ 
- 
-Ersetzen Sie dann im oberen "​IfDefine"​ Container in allen drei Dateien "​your.ddns-domain.net"​ mit dem Hostnamen, über den Sie Ihren invis-Server via Internet erreichen. 
- 
-Sie können Ihren Apache-Webserver jetzt zunächst wieder mit den eigenen Zertifikaten in Betrieb nehmen. Dazu muss noch ein sogenanntes Server-Flag gesetzt und Apache neu gestartet werden: 
- 
-<​code>​ 
-invis:~ # a2enflag OWNCERTS 
-invis:~ # systemctl restart apache2.service 
-</​code>​ 
- 
-Jetzt muss ein neuer Apache vHost eingerichtet werden. Dieser vHost wird zur Aktualisierung der Zertifikate benötigt. Die hierfür benötigte Konfigurationsdatei hat Ihr invis-Server bereits im Gepäck. Kopieren Sie sie einfach ins oben genannte vHosts-Verzeichnis:​ 
- 
-<​code>​ 
-invis:~ # cp /​usr/​share/​doc/​packages/​invisAD-setup/​examples/​dehydrated/​dehydrated.conf /​etc/​apache2/​vhosts.d/​ 
-</​code>​ 
- 
-In dieser Datei müssen Sie jetzt lediglich eine kleine Anpassung vornehmen. Ermitteln Sie die IP-Adresse Ihrer externen Netzwerkschnittstelle:​ 
- 
-<​code>​ 
-invis:~ # ifconfig extern 
-extern ​   Link encap:​Ethernet ​ Hardware Adresse 00:​15:​90:​31:​DD:​23  ​ 
-          inet Adresse:​192.168.178.43 ​ Bcast:​192.168.178.255 ​ Maske:​255.255.255.0 
-... 
-</​code>​ 
- 
-Tragen Sie diese Adresse wie nachfolgend gezeigt in obige Datei ein: 
- 
-<​code>​ 
-... 
-<​Virtualhost 192.168.178.43:​80>​ 
-    ServerName your.ddns-domain.net ​ 
-    DocumentRoot /​srv/​www/​htdocs/​dehydrated 
-... 
-</​code>​ 
- 
-Ersetzen Sie auch hier "​your.ddns-domain.net"​ durch den Namen über den Sie Ihren invis-Server via Internet ansprechen. Legen Sie jetzt das DocumentRoot-Verzeichnis für den neuen vHost an: 
- 
-<​code>​ 
-invis:~ # mkdir -p "/​srv/​www/​htdocs/​dehydrated/​.well-known/​acme-challenge"​ 
-</​code>​ 
- 
-Jetzt muss der Let's Encrypt-Client **//​dehydrated//​** noch konfiguriert werden. Auch hier hat Ihr invis-Server bereits eine vorbereitete Konfigurationsdatei im Gepäck, die an die richtige Stelle kopieren können: 
- 
-<​code>​ 
-invis:~ # cp /​usr/​share/​doc/​packages/​invisAD-setup/​examples/​dehydrated/​config /​etc/​dehydrated/​ 
-</​code>​ 
- 
-In dieser Datei ist lediglich eine kleine Anpassung vorzunehmen. Tragen Sie in der Zeile "​CONTACT_EMAIL"​ relativ weit unten in der Datei eine gültige Email-Adresse die beim Erstellen der Zertifikate genutzt werden kann und befreien Sie die Zeile vom führenden Kommentarzeichen:​ 
- 
-<​code>​ 
-... 
-CONTACT_EMAIL=info@echtedomain.de 
-... 
-</​code>​ 
- 
-Zum Abschluss der Konfiguration müssen Sie noch in der Datei <​file>/​etc/​dehydrated/​domains.txt</​file>​ den Namen Ihres Servers eintragen, der in Ihr Server-Zertifikat eingetragen wird. Dies ist natürlich wieder der Name unter dem Ihr invis-Server via Internet erreichbar ist. Alle Beispiel-Namen,​ die Sie in der Datei vorfinden sind zu entfernen. 
- 
-Weiterhin tragen Sie in die Datei <​file>/​etc/​dehydrated/​hooks.sh</​file>​ in den Funktion "​deploy_cert()"​ folgende Zeile ein: 
- 
-<​code>​ 
-deploy_cert() { 
-... 
- 
-    # Reload Apache Webserver 
-    systemctl reload apache2.service 
-} 
-</​code>​ 
-Für die Inbetriebnahme,​ bzw. den Wechsel des eigenen Zertifikats auf ein verifiziertes von Let's Encrypt müssen Sie auf Ihrem Router noch eine zusätzliche Portweiterleitung einrichten. Dort muss Port 80 auf Ihren invis-Server weitergeleitet werden. Selbstverständlich muss Port 80 dann auch in der Firewall geöffnet werden. 
- 
-Ändern Sie dazu in der Datei <​file>/​etc/​sysconfig/​SuSEfirewall2</​file>​ Zeile 291 (ca.). Tragen Sie einfach die Zahl 80 durch Leerzeichen getrennt zusätzlich ein: 
- 
-<​code>​ 
-FW_SERVICES_EXT_TCP="​80 443 53xxx 50xxx 59xxx 1194" 
-</​code>​ 
- 
-Starten Sie jetzt die Firewall neu: 
- 
-<​code>​ 
-invis:~ # rcSuSEfirewall2 restart 
-</​code>​ 
- 
- 
-Zur Inbetriebnahme müssen Sie jetzt nur noch unser Script **//​actdehydrated//​** ausführen: 
- 
-<​code>​ 
-invis:~ # actdehydrated 
-</​code>​ 
- 
-Testen Sie es aus indem Sie einfach eine "​https"​ Verbindung zu auf den im Internet gültigen Namen Ihres invis-Servers öffnen. 
 === Abschließende Kosmetik === === Abschließende Kosmetik ===
 Abschließend geht es lediglich darum ein paar Versionsnummern anzupassen. Schließlich sollen Sie ja auch sehen, dass Sie jetzt einen invis-Server 12.x verwenden. Abschließend geht es lediglich darum ein paar Versionsnummern anzupassen. Schließlich sollen Sie ja auch sehen, dass Sie jetzt einen invis-Server 12.x verwenden.
Zeile 969: Zeile 851:
   - Jetzt müssen Sie für alle auf Ihrem Server installierten Web-Applikationen die zugehörigen Apache-Server-Flags setzen. Die Flags sind genauso benannt, wie die zugehörigen Applikationen,​ allerdings müssen Sie vollständig groß geschrieben werden. Beispiel: <​code>​invis:​~ # a2enflag DOKUWIKI</​code>​ Setzen Sie zusätzlich das Flag "​OWNCERTS"​. Sind alle Flags gesetzt muss der Webserver neu gestartet werden. <​code>​invis:​~ # systemctl restart apache2.service</​code>​   - Jetzt müssen Sie für alle auf Ihrem Server installierten Web-Applikationen die zugehörigen Apache-Server-Flags setzen. Die Flags sind genauso benannt, wie die zugehörigen Applikationen,​ allerdings müssen Sie vollständig groß geschrieben werden. Beispiel: <​code>​invis:​~ # a2enflag DOKUWIKI</​code>​ Setzen Sie zusätzlich das Flag "​OWNCERTS"​. Sind alle Flags gesetzt muss der Webserver neu gestartet werden. <​code>​invis:​~ # systemctl restart apache2.service</​code>​
  
 +Damit ist der Umstieg auf das neue Webserver-Setup abgeschlossen. Sie können abschließend noch in Ihrem Router die Portweiterleitung für den deaktivierten ownCloud-vHost entfernen und in der SuSEfirewall2 des invis-Servers den entsprechenden Port schließen.
 +
 +==== Verwendung von Let's Encrypt Zertifikaten vorbereiten ====
 +
 +Eine der wichtigsten Neuerungen des invis-Servers ab Version 12 ist die Verwendung offizieller Server-Zertifikate von Let's Encrypt für externe Server-Zugriffe. Um von dieser Neuerung Gebrauch zu machen sind Apache-Konfigurationsdateien anzupassen und das Let's Encrypt System zu aktivieren.
 +
 +Um Let's Encrypt zu nutzen müssen Sie folgende Apache-Konfigurationsdateien anpassen:
 +
 +** invis-Server 12.x **
 +
 +  * z-push_vh.conf
 +  * invis-sslvh.conf
 +  * owncloud_vh.conf
 +
 +** invis-Server 13.x **
 +
 +  * vh-extern.conf
 +  * vh-combined-ext.conf
 +
 +Alle Dateien finden Sie im Verzeichnis:​ <​file>/​etc/​apache2/​vhosts.d</​file>​
 +
 +In allen genannten Dateien finden Sie relativ weit am Anfang die folgenden beiden Zeilen:
 +
 +//​**Hinweis:​** wenn Sie auf Version 13 aktualisieren haben Sie diesen Punkt bereits im vorigen Schritt erledigt//
 +
 +<​code>​
 +    SSLCertificateFile /​etc/​apache2/​ssl.crt/​invis-server.crt
 +    SSLCertificateKeyFile /​etc/​apache2/​ssl.key/​invis-server.key
 +</​code>​
 +
 +Ersetzen Sie diese bitte durch folgende Zeilen:
 +
 +<​code>​
 +    <​IfDefine LETSENCRYPT> ​
 +        #   You can use per vhost certificates if SNI is supported.
 +        SSLCertificateFile /​etc/​dehydrated/​certs/​your.ddns-domain.net/​cert.pem
 +        SSLCertificateKeyFile /​etc/​dehydrated/​certs/​your.ddns-domain.net/​privkey.pem
 +        SSLCertificateChainFile /​etc/​dehydrated/​certs/​your.ddns-domain.net/​chain.pem
 +    </​IfDefine>​
 +
 +    <​IfDefine OWNCERTS>​
 +        SSLCertificateFile /​etc/​apache2/​ssl.crt/​invis-server.crt
 +        SSLCertificateKeyFile /​etc/​apache2/​ssl.key/​invis-server.key
 +    </​IfDefine>​
 +</​code>​
 +
 +Ersetzen Sie dann im oberen "​IfDefine"​ Container in allen drei Dateien "​your.ddns-domain.net"​ mit dem Hostnamen, über den Sie Ihren invis-Server via Internet erreichen.
 +
 +Sie können Ihren Apache-Webserver jetzt zunächst wieder mit den eigenen Zertifikaten in Betrieb nehmen. Dazu muss noch ein sogenanntes Server-Flag gesetzt und Apache neu gestartet werden:
 +
 +//​**Hinweis:​** wenn Sie auf Version 13 aktualisieren haben Sie diesen Punkt bereits im vorigen Schritt erledigt//
 +
 +<​code>​
 +invis:~ # a2enflag OWNCERTS
 +invis:~ # systemctl restart apache2.service
 +</​code>​
 +
 +Jetzt muss ein neuer Apache vHost eingerichtet werden. Dieser vHost wird zur Aktualisierung der Zertifikate benötigt. Die hierfür benötigte Konfigurationsdatei hat Ihr invis-Server bereits im Gepäck. Kopieren Sie sie einfach ins oben genannte vHosts-Verzeichnis:​
 +
 +** invis-Server 12.x **
 +
 +<​code>​
 +invis:~ # cp /​usr/​share/​doc/​packages/​invisAD-setup/​examples/​dehydrated/​dehydrated.conf /​etc/​apache2/​vhosts.d/​
 +</​code>​
 +
 +** invis-Server 13.x **
 +
 +<​code>​
 +invis:~ # cp /​usr/​share/​sine/​templates/​webserver/​vh-dehydrated.conf /​etc/​apache2/​vhosts.d/​
 +</​code>​
 +
 +In dieser Datei müssen Sie jetzt lediglich eine kleine Anpassung vornehmen. Ermitteln Sie die IP-Adresse Ihrer externen Netzwerkschnittstelle:​
 +
 +<​code>​
 +invis:~ # ifconfig extern
 +extern ​   Link encap:​Ethernet ​ Hardware Adresse 00:​15:​90:​31:​DD:​23  ​
 +          inet Adresse:​192.168.178.43 ​ Bcast:​192.168.178.255 ​ Maske:​255.255.255.0
 +...
 +</​code>​
 +
 +Tragen Sie diese Adresse wie nachfolgend gezeigt in obige Datei ein:
 +
 +<​code>​
 +...
 +<​Virtualhost 192.168.178.43:​80>​
 +    ServerName your.ddns-domain.net ​
 +    DocumentRoot /​srv/​www/​htdocs/​dehydrated
 +...
 +</​code>​
 +
 +Ersetzen Sie auch hier "​your.ddns-domain.net"​ durch den Namen über den Sie Ihren invis-Server via Internet ansprechen. Legen Sie jetzt das DocumentRoot-Verzeichnis für den neuen vHost an:
 +
 +<​code>​
 +invis:~ # mkdir -p "/​srv/​www/​htdocs/​dehydrated/​.well-known/​acme-challenge"​
 +invis:~ # chown dehydrated "/​srv/​www/​htdocs/​dehydrated/​.well-known/​acme-challenge"​
 +</​code>​
 +
 +Jetzt muss der Let's Encrypt-Client **//​dehydrated//​** noch konfiguriert werden. Auch hier hat Ihr invis-Server bereits eine vorbereitete Konfigurationsdatei im Gepäck, die an die richtige Stelle kopieren können:
 +
 +** invis-Server 12.x **
 +
 +<​code>​
 +invis:~ # cp /​usr/​share/​doc/​packages/​invisAD-setup/​examples/​dehydrated/​config /​etc/​dehydrated/​
 +</​code>​
 +
 +** invis-Server 13.x **
 +
 +<​code>​
 +invis:~ # cp /​usr/​share/​sine/​templates/​webserver/​dehydrated/​config /​etc/​dehydrated/​
 +</​code>​
 +
 +In dieser Datei ist lediglich eine kleine Anpassung vorzunehmen. Tragen Sie in der Zeile "​CONTACT_EMAIL"​ relativ weit unten in der Datei eine gültige Email-Adresse die beim Erstellen der Zertifikate genutzt werden kann und befreien Sie die Zeile vom führenden Kommentarzeichen:​
 +
 +<​code>​
 +...
 +CONTACT_EMAIL=info@echtedomain.de
 +...
 +</​code>​
 +
 +Zum Abschluss der Konfiguration müssen Sie noch in der Datei <​file>/​etc/​dehydrated/​domains.txt</​file>​ den Namen Ihres Servers eintragen, der in Ihr Server-Zertifikat eingetragen wird. Dies ist natürlich wieder der Name unter dem Ihr invis-Server via Internet erreichbar ist. Alle Beispiel-Namen,​ die Sie in der Datei vorfinden sind zu entfernen.
 +
 +Weiterhin tragen Sie in die Datei <​file>/​etc/​dehydrated/​hooks.sh</​file>​ in den Funktion "​deploy_cert()"​ folgende Zeile ein:
 +
 +<​code>​
 +deploy_cert() {
 +...
 +
 +    # Reload Apache Webserver
 +    systemctl reload apache2.service
 +}
 +</​code>​
 +
 +Für die Inbetriebnahme,​ bzw. den Wechsel des eigenen Zertifikats auf ein verifiziertes von Let's Encrypt müssen Sie auf Ihrem Router noch eine zusätzliche Portweiterleitung einrichten. Dort muss Port 80 auf Ihren invis-Server weitergeleitet werden. Selbstverständlich muss Port 80 dann auch in der Firewall geöffnet werden.
 +
 +Ändern Sie dazu in der Datei <​file>/​etc/​sysconfig/​SuSEfirewall2</​file>​ Zeile 291 (ca.). Tragen Sie einfach die Zahl 80 durch Leerzeichen getrennt zusätzlich ein:
 +
 +<​code>​
 +FW_SERVICES_EXT_TCP="​80 443 53xxx 50xxx 59xxx 1194"
 +</​code>​
 +
 +Starten Sie jetzt die Firewall neu:
 +
 +<​code>​
 +invis:~ # rcSuSEfirewall2 restart
 +</​code>​
 +
 +Zur Inbetriebnahme müssen Sie jetzt nur noch unser Script **//​actdehydrated//​** ausführen:
 +
 +<​code>​
 +invis:~ # actdehydrated
 +</​code>​
 +
 +Testen Sie es aus indem Sie einfach eine "​https"​ Verbindung zu auf den im Internet gültigen Namen Ihres invis-Servers öffnen.
  • invis_server_wiki/upgrade/11.x-to-12.x.1516446894.txt.gz
  • Zuletzt geändert: 2018/01/20 11:14
  • von flacco