nextCloud join Skript Fehler

Hallo zusammen,

ich habe heute unsere ownCloud-App entfernt, alles aus der UCR entfernt und nextCloud installiert.
Allerdings bekomme ich beim domain-join folgenden Fehler:

[code]univention-run-join-scripts started
Di 7. Mär 10:12:55 CET 2017

RUNNING 50nextcloud.inst
2017-03-07 10:12:57.276359351+01:00 (in joinscript_init)
Object exists: cn=services,cn=univention,dc=onex,dc=local
Object exists: cn=Nextcloud,cn=services,cn=univention,dc=onex,dc=local
WARNING: cannot append Nextcloud to service, value exists
No modification: cn=master,cn=dc,cn=computers,dc=onex,dc=local
Not updating nextcloud/ucs/modifyUsersFilter
Not updating nextcloud/ucs/userEnabled
Not updating nextcloud/ucs/userQuota
Not updating nextcloud/ldap/cacheTTL
Not updating nextcloud/ldap/homeFolderAttribute
Not updating nextcloud/ldap/userSearchAttributes
Not updating nextcloud/ldap/userDisplayName
Not updating nextcloud/ldap/groupDisplayName
Not updating nextcloud/ldap/base
Not updating nextcloud/ldap/baseUsers
Not updating nextcloud/ldap/baseGroups
Not updating nextcloud/ldap/filterLogin
Not updating nextcloud/ldap/filterUsers
Not updating nextcloud/ldap/filterGroups
Object exists: cn=ldapschema,cn=univention,dc=onex,dc=local
INFO: No change of core data of object nextcloud.
No modification: cn=nextcloud,cn=ldapschema,cn=univention,dc=onex,dc=local

Waiting for activation of the extension object nextcloud: OK
Object exists: cn=nextcloud,cn=custom attributes,cn=univention,dc=onex,dc=local
E: Object exists: cn=nextcloudUserEnabled,cn=nextcloud,cn=custom attributes,cn=univention,dc=onex,dc=local
No modification: cn=nextcloudUserEnabled,cn=nextcloud,cn=custom attributes,cn=univention,dc=onex,dc=local
E: Object exists: cn=nextcloudUserQuota,cn=nextcloud,cn=custom attributes,cn=univention,dc=onex,dc=local
No modification: cn=nextcloudUserQuota,cn=nextcloud,cn=custom attributes,cn=univention,dc=onex,dc=local
E: Object exists: cn=nextcloudGroupEnabled,cn=nextcloud,cn=custom attributes,cn=univention,dc=onex,dc=local
No modification: cn=nextcloudGroupEnabled,cn=nextcloud,cn=custom attributes,cn=univention,dc=onex,dc=local
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:–:-- --:–:-- --:–:-- 0curl: (51) SSL peer certificate or SSH remote key was not OK
EXITCODE=0

Di 7. Mär 10:13:01 CET 2017
univention-run-join-scripts finished
[/code]

Natürlich funktioniert nextCloud auch nicht, da die Benutzer nicht authentifiziert werden können.
Hat mir jemand einen Tipp, was ich machen könnte, um den domain-join erfolgreich ausführen zu können?

Danke schonmal vorab.
Gruß, Christian.

Hallo Christian,

EXITCODE=0

Najaaaa … ¯_(ツ)_/¯

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (51) SSL peer certificate or SSH remote key was not OK

hm, das müsste die Stelle sein, an der per CURL mit der OCS-API gesprochen wird um dann die Config zu schreiben: github.com/nextcloud/univention … st.sh#L122
Magst du mal prüfen ob mit deinen Zertifikaten alles passt? Noch gültig, Chain okay … bzw. mir dämmert da gerade was. Verwendet dein Apache evtl. ein offizielles Zertifikat? Let’s Encrypt oder so?

Schönen Gruß,
Michael Grandjean

Nicht Let’s Encrypt, aber ein offizielles Thatwe-Zertifikat wird genutzt, da hast Du Recht.

Gruß, Christian.

Okay, nur mal so zum Spaß: Kopier dir mal das Original-Joinscript weg:

