VirtualHosts UCS 4.0

Guten Tag,

So ich habe jetzt immer weiter Konfiguriert an meinem UCS und unteranderem folgende Komponenten installiert.

Open-Xchange AppSuite
Open-Xchange Guard
Open-Xchange Documents
PLUCS

Ich möchte nun Subdomains einrichten um die einzelnen Konsolen ansteuern zu können.

ox.TLD.com -> soll die Appsuite öffnen die unter /var/www/appsuite liegt.
dav.TLD.com -> soll den Dav dienst der Appsuite ansteuern.
admin.TLD.com -> soll die UCS MGMNT Console öffnen /var/www/ucs-overview
TLD.com -> soll mal einfach eine leere Page sein /var/www/

Nun habe ich aber enorme Probleme das zu konfigurieren.
Ich habe unter /etc/apache2/sites-enabled eine Datei namens vh angelegt. Unter /etc/apache2/ports.conf habe ich die Direktive “NameVirtualHost *:80” gesetzt.
In dieser möchte ich nun alle meine VirtuellenHosts konfigurieren können. So muss ich die angelegten standard Configs der Service nicht anfassen.
Momentan sieht die so aus

<VirtualHost *:80>

	ServerName admin.TLD.ch
	ServerAlias admin.TLD.ch
	DocumentRoot /var/www

</VirtualHost>

<VirtualHost *:80>

	ServerName ox.TLD.ch
	ServerAlias ox.TLD.ch
	DocumentRoot /var/www/appsuite

</VirtualHost>

<VirtualHost *:80>
       ServerName dav.TLD.ch
       ServerAlias dav.TLD.ch
       ErrorLog /tmp/dav.err.log
       TransferLog /tmp/dav.access.log

      <Proxy balancer://oxserver-sync>
        Order deny,allow
        Allow from all

        # for grizzly http service
        BalancerMember http://localhost:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX1
        # uncomment this entry if you have a clustered setup and want to use the other nodes too
        #BalancerMember http://<ip-of-other-host>:8009 timeout=100 smax=0 ttl=60 retry=60 loadfactor=50 route=OX2
        SetEnv proxy-initial-not-pooled
        SetEnv proxy-sendchunked
      </Proxy>

      <Proxy />
              Order allow,deny
              Allow from all
              ProxyPass balancer://oxserver-sync/servlet/dav/
      </Proxy>
</VirtualHost>

Nun zum Problem. UCS hängt hinten immer ein /ucs-overview/ an. Das ändern der UCR Variabel apache2/startsite auf einen leeren Eintrag hat auch nicht wircklich geholfen.
Wie löst ihr das Problem mit Subdomains und VirtualHosts. Ich probiere schon seit 2 Monaten den UCS, habe auch mehrmals immer wieder neuinstalliert. Aber den Apache hab ich einfach noch nicht raus wie der sich verhält.

Vielen Dank

Hallo,

das Problem ist wohl, dass durch die “<Directory /var/www>” Direktive in sites-available/default immer ein Redirect gesetzt wird.
Wenn die UCR-Variable “apache2/startsite” leer ist, setzt das Template trotzdem “ucs-overview”, ansonsten das, was in der Variablen steht. Änderungen brauchen aber zumindest einen Reload vom Apachen.
Einfach “/” bringt auch nichts, das erzeugt nur einen Loop.

Man muß wohl das Template editieren, um dieses Verhalten verhindern zu können.

Viele Grüße,
Dirk Ahrnke

Moin,
im Moment ist es nicht möglich mehrere Webseiten die den vollen Pfadraum ausnutzen auf einem UCS System zu hosten.

Auch wir würden uns deshalb wünschen dass der Redirect vom <Directory /var/www> in der sites-available/default in eine andere Datei mit

<VirtualHost *:80>
 RedirectMatch ^/$ /anders-hamburg

...
</VirtualHost>

verschoben werden könnte.

Außerdem wäre es es super, wenn der VirtualHost unter mods-available/ssl.conf in eine eigen sites-available/default-ssl verschoben werden könnte und die Listen directive mittels ucr Variable von * auf andere Werte geändert werden könnte.

Selbst wenn man die anderen Seiten z.B. auf einem NGINX (oder einer zweiten Apache-Instanz mit anderer Config) laufen lassen würde, lauscht der Apache auf allen IPv4 und allen IPv6 Adressen.

Gruß
Sven Anders

Kann sich da mal ein Entwickler melden?
Ist ein einfacherer Webserver in Planung? Vielleicht auch was mit GUI?

Wäre schon nice wenn mann verschiedenste Dienste wie Open-Xchange, Alfresco etc… über andere Sub-Domains ansprechen kann.

Danke und Grüsse

@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
Mastodon