VirtualHosts UCS 4.0

@digitec-san:
Wäre es möglich, dass Sie Ihne Anregungen im Univention-Bugzilla als Request formulieren? Ich denke, dass Sie in der Thematik mehr drinstecken und ich hier nur Durchlauferwärmer spielen würde,

Danke,
Dirk Ahrnke

Hi zusammen,

stecke gerade genau da fest…
Bei mir soll das hier funktionieren:

ox.TLD.com -> soll die Appsuite öffnen die unter /var/www/appsuite liegt.
benno.TLD.com -> soll das Benno Mailarchiv öffnen das (glaube ich)unter /var/www/benno liegt.
admin.TLD.com -> soll die UCS MGMNT Console öffnen /var/www/ucs-overview
TLD.com -> soll mal einfach eine leere Page sein /var/www/

Wenn das nicht geht, wäre das schon krass…
Habt Ihr eine Idee für einen workaround vielleicht?

Danke
Sascha

Hm, es gibt da nen Eintrag in den Release Notes von 4.1:

docs.software-univention.de/rel … ice:apache

Aber im Handbuch hab ich auf die Schnelle nichts dazu gefunden. Will sich jemand den Code angucken? :slight_smile:

Ja Doku dazu wäre schon cool…
Ich finde leider auch nix…

Danke
Sascha

Keinerlei Dokumentation?
Wäre super, wenn ich das zwischen den Tagen erledigen könnte…
Danke und noch nachträglich frohe Weihnachten.

lg
Sascha

mit folgenden Änderungen kann das gewünschte Verhalten realisiert werden:

  • Deaktivieren der default ox site
a2dissite ox
  • Anpassen des ucs default templates '/etc/univention/templates/files/etc/apache2/sites-available/default.d/00start'
@%@UCRWARNING=# @%@

NameVirtualHost *:80
<VirtualHost *:80>
  ServerName admin.DOMAIN.tld
  ServerAlias umc.DOMAIN.tld
  ServerPath "/ucs-overview/"

  Include /etc/apache2/ucs-sites.conf.d

  # overwrite DocumentRoot from Include
  DocumentRoot /var/www/univention-management-console

  # neat redirect of ox within umc
  RewriteEngine on
  RewriteRule ".*/appsuite$" "http://ox.DOMAIN.tld/" [L,R]
  RewriteLog "/var/log/apache2/rewrite.log"
  RewriteLogLevel 1
  • Anpassen der virtual hosts ‘/etc/apache2/sites-available/virtual’
##########
# default landing page
##########
<VirtualHost *:80>
  ServerName DOMAIN.tld
  ServerAlias www.DOMAIN.tld
  DocumentRoot /var/www/default
  DirectoryIndex index.html
</VirtualHost>

##########
# this section is generated via ucs templates!
#
# see /etc/apache2/sites-available/default
# refer to /etc/univention/templates/files/etc/apache2/sites-available/default.d/
##########
#<VirtualHost *:80>
#  ServerName admin.DOMAIN.tld
#  ServerAlias umc.DOMAIN.tld
#  ServerPath "/ucs-overview/"
#  DocumentRoot /var/www/univention-management-console
#
#  RedirectMatch ^/$ /ucs-overview/
#</VirtualHost>

##########
# Open Xchange
##########
<VirtualHost *:80>
  ServerName ox.DOMAIN.tld
  ServerAlias mail.DOMAIN.tld
  DocumentRoot /var/www
  RedirectMatch ^/$ /appsuite/

  Include /etc/apache2/sites-available/ox
</VirtualHost>

##########
# Web DAV
##########
<VirtualHost *:80>
  ServerName dav.DOMAIN.tld
  DirectoryIndex webdav.php
  DocumentRoot /var/www/dav
</VirtualHost>
  • Konfiguration erzeugen und Webserver neu starten
ucr commit /etc/apache2/sites-available/default
service apache2 restart

Alle unter ServerName bzw. ServerAlias genannten Domains und Subdomains sollten über CNAME Einträge in der DNS Konfiguration verfügen um erreichbar zu sein. Zum Testen können diese Einträge auch in die /etc/hosts übernommen werden.
Die unter DocumentRoot genannten Verzeichnisse sowie die unter DirectoryIndex genannten Dateien müssen existieren und ggf. angelegt werden.

