Hallo,
ich bekomme aus dem join.log folgende Meldung:
curl failed with error 60, parameters were\n\t-X POST -H OCS-APIREQUEST: true -u nc_admin:ohV9ael7thae6Jahx5xeih"iiqu8ah https://ucs-server.xxxxx.intranet/nextcloud/ocs/v2.php/apps/user_ldap/api/v1/config
EXITCODE=60
Fr 31. Aug 14:51:09 CEST 2018
univention-run-join-scripts finished
Ich vermute mal es hat damit zu tun, dass im join-script auf die interne adresse verwiesen wird (.intanet). Das ssl Zertifikat aber nicht dazu passt (xxxx.spdns.de).
Kann man da was machen?
Die momentan installierte Version ist 4.3-1 errata116.
laut https://curl.haxx.se/libcurl/c/libcurl-errors.html bedeutet der Fehler 60 ein Problem mit dem fehlenden Vertauen zur ausstellenden CA (Peer certificate cannot be authenticated with known CA certificates. ).
Das trifft nicht ganz Ihre Vermutung (da würde ich Fehler 51 erwarten, auch aus Erfahrung in ähnlichen Fällen).
Fehler 60 könnte man eventuell durch update-ca-certificates eliminieren, vorausgesetzt, es handelt sich um ein ähnliches Problem wie in der Lets Encrypt README beschrieben. Aber ob das im beschriebenen Fall zum eigentlichen Ziel führt weiß ich auch nicht.
Der Nextcloud-Join hat m.E. an dieser Stelle ein generelles Problem, da er den curl hart gegen https://${hostname}.${domainname}/nextcloud und damit die Wand fährt wenn der Apache ein hier nicht passendes - weil externes - Zertifikat nutzt. Was man bei Nextcloud wohl machen würde.
Mir fällt dazu im Moment nichts ein außer @blizzz um seine Meinung zum Thema zu bitten.
root@ucs-server:curl https://xxxxxx.spdns.de
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.
Scheint so als ob mit meinem Zertifikat etwas nicht stimmt… Oberflächlich meckert Firefox und Co. nicht. Bei näherer Betrachtung schon:
Ist ein Zertifikat von InterSSL und noch nicht abgelaufen
InterSSL kenne ich nicht, aber da steht OU=PositveSSL, also vermutlich ein Reseller o.ä. Bei Positive-SSL liefert zumindest Comodo immer ein ca-bundle mit.
Ist das in apache2/ssl/certificatechain eingetragen?
Ja, ist ein Reseller. Das Zertifikat ist von Commodo. “apache2/ssl/certificatechain” ist leer.
Ich konnte mir aber nur die folgenden Dateien herunterladen und es hat schon mal funktioniert:
So,
meine Vermutung war richtig. Ich habe “COMODORSADomainValidationSecureServerCA.crt” nach “/etc/ssl/certs” kopiert und “apache2/ssl/certificatechain” auf “”/etc/ssl/certs/COMODORSADomainValidationSecureServerCA.crt" geändert.
Dann sind die Probleme mit dem Zertifikat erledigt.
Das join-script für nextcloud läuft jetzt ohne sichtbare Fehler durch, aber der Status des scripts bleibt auf “Ausstehend” stehen…
Schön, dass der Zugriff mit https zunächst geht. Ich hatte gestern schon angesetzt und wollte noch auf die Hilfeseite von Comodo, in der erklärt wird, wie die Intermediates zu verstehen sind , verlinken (CONTACT US - Comodo: Cloud Native Cyber Security Platform) bin dabei aber darüber gestolpert, dass wir uns angewöhnen sollten, langsam von der Nutzung von SSLCertificateChainFile abzusehen. Hintergrund für eigene Recherche ist das Stichwort AH02559. Kurzfassung: Die Zertifikate sollen ab Apache 2.4.8 als komplette Kette (full chain) in eine Datei die dann bei SSLCertificateFile anzugeben ist. Ich habe im Moment noch keine Erklärung, warum die Apache 2.4.25 unter UCS 4.3. das chainfile trotzdem noch akzeptiert.
Zum join.log:
Ab Zeile 5870:
Access through untrusted domain
Please contact your administrator. If you are an administrator, edit the "trusted_domains" setting in config/config.php like the example in config.sample.php.
Da die Konfiguration jetzt vermutlich mit Ihrem o.a. Workaround versucht wird, müssen Sie eventuell schon an dieser Stelle die Konfiguration anpassen. Später wäre es sowieso nötig. Hintergründe stehen in der Nextcloud-Doku. Die Datei liegt in /var/lib/univention-appcenter/apps/nextcloud/conf/config.
Fehler bleibt. Join-Script läuft nicht durch. Wenn ich die Nextcloud Seite über einen Browser aufmache dann lande ich immer auf der Seite:
"Zugriff über eine nicht vertrauenswürdige Domain. Bitte kontaktiere deinen Administrator. Wenn du Administrator bist, bearbeite die „trusted_domains“-Einstellung in config/config.php. Siehe Beispiel in config/config.sample.php.
Abhängig von Deiner Konfiguration kann diese Schaltfläche verwandt werden, um die Domain als vertrauenswürdig einzustufen: „xxxxxx.spdns.de“ als vertrauenswürdige Domain hinzufügen
Hi,
wir haben hier das gleiche Problem glaube ich.
Das Nextcloud join skript läuft nicht durch:
Waiting for activation of the extension object nextcloud: OK
Object exists: cn=nextcloud,cn=custom attributes,cn=univention,dc=foo,dc=de
E: Object exists: cn=nextcloudUserEnabled,cn=nextcloud,cn=custom attributes,cn=univention,dc=foo,dc=de
No modification: cn=nextcloudUserEnabled,cn=nextcloud,cn=custom attributes,cn=univention,dc=foo,dc=de
E: Object exists: cn=nextcloudUserQuota,cn=nextcloud,cn=custom attributes,cn=univention,dc=foo,dc=de
No modification: cn=nextcloudUserQuota,cn=nextcloud,cn=custom attributes,cn=univention,dc=foo,dc=de
E: Object exists: cn=nextcloudGroupEnabled,cn=nextcloud,cn=custom attributes,cn=univention,dc=foo,dc=de
No modification: cn=nextcloudGroupEnabled,cn=nextcloud,cn=custom attributes,cn=univention,dc=foo,dc=de
Could not create LDAP Config at Nextcloud
EXITCODE=1
b1f27bae-827a-46ca-867e-79070dc1885d
univention-join-hooks: looking for hook type “join/post-joinscripts” on mail.foo.de
Found hooks:
-k in die /usr/lib/univention-install/50nextcloud.inst hinzuzufügen, hat leider keine Verbesserung gebracht.
Noch jemand eine Idee?
Univention und nextcloud sind auf dem aktuellsten Stand.