Jump to content
Froxlor Forum
  • 0

[solved] Probleme beim SSL Setup von subdomain direkt auf baikal gelinkt


untiefe

Question

Hallo,

nach einem Server Umzug inkl. debian & froxlor update habe ich noch ein kleines SSL Problem. Statt einem gekauften ssl zertifikat nutze ich auf dem neuen Server nun die tolle let's encrypt Umsetzung von froxlor, die auch funktioniert. Das Zertifikat nutze ich auch für meinen eMail Server (funktioniert auch gut).

Für die let's encrypt Umsetzung habe ich eine mail.xxx.yy domain angelegt (als admin), über die, die folgende vhost Datei in /etc/apache2/sites-enabled/30_froxlor_ssl_vhost_mail.DOMAIN.conf erzeugt wird:

# 30_froxlor_ssl_vhost_mail.DOMAIN.conf
# Created 02.04.2020 23:50
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

# Domain ID: 28 (SSL) - CustomerID: 1 - CustomerLogin: second
<VirtualHost IP-ADRESSE:443>
  ServerName mail.DOMAIN
  ServerAdmin MAILADRESSE
  SSLEngine On
  SSLProtocol -ALL +TLSv1 +TLSv1.2
  SSLCompression Off
  SSLSessionTickets on
  SSLHonorCipherOrder off
  SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
  SSLVerifyDepth 10
  SSLCertificateFile /etc/apache2/ssl/DOMAIN.crt
  SSLCertificateKeyFile /etc/apache2/ssl/DOMAIN.key
  SSLCACertificateFile /etc/apache2/ssl/DOMAIN_CA.pem
  SSLCertificateChainFile /etc/apache2/ssl/DOMAIN_chain.pem
  <IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=0"
  </IfModule>
  DocumentRoot "/var/customers/webs/second/DOMAIN/baikal/html/"
  php_admin_value sendmail_path "/usr/sbin/sendmail -t -f MAILADRESSE"
  php_admin_value open_basedir "/var/customers/webs/second/DOMAIN/baikal/html:/tmp"
  Alias /webalizer "/var/customers/webs/second/webalizer"
  LogLevel warn
  ErrorLog "/var/customers/logs/second-error.log"
  CustomLog "/var/customers/logs/second-access.log" combined
RewriteEngine on
RewriteRule /.well-known/carddav /dav.php [R=308,L]
RewriteRule /.well-known/caldav  /dav.php [R=308,L]
</VirtualHost>

Nun funktioniert das laufende baikal aber nur, wenn ich genau diese vhost Datei lösche...? Ansonsten gibt es im Browser die kryptische Fehlermeldung:

"Incomplete installation

Baïkal dependencies have not been installed. Please, execute "composer install" in the folder where you installed Baïkal."

 

Was aber nicht stimmt, denn ohne die vhost Datei läuft alles.

Ich vermute, das hängt mit der ssl vhost Datei der IP Adresse zusammen, wo ja scheinbar schon alles notwendige definiert wird - denn sonst würde es ja nicht über https://mail.xxx.yy/ funktionieren...

Die IP ssl vhost 10_froxlor_ipandport_IP-ADRESSE.443.conf sieht folgendermaßen aus:

# 10_froxlor_ipandport_IP-ADRESSE.443.conf
# Created 02.04.2020 23:57
# Do NOT manually edit this file, all changes will be deleted after the next domain change at the panel.

<VirtualHost IP-ADRESSE:443>
DocumentRoot "/var/customers/webs/second/DOMAIN/baikal/html/"
RewriteEngine on
RewriteRule /.well-known/carddav /dav.php [R=308,L]
RewriteRule /.well-known/caldav  /dav.php [R=308,L]
 SSLEngine On
 SSLProtocol -ALL +TLSv1 +TLSv1.2
 SSLCompression Off
 SSLSessionTickets on
 SSLHonorCipherOrder off
 SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
 SSLVerifyDepth 10
 SSLCertificateFile /root/.acme.sh/mail.DOMAIN/mail.DOMAIN.cer
 SSLCertificateKeyFile /root/.acme.sh/mail.DOMAIN/mail.DOMAIN.key
 SSLCACertificateFile /root/.acme.sh/mail.DOMAIN/ca.cer
</VirtualHost>

Hier ist unschön, dass das Zertifikat über /root geladen wird, aber so funktioniert zumindest alles.

 

Irgendwelche Ideen, was ich bei der Konfiguration falsch mache?

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0
10 hours ago, untiefe said:

Was aber nicht stimmt, denn ohne die vhost Datei läuft alles.

1) liegt denn die Baikal installation überhaupt in /var/customers/webs/second/DOMAIN/baikal/html/?

2) gibt es vllt von der baikal installation selbst einen vhost der angelegt wurde unterhalb von /etc/apache2/sites-enabled/?

10 hours ago, untiefe said:

Ich vermute, das hängt mit der ssl vhost Datei der IP Adresse zusammen, wo ja scheinbar schon alles notwendige definiert wird - denn sonst würde es ja nicht über https://mail.xxx.yy/ funktionieren...

Die IP ssl vhost 10_froxlor_ipandport_IP-ADRESSE.443.conf sieht folgendermaßen aus:

Warum zeigt denn der DocumentRoot forciert auf /var/customers/webs/second/DOMAIN/baikal/html/? das ist so nicht gedacht, hier der 10_*er vhost zeigt eigentlich auf froxlor

 

Link to comment
Share on other sites

  • 0

1) die baikal installation habe ich selbst in das Verzeichnis gelegt, da es leider auch nicht unter /var/www/html funktioniert