Hi!
also bis auf das fehlende
a2ensite virtual
am Ende, scheint das so tatsächlich zu funktionieren.
Danke erstmal, ich teste nun

lg
Sascha

Ja der redirect scheint jetzt wie gewünscht zu funktionieren,
Allerdings gilt die wirklich praktische Einstellung “apache2/force_https” jetzt natürlich nur für die UMC, nicht aber für die anderen Subdomains.
Wie erreiche ich jetzt also am saubersten den direkten rewrite von http auf https für alle domains und subdomains?

Danke
Sascha

[ul]

[li]Anpassen des ucs default templates ‘/etc/univention/templates/files/etc/apache2/sites-available/default.d/00start’

[code]@%@UCRWARNING=# @%@

NameVirtualHost *:80
<VirtualHost *:80>
ServerName admin.DOMAIN.tdl
ServerAlias umc.DOMAIN.tdl

force ssl

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1
[/code]
[/li]
[li]Anpassen des ucs default templates ‘/etc/univention/templates/files/etc/apache2/sites-available/ssl.d/00start’
Achtung! die Config ist abgeschnitten, soweit die Einträge nicht überschrieben werden alles so belassen!

[code]@%@UCRWARNING=# @%@

NameVirtualHost *:443
<VirtualHost *:443>
ServerName admin.DOMAIN.tdl
ServerAlias umc.DOMAIN.tdl
ServerPath “/ucs-overview/”

Include /etc/apache2/ucs-sites.conf.d

overwrite DocumentRoot from Include

DocumentRoot /var/www/univention-management-console

neat redirect of ox within umc

RewriteEngine on
RewriteRule “.*/appsuite$” “https://ox.DOMAIN.tdl/” [L,R]
RewriteLog “/var/log/apache2/rewrite-ssl.log”
RewriteLogLevel 1
—8<—
[/code]
[/li]
[li]Anpassen der virtual hosts ‘/etc/apache2/sites-available/virtual’

[code]##########

default landing page

##########
<VirtualHost *:80>
ServerName DOMAIN.tdl
ServerAlias www.DOMAIN.tdl

force ssl

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1

##########

UMC section is generated via ucs templates!

see /etc/apache2/sites-available/default

refer to /etc/univention/templates/files/etc/apache2/sites-available/default.d/

##########

##########

Open Xchange

##########
<VirtualHost *:80>
ServerName ox.DOMAIN.tdl
ServerAlias mail.DOMAIN.tdl

force ssl

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1

##########

Web DAV

##########
<VirtualHost *:80>
ServerName dav.DOMAIN.tdl

force ssl

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1

[/code]
[/li]
[li]Kopieren und anpassen der virtual hosts ‘/etc/apache2/sites-available/virtual-ssl’

[code]##########

default landing page

##########
<VirtualHost *:443>
ServerName DOMAIN.tdl
ServerAlias www.DOMAIN.tdl
DocumentRoot /var/www/default
DirectoryIndex index.html

SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/univention/ssl/../cert.pem
SSLCertificateKeyFile /etc/univention/ssl/../private.key
SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

##########

umc section is generated via ucs templates!

see /etc/apache2/sites-available/default

refer to /etc/univention/templates/files/etc/apache2/sites-available/default.d/

##########

##########

Open Xchange

##########
<VirtualHost *:443>
ServerName ox.DOMAIN.tdl
ServerAlias mail.DOMAIN.tdl
DocumentRoot /var/www
RedirectMatch ^/$ /appsuite/
Include /etc/apache2/sites-available/ox

SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/univention/ssl/../cert.pem
SSLCertificateKeyFile /etc/univention/ssl/../private.key
SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

##########

Web DAV

##########
<VirtualHost *:443>
ServerName dav.DOMAIN.tdl
DirectoryIndex webdav.php
DocumentRoot /var/www/dav

SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/univention/ssl/../cert.pem
SSLCertificateKeyFile /etc/univention/ssl/../private.key
SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

[/code]
[/li]
[li]Konfiguration erzeugen und Webserver neu starten