cp /usr/lib/univention-install/50nextcloud.inst 50nextcloud.inst.bak

Und entferne dann in /usr/lib/univention-install/50nextcloud.inst den Teil –cacert /etc/univention/ssl/ucsCA/CAcert.pem aus den curl-Aufrufen. Also aus:

122     RESULT=`curl --cacert /etc/univention/ssl/ucsCA/CAcert.pem -X POST -H "OCS-APIREQUEST: true" -u "nc_admin:$NC_ADMIN_PWD" "$HOST/ocs/v2.php/apps/user_ldap/api/v1/config"`

wird

122     RESULT=`curl -X POST -H "OCS-APIREQUEST: true" -u "nc_admin:$NC_ADMIN_PWD" "$HOST/ocs/v2.php/apps/user_ldap/api/v1/config"`

Und aus

128     curl --cacert /etc/univention/ssl/ucsCA/CAcert.pem -X PUT -d "$data" -H "OCS-APIREQUEST: true" -u "nc_admin:$NC_ADMIN_PWD" "$HOST/ocs/v2.php/apps/user_ldap/api/v1/config/$CONFIGID" > /dev/null

wird

128     curl -X PUT -d "$data" -H "OCS-APIREQUEST: true" -u "nc_admin:$NC_ADMIN_PWD" "$HOST/ocs/v2.php/apps/user_ldap/api/v1/config/$CONFIGID" > /dev/null

Datei speichern und dann nochmal probieren:

univention-run-join-scripts --force --run-scripts 50nextcloud

Ändert das was?

Schönen Gruß,
Michael Grandjean

Hallo Michael,

besten Dank.
Ich musste allerdings den --cacert-Teil bei zwei weiteren curl Aufrufen etwas weiter unten auch noch entfernen und zusätzlich die Prüfung durch den Parameter -k deaktiveren, anschließend lief das join-script durch und nun funktioniert auch die Anmeldung an der nextCloud.

Gruß, Christian.

Hallo,

okay, danke. Die anderen beiden curl-Aufrufe hatte ich tatsächlich übersehen. Ich vermute das beste wäre, wenn das joinscript mit “–capath /etc/ssl/certs/” statt “–cacert /etc/univention/ssl/ucsCA/CAcert.pem” arbeiten würde (wobei /etc/ssl/certs ja eigentlich der Default-CA-Pfad für curl sein sollte?). Seit UCS 4.1-4 Errata 361 ist das UCS-CA-Cert nämlich auch nach /etc/ssl/certs verlinkt. Warum trotzdem “-k” notwendig war, frage ich mich aber schon. Evtl. fehlt das Thawte Root oder Intermediate Cert in /etc/ssl/certs?

Schönen Gruß,
Michael Grandjean

Korrekt, es lag wo anders …

A post was split to a new topic: Nextcloud - Joinscript läuft nicht durch

Hallo zusammen,

habe das selbe Problem wie der Thread Ersteller, Bedingungen sind auch die selben.
Das Skript 50Nextcloud scheint inzwischen korrigiert.

Allerdings läuft mein Script noch nicht Sauber durch. Weiter oben steht was von einem Parameter “-k”.
Wo muss ich den denn mitgeben?

Gruß
Michael

Hallo Michael,

im Skript unter
/usr/lib/univention-install/50nextcloud.inst
alle Zeilen, in denen ein curl vorkommt ausfindig machen, sollte vier mal im Skript vorkommen und einfach noch den Paramter -k einfügen, abspeichern, ausführen, hoffen, freuen, … :slight_smile:

Gruß, Christian.

Hi Christian,

danke für die schnelle Antwort

meinst du so?

RESULT=curl -X POST -H "OCS-APIREQUEST: true" -u "nc_admin:$NC_ADMIN_PWD" "$HOST/ocs/v2.php/apps/user_ldap/api/v1/config" -k

Gruß
Micha

Okay habs gemerkt, da schonmal nicht, habe es jetzt mal vor das -H gesetzt, läuft dann auch schon mal weiter druch, allerdings bekomme ich dann am Ende diese Meldung

