Sign-up — instala y configura el registro de usuarios de Nextcloud

Instalación

  1. Asegúrate de que Nextcloud pueda enviar correo (Ajustes de administración → Ajustes básicos → Servidor de correo, prueba «Enviar correo»). Sign-up envía por ahí los códigos de confirmación, las decisiones y los correos de bienvenida.
  2. Inicia sesión en tu cuenta de MediaLab Works, abre Licencias y descarga signup-x.y.z.tar.gz.
  3. Extráelo en la carpeta apps/ (o custom_apps/) de Nextcloud de modo que obtengas apps/signup/, con propietario el usuario del servidor web.
  4. Actívala: sudo -u www-data php occ app:enable signup, o desde la página Aplicaciones.
  5. Ajustes de administración → Sign-up → License: pega tu clave de licencia (o inicia la prueba gratuita de 30 días) y guarda. La sección muestra Active.
  6. Revisa los ajustes de abajo y después abre la página de registro (https://<your-cloud>/index.php/apps/signup/); la página de inicio de sesión muestra ahora Create an account.

Licencia

La licencia se comprueba una vez al día; sin internet, Sign-up sigue funcionando 7 días después de la última comprobación exitosa. Sin una licencia válida, los visitantes ven una página neutra de «temporarily unavailable», el enlace de la página de inicio de sesión desaparece, el trabajo de limpieza se detiene y Cashier crea él mismo las cuentas de pago. Las cuentas existentes nunca se tocan y no se borra nada. La página de ajustes muestra el motivo y la sección License.

Ajustes (Ajustes de administración → Sign-up)

Registration — abierto o cerrado; qué pueden elegir los visitantes: cuentas gratuitas y planes de pago (los planes de pago solo aparecen cuando Cashier los ofrece), solo cuentas gratuitas o solo planes de pago; el texto del enlace de la página de inicio de sesión, en inglés y rumano.

Confirmación por correo — activada (recomendado) o desactivada; código y enlace, solo código o solo enlace; cuánto tiempo vive un registro sin confirmar (1–168 horas). Sin confirmación, la cuenta se crea en cuanto se envía el formulario y la página debe indicar cuándo una dirección ya tiene cuenta.

Aprobación del administrador — cuando está activada, una cuenta gratuita se crea desactivada tras la confirmación por correo y espera en Registrations → Waiting for approval; los administradores reciben una notificación de Nextcloud y (opcionalmente) un correo. Approve activa la cuenta, la añade a los grupos y envía un correo al usuario; Reject elimina la cuenta nunca usada y los datos del registro y envía un correo al usuario, con tu motivo si lo das. Las cuentas de pago nunca esperan: el pago las activa.

New accounts — nombre de inicio de sesión (la dirección de correo, ana.popescu a partir del nombre, o elegido por el visitante; todos también pueden iniciar sesión con la dirección de correo), cuota de almacenamiento (vacío = la predeterminada de la nube), grupos, correo de bienvenida con tu propio texto.

Form fields — la dirección de correo, la contraseña y la aceptación de los términos siempre se piden. Para nombre, apellidos, teléfono, empresa, dirección, ciudad, código postal y país, elige Not asked, Optional o Required; añade tus propios campos (clave, tipo, etiquetas en inglés y rumano, opciones para una lista); ordénalos con las flechas. El teléfono, la empresa y la dirección también van al perfil del usuario (privado); todos los valores se muestran a los administradores junto al registro y al usuario en Información personal → Registration details.

E-mail addresses and abuse protection — solo estos dominios pueden registrarse (vacío = todos; *.example.org significa los subdominios), estos dominios no pueden, bloqueo de direcciones temporales (lista incorporada más la lista que MediaLab Works mantiene actualizada, entregada con una licencia válida), tiempo mínimo para rellenar el formulario, registros por dirección de red al día. Siempre activos: los límites de velocidad y la protección contra fuerza bruta de Nextcloud, un campo oculto para bots, 5 correos de confirmación por dirección al día y 5 intentos por código.

Terms and privacy — direcciones de tus condiciones de uso y política de privacidad (el visitante marca una casilla para aceptarlas) y la nota de privacidad bajo el formulario.

El registro, paso a paso

  1. El visitante abre la página desde Create an account en la página de inicio de sesión (o desde un enlace que compartas), elige una cuenta gratuita o un plan y rellena el formulario.
  2. Con la confirmación activada, un correo trae un código de seis dígitos y/o un enlace. El código se escribe en la página; el enlace se puede abrir en cualquier dispositivo — la página continúa por sí sola. Si la dirección ya tiene una cuenta, el correo lo indica y señala «¿Olvidaste tu contraseña?».
  3. Cuenta gratuita sin aprobación: la cuenta se crea y el visitante queda con la sesión iniciada. Con aprobación: la página indica que el registro espera a un administrador.
  4. Plan de pago: el visitante va a la página de pago de Stripe y vuelve; la cuenta se crea en cuanto Stripe confirma el pago y el visitante queda con la sesión iniciada.

Planes de pago con Cashier

  1. Instala Cashier 1.2 o superior, conecta Stripe y crea tus planes (consulta la guía de Cashier). Sign-up detecta Cashier automáticamente; Sign-up → Paid plans (Cashier) muestra si se ofrecen planes y, si no, por qué (sin licencia, Stripe sin conectar, ningún plan visible).
  2. Elige Free accounts and paid plans o Paid plans only en Registration.
  3. La cuenta de un registro de pago la crea Sign-up con la contraseña y los datos del formulario, activada de inmediato, con la cuota y los grupos del plan definidos por Cashier. Si el pago llega después de que el registro caducó, la cuenta se crea igualmente y el usuario recibe un enlace para definir una contraseña.
  4. El enlace directo de un plan (Cashier → Plans) abre la página de Sign-up con ese plan elegido; el enlace de registro propio de Cashier también lleva aquí.

Facturas sin pagar: suspensión, nunca eliminación

  • Las renovaciones mensuales (o anuales) las cobra Stripe. Un día más o menos antes, el usuario recibe un correo «New invoice»; tras un cobro exitoso, un recibo.
  • Si el cobro falla, el usuario recibe un correo «Payment failed». Durante el período de gracia de Cashier (Cashier → Rules, de 0 a 90 días; 0 significa de inmediato) la cuenta sigue funcionando.
  • Tras el período de gracia, una cuenta registrada a través de Sign-up queda suspendida (desactivada): nadie puede iniciar sesión. Los archivos, recursos compartidos y datos se quedan exactamente como están. El usuario recibe un correo «Your account has been suspended» con el enlace para pagar la factura pendiente. Si lo perdió, la página de registro enlaza a la página «Pay an overdue invoice» de Cashier, que reenvía el enlace por correo.
  • En cuanto la factura se paga, la cuenta vuelve a estar activa (y el usuario recibe un correo).
  • En Sign-up → Paid plans → When a monthly invoice is not paid puedes elegir Follow Cashier's rule (solo lectura o suspendida, según lo definido en Cashier).
  • Nada en Sign-up ni en Cashier elimina jamás una cuenta ni sus archivos por una factura sin pagar. La única limpieza automática elimina los registros que jamás tuvieron cuenta (dirección nunca confirmada, pago nunca realizado). Las cuentas solo las elimina un administrador (la eliminación normal de usuarios de Nextcloud), lo que también elimina los datos de registro del usuario.

Lista de registros

Sign-up → Registrations: Waiting for approval, Waiting for confirmation or payment (aún sin cuenta; puedes eliminar uno), Recent accounts (últimos 30 días) y Rejected. Cada tarjeta muestra la dirección de correo, el nombre de inicio de sesión, el tipo (gratuita / de pago), los datos del formulario, las fechas y la dirección de red.

Captcha y otros complementos (desarrolladores)

Otra app puede añadir un captcha al formulario: escucha OCA\Signup\Public\Event\RenderRegistrationFormEvent (añade tu script y tu estilo, permite tus dominios en la política de seguridad de contenido de la página, anuncia tus campos con addInput(); tu widget va dentro del elemento #signup-captcha) y OCA\Signup\Public\Event\ValidateRegistrationEvent (lee los campos con getExtra(), rechaza con reject($message)).

occ

  • occ signup:cleanup — elimina ahora los registros caducados (el trabajo por horas también lo hace) y muestra cuántos están esperando. Las cuentas nunca se tocan.

Resolución de problemas

  • No llega ningún correo: comprueba los ajustes del servidor de correo y la carpeta de spam; la página permite un nuevo correo tras un minuto (5 al día).
  • «That was very fast»: el formulario se envió antes del tiempo mínimo; envíalo de nuevo.
  • «Too many attempts»: límite de velocidad de Nextcloud para la dirección de red; espera unos minutos.
  • No hay planes en la página: consulta Sign-up → Paid plans (Cashier) y Ajustes de administración → Vista general (comprueba «Cashier (registration page)»).
  • Un usuario de pago no puede iniciar sesión: busca la suscripción en Cashier → Subscribers; una cuenta suspendida se restaura pagando la factura pendiente.

Para descargar necesitas una licencia o la prueba gratuita de 30 días.