ucr commit /etc/apache2/sites-available/default /etc/apache2/sites-available/default-ssl a2ensite default default-ssl virtual virtual-ssl service apache2 restart[/li][/ul]

Alternativ kann man die Rewrites für ssl auch in die .htaccess der jeweiligen Seite schreiben.

Hinweis: https://wiki.apache.org/httpd/RewriteHTTPToHTTPS

Also irgendwie will das hier noch nicht so richtig…
Egal welche Subdomain wir jetzt aufrufen, also benno. oder ox.es wird alles nach /ucs-overview/ aufgelöst.

Der Fehler in der apache error.log beim Aufruf von ox.domain.tld:

[Wed Dec 30 13:49:45 2015] [error] [client 123.123.123.123] File does not exist: /var/www/univention-management-console/languages.json, referer: https://mail.domain.tld/ucs-overview/ [Wed Dec 30 13:49:45 2015] [error] [client 123.123.123.123] File does not exist: /var/www/univention-management-console/saml, referer: https://mail..domain.tld/ucs-overview/ [Wed Dec 30 13:49:45 2015] [error] [client 123.123.123.123] File does not exist: /var/www/univention-management-console/univention-management-console, referer: https://mail..domain.tld/ucs-overview/

Aber ich glaube, dass da noch irgendwo der Wurm in der Konfiguration ist:

/etc/univention/templates/files/etc/apache2/sites-available/default.d/00start

[code]@%@UCRWARNING=# @%@

NameVirtualHost *:80
<VirtualHost *:80>

ServerName admin.domain.tld
ServerAlias umc.domain.tld

force ssl

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1
[/code]

/etc/univention/templates/files/etc/apache2/sites-available/ssl.d/00start

[code]@%@UCRWARNING=# @%@

NameVirtualHost *:443
<VirtualHost *:443>
  ServerName admin.domain.tld
  ServerAlias umc.domain.tld
  ServerPath "/ucs-overview/"
  Include /etc/apache2/ucs-sites.conf.d

  # overwrite DocumentRoot from Include
  DocumentRoot /var/www/univention-management-console

  # neat redirect of ox within umc
  RewriteEngine on
  RewriteRule ".*/appsuite$" "https://ox.domain.tld/" [L,R]
  RewriteLog "/var/log/apache2/rewrite-ssl.log"
  RewriteLogLevel 1
SSLEngine on SSLProxyEngine on @!@ if configRegistry.get('apache2/ssl/certificate'): print ' SSLCertificateFile %s' % configRegistry.get('apache2/ssl/certificate') else: print ' SSLCertificateFile /etc/univention/ssl/%s.%s/cert.pem' % (configRegistry.get('hostname'), configRegistry.get('domainname')) if configRegistry.get('apache2/ssl/key'): print ' SSLCertificateKeyFile %s' % configRegistry.get('apache2/ssl/key') else: print ' SSLCertificateKeyFile /etc/univention/ssl/%s.%s/private.key' % (configRegistry.get('hostname'), configRegistry.get('domainname')) if configRegistry.get('apache2/ssl/ca'): print ' SSLCACertificateFile %s' % configRegistry.get('apache2/ssl/ca') else: print ' SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem' if configRegistry.get('apache2/ssl/certificatechain'): print ' SSLCertificateChainFile %s' % configRegistry.get('apache2/ssl/certificatechain') @!@ #SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
    ### To enable special log format for HTTPS-access
    # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %p" combinedssl
    # CustomLog /var/log/apache2/access.log combinedssl     ## with port number[/code]

Hier musste ich nachher in der resultierenden default-ssl die letzten beiden Einträge


vertauschen, weil apache sonst gar nicht gestartet ist

/etc/apache2/sites-available/virtual

[code]##########

default landing page

##########
<VirtualHost *:80>
ServerName domain.tld
ServerAlias www.domain.tld

force ssl

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1

##########

this section is generated via ucs templates!

see /etc/apache2/sites-available/default

refer to /etc/univention/templates/files/etc/apache2/sites-available/default.d/

##########
#<VirtualHost *:80>

ServerName admin.DOMAIN.tdl

ServerAlias umc.DOMAIN.tdl

ServerPath “/ucs-overview/”

