VirtualHosts UCS 4.0

german

#1

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

[code]<VirtualHost *:80>

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

<VirtualHost *:80>

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

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

[/code]

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


Owncloud mit eigener Domain
Redirect .com/app auf .com
VirtualHost for nextcloud-docker-app
#2

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


#3

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


#4

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


#5

@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


#6

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


#7

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:


#8

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

Danke
Sascha


#9

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

lg
Sascha


#10

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

[ul]
[li]Deaktivieren der default ox site

a2dissite ox

[/li]
[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
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.tdl/” [L,R]
RewriteLog “/var/log/apache2/rewrite.log”
RewriteLogLevel 1
[/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
DocumentRoot /var/www/default
DirectoryIndex index.html

##########

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.tdl
ServerAlias mail.DOMAIN.tdl
DocumentRoot /var/www
RedirectMatch ^/$ /appsuite/

Include /etc/apache2/sites-available/ox

##########

Web DAV

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

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

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

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.


#11

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

lg
Sascha


#12

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


#13

[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


#14

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


#15

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.


#16

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


#17

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


#18

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


#19

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[code]

@%@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 /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”

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

/etc/univention/templates/files/etc/apache2/sites-available/ssl.d/00start[code]
@%@UCRWARNING=# @%@

NameVirtualHost *: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 /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”

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

[/code]

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


#20

[quote=“tafkaz”]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[/quote]

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
ucr set mail/postfix/ssl/capath=/etc/univention/ssl/foo.bar
ucr set mail/postfix/ssl/certificate=/etc/univention/ssl/foo.bar/foo.bar.crt
ucr set 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
ucr set mail/dovecot/ssl/certificate=/etc/univention/ssl/foo.bar/foo.bar.crt
ucr set mail/dovecot/ssl/key=/etc/univention/ssl/foo.bar/foo.bar.key