Preguntas frecuentes¶
Esta página resume preguntas recurrentes de incidencias de soporte de MRBS, tanto abiertas como cerradas. Las respuestas se han comprobado con MRBS 1.12.2; una solución antigua no se incluye solo porque apareciera alguna vez en una incidencia.
Selección de las preguntas¶
La revisión abarcó incidencias con al menos una de estas etiquetas:
Help, Help from scratch, LDAP help need,
Problems with room's capacity, support, spanish help,
support request, help wanted y custom view help.
El 26 de julio de 2026, solo la etiqueta support request contenía
3.076 incidencias: 1.590 abiertas y 1.486 cerradas. Muchas son casos
históricos importados, personalizaciones puntuales, peticiones de funciones o
preguntas sin respuesta confirmada. Aquí solo se incluyen preguntas
recurrentes cuya respuesta sigue siendo útil para la versión 1.12.2. Los
enlaces a incidencias indican la procedencia; no sustituyen a la referencia de
configuración actual.
Instalación y diagnóstico¶
¿Por qué aparece una página en blanco o un error HTTP 500?¶
Leer primero los registros de errores del servidor web y de PHP. La página en blanco es solo el síntoma visible; el error útil suele estar en un registro. Comprobar después:
- la versión de PHP compatible y las extensiones necesarias;
config.inc.phpconphp -l config.inc.php;- la conexión a la base de datos y el controlador PDO correspondiente;
- los permisos de archivos y la configuración PHP realmente cargada; y
- que la petición llegue a la instalación MRBS prevista.
No mostrar públicamente errores PHP en producción ni copiar credenciales en una incidencia. Véase Solución de problemas. El caso de soporte n.º 1007 no tuvo una corrección específica confirmada; por eso esta respuesta comienza con los registros locales.
¿Por qué falla el acceso a la base de datos en cPanel o un alojamiento compartido?¶
Usar exactamente el nombre de base de datos y de usuario creados por el panel
de alojamiento. cPanel suele anteponer a ambos el nombre de la cuenta. Comprobar
también que el usuario tenga privilegios sobre esa base. SQLSTATE[28000] o
«Access denied for user» indica un error de autenticación o permisos de la
base, no un problema de las tablas de MRBS.
Mantener $db_database, $db_login y $db_password de acuerdo con los valores
del panel. Crear el esquema solo cuando funcione la conexión. Véanse la
incidencia n.º 3801
y Instalación.
¿Por qué un cambio de configuración no tiene efecto?¶
Comprobar que se editó el config.inc.php cargado por este despliegue y sitio.
Las asignaciones posteriores sustituyen a las anteriores. Los ajustes de áreas
existentes se guardan en la base de datos; areadefaults.inc.php solo
proporciona valores iniciales para áreas nuevas. En modo multisitio, comprobar
el sitio seleccionado y su configuración. Por último, vaciar o reiniciar la
caché de opcodes de PHP cuando corresponda.
Véanse config.inc.php en detalle y Solución de problemas.
Inicio de sesión y LDAP¶
¿Cómo puedo exigir el inicio de sesión antes de mostrar el calendario?¶
Configurar:
Probar la vista sin sesión en una ventana privada. Este ajuste bloquea el acceso público al calendario; no elige ni configura el sistema de autenticación. Véanse la incidencia n.º 3979 y Usuarios y permisos.
¿Por qué indica MRBS que falta la extensión LDAP de PHP?¶
Instalar o activar la extensión LDAP para el entorno PHP que usa el servidor
web y reiniciar ese entorno. PHP de línea de comandos y PHP del servidor pueden
cargar archivos php.ini distintos; no basta con comprobar php -m. El nombre
del paquete y la orden de reinicio dependen del sistema operativo y de la
instalación de PHP.
Véanse la incidencia n.º 1022 y Autenticación LDAP.
¿Cómo averiguo el DN base y el DN de usuario LDAP correctos?¶
No deducir el árbol del directorio a partir del nombre de la organización.
Consultarlo con un cliente como ldapsearch, utilizando el mismo servidor,
modo TLS, DN base, cuenta de búsqueda y atributo de usuario que empleará MRBS.
Active Directory suele usar sAMAccountName y OpenLDAP suele usar uid, pero
manda el esquema real del directorio.
Probar la cuenta de búsqueda por separado del bind del usuario final y no publicar nunca contraseñas de bind. Un DN incorrecto fue la causa en la incidencia n.º 1083.
¿Cómo se puede limitar el acceso LDAP a un grupo?¶
Usar $ldap_filter para decidir qué usuarios del directorio pueden acceder a
MRBS. En Active Directory, si la pertenencia está en el objeto de usuario, el
filtro puede comprobar memberof. En una estructura tipo OpenLDAP donde la
pertenencia está en objetos de grupo, configurar $ldap_filter_base_dn,
$ldap_filter_user_attr y un $ldap_filter adecuado.
Usar los DN y atributos exactos del directorio, probar una cuenta permitida y
otra rechazada, y confirmar el comportamiento de grupos anidados. Estos
filtros de acceso son independientes de $ldap_admin_group_dn, que identifica
a los administradores de MRBS. Véanse la
incidencia n.º 2033
y Autenticación LDAP.
El inicio LDAP funciona; ¿por qué el usuario no es administrador de MRBS?¶
Cuando se define $ldap_admin_group_dn, MRBS usa ese grupo en lugar de
$auth['admin']. Comprobar:
- el DN completo del grupo;
$ldap_group_member_attrib—memberofde forma predeterminada;- que la cuenta de búsqueda LDAP pueda leer los atributos de pertenencia; y
- si el directorio devuelve pertenencia directa o anidada.
Activar el diagnóstico LDAP solo de forma temporal en un entorno de prueba protegido y retirarlo después. En la incidencia n.º 3943, la cuenta de búsqueda no podía leer inicialmente la información necesaria del grupo.
¿Por qué puede fallar LDAP tras actualizar MRBS aunque funcione el bind de contraseña?¶
La versión actual de MRBS puede necesitar buscar el DN y atributos como el nombre visible o el correo. Si no se permite la búsqueda anónima, configurar:
$ldap_dn_search_attrib = 'sAMAccountName'; // usar el atributo real
$ldap_dn_search_dn = 'search-account@example.org';
$ldap_dn_search_password = 'leer-de-un-secreto-protegido';
Conceder a la cuenta de búsqueda solo los permisos de lectura necesarios. Guardar su contraseña fuera de la raíz web e incluirla desde un archivo de configuración protegido. Véase la incidencia n.º 3895.
¿Puede MRBS buscar en más de un directorio LDAP?¶
Sí. Muchos ajustes LDAP, incluidos $ldap_host, $ldap_port,
$ldap_base_dn y los atributos de búsqueda, pueden ser arrays. Si un parámetro
compatible se define como array, todos los parámetros compatibles deben tener
el mismo número de elementos, uno por directorio.
Probar el inicio de sesión, la lectura de atributos, los filtros de acceso y la
asignación de administradores para cada directorio. Véanse la
incidencia n.º 3981
y la sección LDAP de systemdefaults.inc.php.
Reservas, salas y permisos¶
¿Por qué un campo personalizado funciona en una reserva, pero falla en una serie?¶
Cada columna personalizada de reserva debe existir tanto en entry como en
repeat con el mismo nombre, tipo, longitud, nulabilidad y valor
predeterminado. Tratar las dos columnas como un único cambio de esquema.
Véanse la incidencia n.º 3986 y Campos personalizados.
¿Impide la capacidad de la sala una reserva con demasiados participantes?¶
No. El valor capacity es una propiedad de la sala que MRBS muestra; no se
compara automáticamente con el número de participantes de la reserva. Si el
sitio debe aplicar esa regla, hay que añadir el mismo campo personalizado de
número de participantes a entry y repeat, y desarrollar y mantener una
validación del lado del servidor. Una validación solo en el navegador no basta.
Si está activo el registro, la capacidad del evento limita las inscripciones a ese evento; no elige automáticamente una sala del tamaño adecuado. Véanse la incidencia n.º 1055, Áreas y salas y Campos personalizados.
¿Puede un área usar intervalos de 30 minutos por la mañana y 15 minutos después?¶
No mediante la configuración estándar de un área. Un área tiene una única resolución temporal. Usar la resolución mínima necesaria durante todo el día o crear áreas separadas si los recursos y la organización lo permiten. Una resolución variable según la hora exige una personalización de código que debe mantenerse.
Véase la incidencia n.º 4011.
¿Por qué el creador no ve Editar o Eliminar?¶
Revisar la política del área existente desde Salas. Los límites para editar con antelación y las reglas para reservas pasadas pueden ocultar esas acciones incluso al creador. Comprobar también la identidad conectada, la propiedad, el estado de administrador y si se trata de una ocurrencia o una serie.
Cambiar areadefaults.inc.php no actualiza un área existente. Véanse la
incidencia n.º 3994
y Políticas de reserva.
¿Permanecen vinculadas las salas de una reserva multisala?¶
No. MRBS crea entradas de reserva independientes. Si una se modifica o elimina posteriormente, las demás no forman un grupo vinculado permanente. No copiar una lista generada de todas las salas en cada descripción salvo que el sitio mantenga también esa lista al crear, editar y eliminar.
Véase la incidencia n.º 2223.
¿Puedo añadir niveles de acceso o un rol personalizado solo para informes?¶
MRBS estándar utiliza los niveles 0, 1 y 2. Los roles numéricos adicionales y los permisos específicos de una página requieren una personalización local de autorización, pruebas y revisión después de cada actualización. Un parche de una incidencia antigua no es una opción de configuración compatible.
Cuando satisfagan el requisito, es preferible usar la delegación estándar por área/sala o informes públicos con listas de permitidos muy limitadas. Véanse la incidencia n.º 3999 y Usuarios y permisos.
Correo, idioma y hora¶
¿Por qué el diagnóstico de correo indica «No recipients»?¶
Activar al menos un rol destinatario:
$mail_settings['admin_on_bookings'] = true;
$mail_settings['area_admin_on_bookings'] = true;
$mail_settings['room_admin_on_bookings'] = true;
$mail_settings['booker'] = true;
Para la primera opción, definir $mail_settings['recipients']. Para los
administradores de área y sala, mantener sus direcciones en MRBS. Si se
notifica al autor, los usuarios LDAP necesitan un atributo de correo legible y
bien asignado. Probar por separado la creación, edición y eliminación.
Véanse la incidencia n.º 3795 y Notificaciones por correo.
¿Qué valor se debe usar para $override_locale?¶
Usar una etiqueta de idioma BCP 47 como en, en-GB, de, fr o es, no
una cadena de locale específica del sistema operativo. El servidor debe tener
instalados los datos de locale adecuados. En sistemas tipo Unix, locale -a
muestra los locales instalados.
Dejar $override_locale vacío para la selección automática de MRBS. Véanse la
incidencia n.º 3984
y Textos y traducciones.
¿Por qué las horas mostradas difieren exactamente una hora?¶
Comprobar, en este orden:
- la zona horaria de la sala y del área;
- el
$timezoneglobal; - la zona horaria de PHP y su paquete de datos;
- el cambio de horario de verano en la fecha afectada; y
- si es incorrecta la marca de tiempo guardada o solo su presentación.
Usar una zona IANA como Europe/Madrid, no un desfase UTC fijo. Las incidencias
antiguas mencionan soluciones específicas de determinadas versiones;
$force_strftime no es un ajuste de MRBS 1.12.2 y no debe copiarse de la
incidencia n.º 3967.
Véase Solución de problemas.
¿Cómo personalizo o traduzco la Ayuda y los textos de la interfaz?¶
La Ayuda integrada se carga desde web/site_faq/. Por ejemplo, el español usa
site_faq_es.html; definir $faqfilelang = 'es' cuando deba elegirse el idioma
de forma explícita. Mantener un archivo traducido completo para cada idioma
compatible.
Para cambios breves de la interfaz, usar $vocab_override[LANG][TOKEN] en
config.inc.php en vez de modificar web/lang/lang.*. Los campos de base de
datos personalizados usan claves como entry.catering.
Véanse la incidencia n.º 2432 y Textos y traducciones.
Informes, multisitio y personalización¶
¿Cómo puede una tarea programada exportar un informe o datos iCalendar?¶
Los informes GET sin autenticación están desactivados de forma predeterminada. Si la información puede exponerse así, activarlos deliberadamente y restringirlos:
$report_unauthenticated_get_enabled = true;
$report_keys_enabled = true;
$report_keys = ['un-secreto-aleatorio-largo'];
$report_open_areas = [1];
$report_open_rooms = [];
Usar una clave difícil de adivinar, una lista de áreas/salas muy limitada, HTTPS y un programador protegido. Probar la salida exacta sin iniciar sesión. La URL de un informe funciona como una credencial y puede filtrarse por registros o historial.
Véanse la incidencia n.º 3742 y Búsqueda e informes.
¿Pueden varios sitios MRBS compartir el mismo conjunto de tablas?¶
No, si sus reservas y ajustes deben permanecer separados. Cada sitio necesita
sus propias tablas MRBS, ya sea en otra base de datos o con un
$db_tbl_prefix único dentro de una base compartida. El código puede ser
común, pero los conjuntos de tablas no deben solaparse.
Crear las tablas de cada sitio con los scripts de esquema de MRBS y aplicar su prefijo de forma coherente. Véanse la incidencia n.º 3917 y Multisitio.
¿Se puede configurar cualquier vista o tema solicitado?¶
No. Añadir texto de sala a una vista concreta del calendario, vincular reservas independientes, añadir niveles de acceso o sustituir la arquitectura de temas puede requerir cambios de código. Antes de aplicar un parche de una incidencia de soporte:
- comprobar si 1.12.2 ya ofrece un ajuste o punto de extensión;
- mantener el cambio fuera de archivos generados y bibliotecas de terceros;
- probar creación, edición, eliminación, privacidad y permisos; y
- documentar la personalización para la siguiente actualización.
Algunos ejemplos son la incidencia de vista personalizada n.º 2223 y la petición de tema n.º 22.