DocumentRoot /var/www/univention-management-console

RedirectMatch ^/$ /ucs-overview/

#

##########

Open Xchange

##########
<VirtualHost *:80>
ServerName ox.domain.tld
ServerAlias mail.domain.tld

force ssl

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1

##########

Benno

##########
<VirtualHost *:80>
ServerName benno.domain.tld

force ssl

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1

[/code]

/etc/apache2/sites-available/virtual-ssl

[code]##########

default landing page

##########
<VirtualHost *:443>
ServerName domain.tld
ServerAlias www.domain.tld
DocumentRoot /var/www/default
DirectoryIndex index.html

SSLEngine on
SSLProxyEngine on

    SSLCertificateFile /etc/univention/ssl/ucs-master1.ucs.domain.tld/cert.pem
    SSLCertificateKeyFile /etc/univention/ssl/ucs-master1.ucs.domain.tld/private.key
    SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

SSLCertificateFile /etc/univention/ssl/../cert.pem

SSLCertificateKeyFile /etc/univention/ssl/../private.key

SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

##########

this section is generated via ucs templates!

see /etc/apache2/sites-available/default

refer to /etc/univention/templates/files/etc/apache2/sites-available/default.d/

##########
#<VirtualHost *:80>

ServerName admin.DOMAIN.tdl

ServerAlias umc.DOMAIN.tdl

ServerPath “/ucs-overview/”

DocumentRoot /var/www/univention-management-console

RedirectMatch ^/$ /ucs-overview/

#

##########

Open Xchange

##########
<VirtualHost *:80>
ServerName ox.domain.tld
ServerAlias mail.domain.tld
DocumentRoot /var/www
RedirectMatch ^/$ /appsuite/
Include /etc/apache2/sites-available/ox

SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/univention/ssl/ucs-master1.ucs.domain.tld/cert.pem
SSLCertificateKeyFile /etc/univention/ssl/ucs-master1.ucs.domain.tld/private.key
SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

SSLCertificateFile /etc/univention/ssl/../cert.pem

SSLCertificateKeyFile /etc/univention/ssl/../private.key

SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

##########

Benno

##########
<VirtualHost *:80>
ServerName benno.domain.tld
DocumentRoot /var/www
RedirectMatch ^/$ /benno/

SSLEngine on
SSLProxyEngine on

    SSLCertificateFile /etc/univention/ssl/ucs-master1.ucs.domain.tld/cert.pem
    SSLCertificateKeyFile /etc/univention/ssl/ucs-master1.ucs.domain.tld/private.key
    SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

SSLCertificateFile /etc/univention/ssl/../cert.pem

SSLCertificateKeyFile /etc/univention/ssl/../private.key

SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem

[/code]

Ich habe jetzt zu Testzwecken zunächst den Verweis auf die vorhandenen Keys in /etc/univention/ssl/ucs-master1.ucs.domain.tld/ eingerichtet. Das sollte doch gehen oder?

Würde mich über Hilfe weiterhin extrem freuen.
Danke
Sascha

Edit:
Es ist Ende des Jahres, das Jahr war lang und der Jüngste bin ich auch nicht mehr…
Fehler natürlich gefunden:
in der virtual-ssl stand überall noch
<VirtualHost *:80>
statt
<VirtualHost *:443>

Mann Mann Mann…

Danke für Eure Hilfe…
Sascha

Das Problem dürfte viel einfacher sein, schauen Sie mal alle Portangaben ihrer virtual-ssl an, Sie haben dort noch bei einigen Einträgen :80 stehen - einfach auch hier auf :443 ändern und schon sollte es funktionieren. Ein manuelles Anpassen nach der Generierung durch die Templates sollte nicht nötig sein und ist eher ein Hinweis auf eine fehlerhafte Config. Einfach mal den Inhalt von default und default-ssl prüfen:

cat /etc/apache2/sites-available/default cat /etc/apache2/sites-available/default-ssl

Die Verweise auf die Schlüssel schauen so korrekt aus.

Edit: Hab den Edit-Hinweis erst nach dem Post gelesen.

Hi!

