Wenn du eine Nextcloud für ein Team, einen Verein oder eine Community betreibst, kommt immer der Moment, in dem jemand fragt: „Kann ich mir einfach selbst ein Konto anlegen?“ Nextcloud bringt Konten mit, die Administratoren erstellen, und die Registration-App deckt das Nötigste ab. Was meist fehlt, ist der langweilige, aber wichtige Teil: zu belegen, dass die Adresse echt ist, neue Konten zur Prüfung in einer Warteschlange zu halten, genau die Daten abzufragen, die du wirklich brauchst, und Spam draußen zu halten, ohne preiszugeben, wer schon registriert ist.
Genau das macht Sign-up. Es fügt deiner Nextcloud eine Selbstregistrierungsseite hinzu, die vom Anmeldebildschirm aus als Create an account verlinkt ist. Besucher geben ihre E-Mail-Adresse, die abgefragten Daten und ein Passwort ein, akzeptieren deine Bedingungen und erhalten ein Konto – nach der Bestätigung der Adresse, nach deiner Freigabe oder sofort. Du entscheidest. Dieses Tutorial führt durch die Einstellungen in der Reihenfolge, in der ich sie auf einer frischen Instanz konfigurieren würde. Die vollständige Referenz findest du im Benutzerhandbuch.
Voraussetzungen
- Nextcloud 30 bis 34 und PHP 8.1 oder neuer.
- Hintergrundjobs eingerichtet, Cron empfohlen.
- Eine funktionierende E-Mail-Konfiguration. Sign-up versendet Bestätigungscodes, Entscheidungen und Willkommens-E-Mails über den Mailer von Nextcloud, teste ihn also zuerst unter Administration settings → Basic settings → Email server mit dem Test „Send email“.
- Eine Sign-up-Lizenz: monatlich, jährlich oder lebenslang pro Instanz, enthalten im Nextcloud-Bundle oder als 30-tägige kostenlose Testversion. Ohne gültige Lizenz zeigt die Registrierungsseite „temporarily unavailable“ und der Link auf der Anmeldeseite ist ausgeblendet – bestehende Konten bleiben unberührt.
- Nur wenn du kostenpflichtige Tarife willst: Cashier 1.2 oder neuer mit einem verbundenen Stripe-Konto.
Schritt 1: App installieren und lizenzieren
- Melde dich in deinem MediaLab-Works-Konto an, öffne Licenses und lade
signup-x.y.z.tar.gzherunter. - Entpacke sie nach
apps/(odercustom_apps/), sodass duapps/signup/erhältst, im Besitz des Web-Server-Benutzers. - Aktiviere sie über die Seite Apps oder mit:
sudo -u www-data php occ app:enable signup
- Gehe zu Administration settings → Sign-up → License, füge deinen Schlüssel ein (oder starte die Testversion) und speichere. Der Abschnitt sollte Active anzeigen.
- Öffne
https://<your-cloud>/index.php/apps/signup/, um die Seite zu sehen, und prüfe, ob der Anmeldebildschirm jetzt Create an account anzeigt.
Schritt 2: Festlegen, was Besucher dürfen
Unter Registration öffnest oder schließt du die Registrierung und wählst, was angeboten wird: free accounts and paid plans, free accounts only oder paid plans only. Paid plans erscheinen nur, wenn Cashier sie tatsächlich anbietet. Außerdem kannst du den Text des Links auf der Anmeldeseite auf Englisch und Rumänisch festlegen.
Mein Rat: Starte mit kostenlosen Konten allein, bis du mit dem Formular und dem Bestätigungsablauf zufrieden bist, und füge Tarife später hinzu.
Schritt 3: E-Mail-Bestätigung
Lass E-mail confirmation eingeschaltet – es ist der günstigste Spamfilter, den du je einsetzen wirst. Vor der Bestätigung der Adresse existiert kein Konto, und unbestätigte Registrierungen laufen von selbst ab (standardmäßig 24 Stunden; du kannst 1 bis 168 Stunden einstellen).
Du wählst code and link, code only oder link only. Der sechsstellige Code wird auf der Seite eingegeben; der Link lässt sich auf jedem Gerät öffnen, und die Seite fährt von selbst fort. Wenn du die Bestätigung ausschaltest, wird das Konto erstellt, sobald das Formular abgeschickt wird, und die Seite muss angeben, wenn eine Adresse bereits ein Konto hat – genau der Datenschutz-Kompromiss, der unten beschrieben ist.
Schritt 4: Die Freigabe-Warteschlange
Aktiviere Administrator approval, wenn du jedes kostenlose Konto prüfen willst, bevor es aktiv wird. Nach der E-Mail-Bestätigung wird das Konto deaktiviert angelegt und wartet unter Registrations → Waiting for approval. Administratoren erhalten eine Nextcloud-Benachrichtigung und optional eine E-Mail.
- Approve aktiviert das Konto, fügt es den Gruppen hinzu und schickt dem Nutzer eine E-Mail.
- Reject löscht das nie genutzte Konto und die Registrierungsdaten und schickt dem Nutzer eine E-Mail – mit deiner Begründung, wenn du eine angibst.
Kostenpflichtige Konten warten nie: Die Zahlung aktiviert sie. Die Liste Registrations enthält außerdem Waiting for confirmation or payment (noch kein Konto; du kannst eines entfernen), Recent accounts für die letzten 30 Tage und die abgelehnten.
Schritt 5: Dein Formular bauen
E-Mail-Adresse, Passwort und die Annahme der Bedingungen werden immer abgefragt. Bei Vorname, Nachname, Telefon, Firma, Straße, Stadt, Postleitzahl und Land wählst du Not asked, Optional oder Required.
Dann fügst du eigene Felder hinzu: Text, langer Text, Telefon, Datum, Liste oder Auswahlkästchen, mit Beschriftungen auf Englisch und Rumänisch, Optionen für Listenfelder und Pfeilen zum Sortieren. Telefon, Firma und Adresse landen außerdem im Profil des Nutzers (privat); alles wird Administratoren neben der Registrierung und dem Nutzer unter Personal info → Registration details angezeigt. Frage nur ab, was du wirklich verwendest.
Schritt 6: Standardwerte für neue Konten
Unter New accounts legst du den Login-Namen fest (die E-Mail-Adresse, ana.popescu aus dem Namen oder vom Besucher gewählt – anmelden kann sich ohnehin jeder mit der E-Mail-Adresse), das Speicherkontingent (leer bedeutet der Standard der Cloud) und die Gruppen. Schreibe eine Willkommens-E-Mail mit deinem eigenen Text. Das Passwort folgt der Passwortrichtlinie deiner Nextcloud.
Schritt 7: Missbrauchsschutz
Unter E-mail addresses and abuse protection kannst du die Registrierung auf bestimmte Domains beschränken (leer bedeutet alle; *.example.org deckt Subdomains ab), Domains blockieren und temporäre Adressen blockieren – eine eingebaute Liste plus eine Liste, die MediaLab Works aktuell hält und mit gültiger Lizenz ausgeliefert wird. Außerdem kannst du eine Mindestzeit zum Ausfüllen des Formulars und ein Tageslimit pro Netzwerkadresse festlegen.
Immer aktiv, ohne Konfiguration: die Ratenbegrenzungen und der Brute-Force-Schutz von Nextcloud, ein verstecktes Feld, das nur Bots ausfüllen, 5 Bestätigungs-E-Mails pro Adresse und Tag sowie 5 Versuche pro Code. Wenn du bereits eine Captcha-App betreibst, kann sie sich ins Formular einklinken.
Schritt 8: Datenschutz und Bedingungen
Das Detail, das ich am meisten schätze: Hat eine Adresse bereits ein Konto, erhält sie eine E-Mail statt eines Codes, sodass die Seite nie verrät, wer registriert ist. Das Passwort wird nur verschlüsselt aufbewahrt, bis das Konto existiert. Unter Terms and privacy legst du die Adressen deiner Nutzungsbedingungen und Datenschutzerklärung fest; der Besucher setzt ein Häkchen zur Annahme, und dein Datenschutzhinweis erscheint unter dem Formular.
Schritt 9: Kostenpflichtige Tarife mit Cashier (optional)
Installiere Cashier 1.2 oder neuer, verbinde Stripe und erstelle deine Tarife. Sign-up erkennt Cashier automatisch, und Sign-up → Paid plans (Cashier) sagt dir, ob Tarife angeboten werden und, falls nicht, warum (keine Lizenz, Stripe nicht verbunden, kein sichtbarer Tarif). Wähle unter Registration Free accounts and paid plans oder Paid plans only. Der Besucher wählt einen Tarif, füllt das Formular aus, bestätigt die Adresse und zahlt mit Stripe; das Konto wird erstellt und aktiviert, sobald die Zahlung bestätigt ist, mit Kontingent und Gruppen des Tarifs, und der Besucher ist angemeldet. Der direkte Link eines Tarifs aus Cashier öffnet die Seite mit diesem gewählten Tarif.
Wenn eine Monatsrechnung nicht bezahlt wird, wird das Konto nach der Kulanzfrist von Cashier (die 0 Tage betragen kann) gesperrt: Niemand kann sich anmelden, aber Dateien und Daten bleiben genau so, wie sie sind. Nach der Zahlung wird es sofort wiederhergestellt. Nutzer erhalten E-Mails, wenn eine Rechnung ausgestellt wird, wenn eine Zahlung fehlschlägt, wenn das Konto gesperrt wird (mit Link zum Bezahlen), wenn bezahlt wurde und wenn es wieder aktiv ist. Konten werden wegen einer unbezahlten Rechnung nie gelöscht – nur ein Administrator löscht Konten. Unter Sign-up → Paid plans → When a monthly invoice is not paid kannst du stattdessen der Regel von Cashier folgen.
Tipps und Fehlerbehebung
- Kein „Create an account“-Link? Prüfe, ob die Registrierung offen ist und die Lizenz Active anzeigt. Ohne gültige Lizenz ist der Link absichtlich ausgeblendet.
- Niemand erhält Codes? Repariere zuerst den Mailserver; alles in Sign-up hängt davon ab.
- Lizenzprüfungen: Die Lizenz wird einmal pro Tag geprüft. Ohne Internet funktioniert Sign-up noch 7 Tage nach der letzten erfolgreichen Prüfung weiter.
- Aufräumen: Die einzige automatische Entfernung betrifft Registrierungen, die nie ein Konto erhalten haben (Adresse nie bestätigt, Zahlung nie erfolgt). Geht eine Zahlung ein, nachdem die Registrierung abgelaufen ist, wird das Konto trotzdem erstellt und der Nutzer erhält einen Link zum Setzen eines Passworts.
- Überfällige Rechnung verloren? Die Registrierungsseite verlinkt auf die Seite Pay an overdue invoice von Cashier, die den Link erneut per E-Mail verschickt.
- Freigabe dauert zu lange? Ablehnungen und Freigaben versenden beide eine E-Mail; nutze das Begründungsfeld, damit die Leute wissen, was sie ändern müssen.
Fazit
Selbstregistrierung in Nextcloud muss kein Alles-oder-nichts-Schalter sein. Mit Sign-up bekommst du einen echten Bestätigungsschritt, eine Freigabe-Warteschlange, auf die du dich verlassen kannst, ein Formular, das zu deiner Community passt, vernünftige Standardwerte für Kontingent und Gruppen und einen Missbrauchsschutz, der nicht verrät, wer bereits ein Konto hat. Füge Cashier später hinzu, wenn du Tarife verkaufen willst, und denk daran, dass unbezahlte Rechnungen sperren statt löschen. Starte auf der Produktseite, folge dem Leitfaden für jede Einstellung und prüfe das Changelog vor dem Upgrade. Fragen? Die Wissensdatenbank, die FAQ und der Kontakt sind für dich da.