/usr/lib/univention-install/50nextcloud.inst: Zeile 149: https://ucs-dc.XXXX.XXX/nextcloud/ocs/v2.php/apps/user_ldap/api/v1/config/s05: Datei oder Verzeichnis nicht gefunden

Wenn es mit dem -k zusammenhängt wäre ich für jede Hilfe dankbar.

Viele Grüße

Hallo Micha,

ich hatte es bei mir umgedreht, damit ich es schneller erkenne, also so:
RESULT=curl -k -X POST -H "OCS-APIREQUEST: true" -u "nc_admin:$NC_ADMIN_PWD" "$HOST/ocs/v2.php/apps/user_ldap/api/v1/config"

aber im Prinzip ist es total egal, ob vorne oder hinten.

Gruß, Christian.

Hallo Christian,

Danke für die Hilfe. Dein Tipp hat mich auf jeden Fall weiter gebracht.
Jetzt scheitert es allerdings an der Fehlermeldung wie einen Post über Deinem beschroeben.
Wenn ich diese URL in meinem Browser öffne, gelange ich auf die Anmeldemaske meiner Nextcloud, mit Sicherheitswarnung.
Durch die fehlende LDAP Anbindung kann ich mich natürlich nicht anmelden.

Wenn jemand eine Idee hat, nehme ich die gerne. Nichts für Ungut, ich möchte natürlich nicht den Eindruck erwecken das ich andere ich für mich denken lassen möchte.

Grad das Thema Nextcloud macht ich aber echt fertig. Die NC lief anfangs echt gut, bis ich selbst Opfer des " Brute-Force-Schutz " geworden bin. Leider habe ich zu spät gesehen wie man diese Einträge aus der Datenbank entfernt. Statt dessen habe ich versucht die Nextcloud zu deinstallieren. Das Ergebnis war, dass das 51uninstall Script nicht sauber durchlief und ich somit keine Neuinstallation der NC vornehmen konnte. Nach Tagelangem versuchen ist es mir gelungen die Nextcloud restlos zu beseitigen, dafür hänge ich jetzt an der Neuinstallation. Irgendwie ist die Cloud echt zickig.

Hallo Micha,

Wenn das Skript nicht fehlerfrei durchläuft, dann ist da auf jeden Fall noch Nachholbedarf:
Funktioniert denn innerhalb des Docker-Containers die Namensauflösung korrekt?

univention-app shell nextcloud
anschließend könnte man das z.B. mit curl wie folgt prüfen:
curl -k https://ucs-dc.XXXX.XXX/

Ist die Ausgabe in etwa so, dann funktioniert zumindest die Namensauflösung und ich habe erst einmal keine weitere Idee :slight_smile:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://ucs-dc.XXXX.XXX/ucs-overview/">here</a>.</p>
<hr>
<address>Apache/2.2.22 (Univention) Server at ucs-dc.XXXX.XXX Port 443</address>
</body></html>

Gruß, Christian,

Hi, Namensauflösung funktioniert, trotzdem Danke!

so sieht das bei mir aus

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://ucs-dc.xx.xx/univention/">here</a>.</p>
<hr>
<address>Apache/2.4.10 (Univention) Server at ucs-dc.xx.xx Port 443</address>
</body></html>

Gruß
Micha

Okay läuft jetzt.

Für die Nachwelt:

Habe die Nextcloud nochmals deinstalliert, anschließend installiert.
Hatte dann wieder den Fehler im Join Script 50

0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (51) SSL: no alternative certificate subject name matches target host name 'ucs-dc.xxx.xxx'

Habe dann mit WinSCP untet dem Pfad “/usr/lib/univention-install” die Datei “50nextcloud.inst” geöffnet.

Anschließend unter “SUchen und Ersetzen nach “curl” gesucht und ersetzt durch"curl -k” --> Speichern

Abschließend auf der Konsole “/usr/lib/univention-install/50nextcloud.inst” ausgeführt und das wars.

Danke an Christian!

Gruß
Micha

1 Like
Mastodon