klappt soweit (fast) alles!
Da ich aber jetzt ein globalsign wildcard Zertifikat nutzen möchte, müsste ich bitte noch wissen, wie ich das in der :

/etc/univention/templates/files/etc/apache2/sites-available/ssl.d/00start

richtig einrichte.
in der

/etc/apache2/sites-enabled/virtusl-ssl

konnte ich das mit

SSLCertificateFile /etc/univention/ssl/foo.bar/foo.bar.crt SSLCertificateKeyFile /etc/univention/ssl/foo.bar/foo.bar.key SSLCACertificateFile /etc/univention/ssl/foo.bar/foo.bar.CAcert.pem SSLCertificateChainFile /etc/univention/ssl/foo.bar/foo.bar.intermediate.crt

für die einzelnen virtual hosts (ox.foo.bar und benno.foo.bar) einstellen.

admin.foo.bar soll aber natürlich auch das wildcard Zertifikat nutzen.

Danke
Sascha

Ausserdem bräuchte ich bitte noch kurz eine Anleitung, wie ich das Zertifikat korrekt bei dovecot und postfix einbinde.
Wie gesagt, diese files habe ich vorliegen:

SSLCertificateFile /etc/univention/ssl/foo.bar/foo.bar.crt
SSLCertificateKeyFile /etc/univention/ssl/foo.bar/foo.bar.key
SSLCACertificateFile /etc/univention/ssl/foo.bar/foo.bar.CAcert.pem
SSLCertificateChainFile /etc/univention/ssl/foo.bar/foo.bar.intermediate.crt

Danke
Sascha

Hi,

unabhängig davon, dass wir noch die ssl Schlüssel für die postfix und dovecot Konfiguration einbinden müssen (siehe vorherige posts, würde mich freuen, wenn Ihr da ne Idee hättet) haben wir scheinbar ein neues Problem nach den Anpassungen.

  • in der umc Anmeldemaske, oben rechts unter Sprache ist nur noch englisch verfügbar, obwohl bei den Basiseinstellungen Deutsch als Standard eingestellt ist. Die UMC selber ist zum Großteil englisch, einige Einträge sind aber auch noch auf deutsch. Wie reparieren wir das?

  • Der Admin erhält bei der Abmelung aus der UMC eine Fehlermeldung

[code]Not Found

The requested URL /univention-management-console/ was not found on this server.[/code]
Auch das kann ich mir nicht wirklich erklären.

Hier noch mal die Datei
/etc/univention/templates/files/etc/apache2/sites-available/ssl.d/00start
seht Ihr einen Fehler?

[code]@%@UCRWARNING=# @%@

NameVirtualHost *:443
<VirtualHost *:443>
  ServerName admin.domain.tld
  ServerAlias umc.domain.tld
  ServerPath "/ucs-overview/"
  Include /etc/apache2/ucs-sites.conf.d

  # overwrite DocumentRoot from Include
  DocumentRoot /var/www/univention-management-console

  # neat redirect of ox within umc
  RewriteEngine on
  RewriteRule ".*/appsuite$" "https://ox.domain.tld/" [L,R]
  RewriteLog "/var/log/apache2/rewrite-ssl.log"
  RewriteLogLevel 1
SSLEngine on SSLProxyEngine on @!@ if configRegistry.get('apache2/ssl/certificate'): print ' SSLCertificateFile %s' % configRegistry.get('apache2/ssl/certificate') else: print ' SSLCertificateFile /etc/univention/ssl/%s.%s/cert.pem' % (configRegistry.get('hostname'), configRegistry.get('domainname')) if configRegistry.get('apache2/ssl/key'): print ' SSLCertificateKeyFile %s' % configRegistry.get('apache2/ssl/key') else: print ' SSLCertificateKeyFile /etc/univention/ssl/%s.%s/private.key' % (configRegistry.get('hostname'), configRegistry.get('domainname')) if configRegistry.get('apache2/ssl/ca'): print ' SSLCACertificateFile %s' % configRegistry.get('apache2/ssl/ca') else: print ' SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem' if configRegistry.get('apache2/ssl/certificatechain'): print ' SSLCertificateChainFile %s' % configRegistry.get('apache2/ssl/certificatechain') @!@ #SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
    ### To enable special log format for HTTPS-access
    # LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %p" combinedssl
    # CustomLog /var/log/apache2/access.log combinedssl     ## with port number[/code]