2) baikal erzeugt keine eigenen vhost

 

Die Idee im 10er vhost ist, dass über den ssl port https://mail.DOMAIN/ immer direkt die baikal installation angesprochen wird und darüber dann automatisch Kontakte und Kalender synchronisiert werden. Dies funktionierte auch schon vorher mit dem alten Server entsprechend gut.

Ich konnte das Problem weiter eingrenzen:

Wenn ich in der Datei 30_froxlor_ssl_vhost_mail.DOMAIN.conf händisch das Servername Statement von mail.DOMAIN auf DOMAIN ändere läuft es. Aber wenn ich das im Froxlor Frontend ändere, würde er ja auch das let's encrypt zertifikat auf die Domain ausstellen und nicht auf mail.DOMAIN wie ich es haben möchte...

Hast Du weitere Ideen, was ich noch tun könnte, bzw. woran es liegen könnte?

 

Link to comment
Share on other sites

  • 0

Also, lass doch bitte den 10_*er vhost mal wie er ist, und passe die rewrite rule entsprechend an, dass sie auf die korrekte domain geht, z.B. so:

RewriteEngine on
RewriteRule /.well-known/carddav https://mail.domain.tld/dav.php [R=308,L]
RewriteRule /.well-known/caldav  https://mail.domain.tld/dav.php [R=308,L]

Und wenn du das soweit hast, dann schaust du mal was bei Auruf von https://mail.doman.tld/ passiert und wenn da was nicht klappt, kümmern wir uns um darum. Eins nachm anderen

Link to comment
Share on other sites

  • 0

Die Anpassung der Rewrite Rules hat keinen Effekt, das Problem bleibt bestehen. Statt der baikal Startseite (baikal system is running alright) kommt nur:

Incomplete installation

Baïkal dependencies have not been installed. Please, execute "composer install" in the folder where you installed Baïkal.

Link to comment
Share on other sites

  • 0

Ja, dann tu doch das was da steht...Baikal nutzt wohl, wie froxlor auch, composer-basierte abhängigkeiten die installiert werden müssen, sofern nicht mit ausgeliefern, zu erkennen am "vendor"-Ordner im root-dir der Anwendung

Link to comment
Share on other sites

  • 0

Hatte ich auch erst gedacht, aber ich nutze nicht die Bleeding edge Version, wo die composer-basierten Abhängigkeiten angepasst werden müssen, sondern das einfach Release, was man nur entpacken muss und dann auch läuft. Ich hatte mir die composer Sachen schon vor ein paar Tagen angeschaut, aber dies ist kein baikal Problem.

Hier ist etwas mit der ssl Konfiguration im argen, denn es läuft ja wenn ich die eine sites-enabled Datei lösche und es läuft auch alles, wenn ich die baikal installation ohne ssl direkt anspreche - was ich aber nicht standardmäßig machen möchte.

 

Ich habe mal den apache2 loglevel für ssl auf debug hochgestellt. Damit bekomme ich wenn es nicht funktioniert die Meldung:

[ssl:warn] [pid 32419] AH01909: XXX.stratoserver.net:443:0 server certificate does NOT include an ID which matches the server name

wobei hier ja gerade eine Anpassung des ServerName (ohne mail. davor - siehe oben) den Fehler behebt?!?

 

Und wenn ich die 30er ssl vhost Datei lösche bzw. ich das ServerName statement anpasse (und es damit funktioniert):

[ssl:debug] [pid 32452] ssl_engine_kernel.c(2353): [client CLIENT-IP:29482] AH02044: No matching SSL virtual host for servername mail.DOMAIN.TLD found (using default/first virtual host)

[ssl:debug] [pid 32451] ssl_engine_kernel.c(2374): [client CLIENT-IP:29498] AH02645: Server name not provided via TLS extension (using default/first virtual host)

[ssl:debug] [pid 32452] ssl_engine_kernel.c(383): [client CLIENT-IP:29482] AH02034: Subsequent (No.2) HTTPS request received for child 11 (server XXX.stratoserver.net:443), referer: https://mail.DOMAIN.TLD/

Hier geht er scheinbar auf irgendeinen Default zurück, der dann funktioniert.

Link to comment
Share on other sites

  • 0

Sorry, Aber es kann ja nicht sein, dass ein vhost den Inhalt der ausgelieferten Seite ändert, entweder ist da Baikal installiert oder eben nicht. Und entweder ist da die Version die schon Abhängigkeiten enthält oder eben nicht. Vllt prüfst du einfach Mal ob er da auch auf das korrekte Verzeichnis zeigt.

Genauso wenig ändert der Domain Name den inhalt außer ein anderer vhost greift und zeigt dann auf ein anderes Verzeichnis

Und wenn du irgendwelche vhost Dateien löscht greift natürlich am Ende immer der erste den Froxlor findet. Durch deine manuellen Anpassungen in den ganzen Dateien kann ich dir allerdings nur schwer helfen...vllt stellst du einfach Mal in 3-4 Punkten eindeutig klar wo was wie installiert ist und welche Domain wo für was genutzt wird.

Link to comment
Share on other sites

  • 0

Dein erster Satz hat mich auf die Spur gebracht und es war ganz einfach - auch wenn ich nicht ganz verstehe warum es am

Open_Basedir liegt! Ohne das Häkchen läuft alles. Vermutlich benötigt baikal eben doch Teile Skripte die nicht im html Verzeichnis liegen auf das ich verlinke...

 

Danke für die guten Tipps 🙂

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...