Para una instancia de ownCloud Server alojada directamente y que se ejecuta detrás de un VirtualHost de Apache, el procedimiento habitual consiste en apuntar un dominio público al servidor, hacer accesible el sitio HTTP y ejecutar el instalador de Apache de Certbot para ese nombre de host. Por ejemplo, si su dirección de ownCloud es cloud.example.com, Certbot puede solicitar un certificado Let's Encrypt y configurar Apache para que sirva HTTPS con sudo certbot --apache -d cloud.example.com. Pruebe el sitio y la renovación automática antes de confiar en ello.
Este procedimiento corresponde a una instalación de ownCloud Classic 10.16 con Apache en Ubuntu, tal como se indica en la guía de ownCloud para Apache. Si ejecuta ownCloud Classic 11 en Docker, ownCloud indica que debe configurar HTTPS en el proxy web que se encuentra frente al contenedor. Si su proveedor de alojamiento o proxy inverso ya gestiona la terminación TLS, configure el certificado allí en lugar de intentar instalarlo en el contenedor de ownCloud.
Comprueba que esta configuración se ajusta a tu servidor.
Let's Encrypt verifica que usted controla el nombre de dominio solicitado antes de emitir un certificado. Para el desafío HTTP-01 común, Let's Encrypt debe poder recuperar un archivo temporal de su servidor a través de HTTP público en el puerto 80. El mismo nombre de host debe resolverse al punto final público que aloja su sitio ownCloud. El tráfico HTTPS llega entonces al punto final de Apache en el puerto 443.
- Usted tiene un nombre de host público, como por ejemplo
cloud.example.com, y controla sus registros DNS.
- El nombre de host se resuelve en la dirección IP pública del servidor Apache o del proxy inverso público.
- Los puertos entrantes 80 y 443 están permitidos a través del firewall, el enrutador y el grupo de seguridad en la nube correspondientes.
- Apache ya presta servicio al sitio ownCloud a través de un VirtualHost para ese nombre de host.
- Usted tiene acceso de administrador a la máquina que gestiona el tráfico público HTTP y HTTPS.
Si su sitio web está detrás de un proxy, balanceador de carga, host de contenedores o panel de control, identifique dónde termina el TLS público antes de ejecutar Certbot. Un certificado instalado en la máquina incorrecta no protegerá la conexión entre el navegador y el servidor. Para ownCloud Classic 11, el diseño de Docker compatible gestiona Apache dentro del contenedor y coloca HTTPS en el proxy web.
Prepare el nombre de host de ownCloud y el sitio de Apache.
Utilice un nombre de host dedicado de ownCloud siempre que sea posible. ownCloud requiere que cada URL del navegador utilizada para iniciar sesión aparezca trusted_domainsen su config/config.phparchivo. Si cambia de una dirección IP u otro nombre de host a cloud.example.com, agregue el nuevo host a una entrada no utilizada en la matriz trusted-domains antes de probar la nueva dirección. No sobrescriba otra entrada por accidente.
Confirme que el HTTP simple llega al sitio ownCloud deseado antes de solicitar un certificado. En Apache, el VirtualHost debe identificar el nombre de host exacto con una ServerNamedirectiva. Las instrucciones de Apache de ownCloud asumen una configuración de VirtualHost y, en Ubuntu, colocan las definiciones de sitio en /etc/apache2/sites-available/. Las rutas y los nombres de servicio pueden variar en otras distribuciones.
Realice una copia de seguridad de la configuración activa de VirtualHost de Apache antes de modificarla. Esto le proporcionará un punto de recuperación en caso de que un instalador automático seleccione el sitio incorrecto o cree un host HTTPS conflictivo. Si tiene varios sitios en el mismo servidor, revise los VirtualHosts existentes para asegurarse de que el certificado esté asociado al nombre de host de ownCloud en lugar del sitio predeterminado.
Instale y ejecute Certbot para Apache.
Instala Certbot siguiendo las instrucciones específicas para tu sistema operativo y configuración de Apache. Las instrucciones oficiales de Certbot recomiendan su paquete Snap para muchas instalaciones de Linux, pero la disponibilidad del paquete y las rutas de instalación compatibles dependen de la distribución. Evita combinar varias instalaciones de Certbot del gestor de paquetes del sistema operativo y Snap; el comando que debes ejecutar certbotdebe ser el del complemento de Apache que deseas utilizar.
En un host Ubuntu donde Snap está instalado y es compatible, las instrucciones de Certbot muestran esta ruta de instalación:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
Si Certbot ya está instalado, compruebe qué versión ejecuta su shell y cómo se instaló antes de añadir otra copia. Consulte la guía de instalación de Certbot para Apache para conocer otras opciones de instalación compatibles.
Solicita e instala el certificado para tu nombre de host de ownCloud:
sudo certbot --apache -d cloud.example.com
Reemplazar cloud.example.comcon el nombre de host real. Certbot realizará la validación del dominio y, con el instalador de Apache, actualizará Apache para usar el certificado emitido. Si desea que un solo certificado cubra varios nombres, especifique cada nombre explícitamente, por ejemplo -d cloud.example.com -d files.example.com, . Cada nombre listado debe apuntar a un punto final accesible y pasar la validación.
Certbot puede preguntar si las solicitudes HTTP deben redirigirse a HTTPS. Habilitar la redirección es apropiado una vez que el VirtualHost HTTPS esté funcionando. ownCloud recomienda HTTPS para producción y una redirección permanente para el tráfico no cifrado. Si prefiere administrar la configuración de Apache usted mismo, Certbot también ofrece un modo solo de certificado; utilice la guía de Apache de ownCloud para conectar correctamente los archivos de certificado y el VirtualHost, y luego pruebe la configuración antes de reiniciar Apache.
Cuando la validación HTTP no puede llegar a su servidor
El método HTTP-01 utiliza una ruta en /.well-known/acme-challenge/el puerto 80. Si un enrutador reenvía el puerto 80 a otra máquina, un cortafuegos lo bloquea o un proxy redirige esa ruta a otro lugar, la validación puede fallar aunque la página de ownCloud se cargue mediante HTTPS. Compruebe el DNS público y el reenvío de puertos, y asegúrese de que el desafío ACME llegue al mismo punto final donde se ejecuta Certbot.
Si su proveedor de servicios de Internet o la política de red bloquea el puerto 80, considere la validación DNS-01. Esta prueba el control del dominio mediante un registro DNS TXT y puede emitir certificados comodín, pero la automatización de la renovación depende de si su proveedor de DNS dispone de un complemento API adecuado. Evite colocar credenciales DNS amplias en un servidor web cuando tenga disponible una credencial de alcance limitado o un host de validación independiente. No utilice un procedimiento que solo admita HTTP-01 para un certificado comodín.
Verifique Apache y ownCloud después de la instalación.
Antes de cerrar la ventana de mantenimiento, compruebe que la configuración de Apache sea válida y que Certbot muestre el nuevo certificado:
sudo apache2ctl configtest
sudo certbot certificates
En Ubuntu, una comprobación de sintaxis de Apache exitosa indica que la configuración es válida. Abra el sitio https://cloud.example.comen un navegador e inicie sesión. Confirme que el navegador muestra un certificado válido para el nombre de host exacto y pruebe un cliente representativo de carga, descarga y sincronización de archivos. Si habilitó una redirección, visite la dirección HTTP y confirme que se accede al mismo nombre de host HTTPS sin un bucle de redirección.
Si la página de inicio de sesión de ownCloud muestra un dominio no confiable, verifique trusted_domainsla configuración del servidor. Si el navegador redirige a un nombre de host incorrecto o ownCloud genera enlaces HTTP detrás de un proxy inverso, revise el host reenviado del proxy, los encabezados HTTPS y la configuración del proxy de ownCloud. Esta configuración depende de la topología del proxy; no copie las modificaciones del proxy inverso en una instalación directa de Apache sin una razón justificada.
Verifique la renovación antes de considerar que el trabajo está hecho.
Los certificados estándar de Let's Encrypt tienen una duración limitada, por lo que su renovación debe automatizarse. Las instalaciones de Certbot suelen proporcionar un temporizador systemd o una tarea programada (cron job). Pruebe la renovación con antelación con:
sudo certbot renew --dry-run
Una prueba en seco verifica la ruta de renovación sin reemplazar el certificado activo. Si falla, revise la salida de Certbot y corrija el problema de DNS, firewall, enrutamiento de desafío o Apache. Confirme que existe un temporizador o una tarea programada en las herramientas de servicio de su sistema operativo; no dé por sentado que la renovación está activa solo porque se emitió el primer certificado. Mantenga el puerto 80 disponible si su renovación utiliza HTTP-01, o asegúrese de que su automatización DNS-01 pueda actualizar el registro TXT requerido.
Opciones comunes y escollos
| Situación | Ruta recomendada |
| ownCloud Classic 10.16 en Ubuntu con Apache expuesto directamente | Utilice el instalador de Apache de Certbot para el nombre de host de ownCloud. |
| ownCloud Classic 11 en Docker | Configure HTTPS en el proxy web que se encuentra delante del contenedor. |
| El panel de alojamiento ya gestiona los certificados. | Utilice el flujo de trabajo de Let's Encrypt del panel y verifique que se renueve. |
| El puerto 80 no puede acceder al servidor web o se requiere un comodín. | Utilice DNS-01 con un método de renovación adecuado. |
| Apache tiene varios VirtualHosts | Confirme que Certbot seleccionó el VirtualHost cuyo ServerName coincide con el nombre de host del certificado. |
No actives HSTS includeSubDomainshasta que todos los subdominios relevantes se sirvan correctamente a través de HTTPS; una cabecera en un nombre de host afecta a cómo los navegadores tratan sus subdominios. Primero, asegúrate de que el certificado, las redirecciones y la renovación sean fiables. A continuación, revisa la guía de ownCloud sobre el endurecimiento de HSTS y otras configuraciones TLS adecuadas para la estructura completa de tu dominio.
Documentación revisada el 6 de octubre de 2026. Las rutas de archivo y los comandos exactos que se indican a continuación presuponen Ubuntu con Apache y ownCloud Classic 10.16; Docker, proxy inverso, panel de alojamiento, Nginx y las implementaciones que no sean de Ubuntu requieren instrucciones para su punto final TLS real.
Referencias: ownCloud 10.16: Configurar Apache con Let's Encrypt ; ownCloud 11: Guía de HTTPS y proxy inverso ; ownCloud 10.16: Dominios de confianza ; Certbot: Instalación y renovación de Apache ; Let's Encrypt: Tipos de desafío ; Let's Encrypt: Mantener abierto el puerto 80 .