Danke
Sascha

In der vorherigen Lösung ist ein Fehler der mit folgender Konfiguration korrigiert wird. In absehbarer Zeit wird es, nach einigen weiteren Tests, hierzu eine Veröffentlichung geben; entweder in unserer SDB oder als Cool-Solution.

/etc/univention/templates/files/etc/apache2/sites-available/default.d/00start

@%@UCRWARNING=# @%@

NameVirtualHost *:80
<VirtualHost *:80>
  ServerName admin.@%@domainname@%@
  ServerAlias umc.@%@domainname@%@
#  ServerPath "/ucs-overview/"

  ProxyPreserveHost on
  ProxyTimeout 600

  DocumentRoot /var/www

  RewriteEngine  on
  RedirectMatch ^/$ univention-management-console/
  RewriteRule "^/appsuite$" "http://ox.@%@domainname@%@/" [R,L]

  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride AuthConfig Limit FileInfo

    Order allow,deny
    allow from all
  </Directory>

  <Directory /var/www/ucs-overview/>
    RewriteEngine On
    RewriteRule ^(de|en).html$ /ucs-overview?lang=$1 [L,R]
    <FilesMatch "(entries|languages).json">
      # prevent to cache these files in IE<10
      Header set Cache-Control "max-age=0, must-revalidate, no-cache, no-store"
    </FilesMatch>
  </Directory>

  RewriteLog "/var/log/apache2/univention_rewrite.log"
  RewriteLogLevel 1

/etc/univention/templates/files/etc/apache2/sites-available/ssl.d/00start

@%@UCRWARNING=# @%@

<IfModule mod_ssl.c>
NameVirtualHost *:443
<VirtualHost *:443>
  ServerName admin.@%@domainname@%@
  ServerAlias umc.@%@domainname@%@

  ProxyPreserveHost on
  ProxyTimeout 600

  DocumentRoot /var/www

  RewriteEngine  on
  RedirectMatch ^/$ /univention-management-console/
  RewriteRule "^/appsuite$" "https://ox.@%@domainname@%@/" [R,L]

  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride AuthConfig Limit FileInfo

    Order allow,deny
    allow from all
  </Directory>

  <Directory /var/www/ucs-overview/>
    RewriteEngine On
    RewriteRule ^(de|en).html$ /ucs-overview?lang=$1 [L,R]
    <FilesMatch "(entries|languages).json">
      # prevent to cache these files in IE<10
      Header set Cache-Control "max-age=0, must-revalidate, no-cache, no-store"
    </FilesMatch>
  </Directory>

  RewriteLog "/var/log/apache2/univention_rewrite-ssl.log"
  RewriteLogLevel 1



	SSLEngine on
	SSLProxyEngine on
@!@
if configRegistry.get('apache2/ssl/certificate'):
	print '	SSLCertificateFile %s' % configRegistry.get('apache2/ssl/certificate')
else:
	print '	SSLCertificateFile /etc/univention/ssl/%s.%s/cert.pem' % (configRegistry.get('hostname'), configRegistry.get('domainname'))
if configRegistry.get('apache2/ssl/key'):
	print '	SSLCertificateKeyFile %s' % configRegistry.get('apache2/ssl/key')
else:
	print '	SSLCertificateKeyFile /etc/univention/ssl/%s.%s/private.key' % (configRegistry.get('hostname'), configRegistry.get('domainname'))
if configRegistry.get('apache2/ssl/ca'):
	print '	SSLCACertificateFile %s' % configRegistry.get('apache2/ssl/ca')
else:
	print '	SSLCACertificateFile /etc/univention/ssl/ucsCA/CAcert.pem'
if configRegistry.get('apache2/ssl/certificatechain'):
	print '	SSLCertificateChainFile %s' % configRegistry.get('apache2/ssl/certificatechain')
@!@
	#SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

	### To enable special log format for HTTPS-access
	# LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %p" combinedssl
	# CustomLog /var/log/apache2/access.log combinedssl	## with port number

Die übrige Konfiguration kann unverändert weiter verwendet werden.

ucr search mail/postfix/ssl/

mail/postfix/ssl/cafile: <empty>
 A file containing  CA certificates (in PEM format) of root CAs trusted to sign either remote SMTP client certificates or intermediate CA certificates.

mail/postfix/ssl/capath: <empty>
 A directory containing CA certificates (in PEM format) of root CAs trusted to sign either remote SMTP client certificates or intermediate CA certificates.

mail/postfix/ssl/certificate: <empty>
 The full path name of the SSL certificate that is used by Postfix to establish SSL connections. If the variable is unset, the host certificate is used.

mail/postfix/ssl/key: <empty>
 The full path name of the SSL key file that is used by Postfix to establish SSL connections. If the variable is unset, the SSL key of the host is used.

ucr search mail/dovecot/ssl

mail/dovecot/ssl/cafile: <empty>
 The full path of the file containing the certificates of the certificate authority (CA) to be used by the IMAP/POP3/managesieve server. Set this only if you intend to request clients to send a certificate. Set mail/dovecot/auth/ssl_require_client_cert=yes is you wish to not only request client certificates, but want to require them.

mail/dovecot/ssl/certificate: <empty>
 The full path name of SSL certificate that is used by Dovecot to establish SSL connections. If the variable is unset, the local host certificate (/etc/univention/ssl/<FQDN>/cert.pem) is used.

mail/dovecot/ssl/cipher_list: <empty>
 SSL ciphers to use. Defaults to "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA".

mail/dovecot/ssl/dh_parameters_length: <empty>
 =Diffie Hellman parameters length to use. Defaults to "2048".

mail/dovecot/ssl/key: <empty>
 The full path name of SSL key file that is used by Dovecot to establish SSL connections. If the variable is unset the l    ocal host key (/etc/univention/ssl/<FQDN>/private.key) is used.

Folgende Änderungen wären also nötig:

ucr set mail/postfix/ssl/cafile=/etc/univention/ssl/foo.bar/foo.bar.CAcert.pem \
 mail/postfix/ssl/capath=/etc/univention/ssl/foo.bar \
 mail/postfix/ssl/certificate=/etc/univention/ssl/foo.bar/foo.bar.crt \
 mail/postfix/ssl/key=/etc/univention/ssl/foo.bar/foo.bar.key

ucr set mail/dovecot/ssl/cafile=/etc/univention/ssl/foo.bar/foo.bar.CAcert.pem \
 mail/dovecot/ssl/certificate=/etc/univention/ssl/foo.bar/foo.bar.crt \
 mail/dovecot/ssl/key=/etc/univention/ssl/foo.bar/foo.bar.key

Wow!

Danke, das hat alles super geklappt jetzt!
Bis nächste Woche in Bremen!

lg
Sascha

@stoeckigt:

habt Ihr dazu schon etwas in der SDB oder unter Cool-Solutions veröffentlicht?

Wäre schön, wenn es hierzu eine von Euch getestete Anleitung gäbe.

Danke,
Joachim

Hi,

ich musste für das Update des UCS auf 4.2 die geänderten Templates erstmal wieder nach *-bak verschieben, da sonst das Update meckert, dass die templates manuell geändert wurden.
Danach lief das Update durch, alles ist soweit erreichbar, aber ein einfaches zurückkopieren der templates um den vorherigen Zustand zu erreichen, geht nicht, da sich einige apache Einstellungen ja in jessie geändert haben.

Bevor ich mich da jetzt im einzelnen durcharbeite…

Gibt es vlt. mittlerweile eine richtige und getestete Anleitung zu:

  • Automatisches Rewrte von HTTP nach HTTPS für alle vhosts die für Apache konfiguriert sind
  • Korrektes Anlegen von verschiedenen vhosts (in diesem Fall subdomains für verschiedene Apps) in UCS

Danke und schönes WE
Sascha

1 Like

Suche ich auch gerade…ein hint wäre super toll…danke Euch…
Möchte die Kopano Webapp via https://webmail.domain.de und Webmeeting via https://webmeetings.domain.de erreichbar machen von aussen.
Wenn dann noch letsencrypt funktioniert bin ich selig…

Carmen

Mastodon