Cómo instalar y configurar el servidor ownCloud

Una fotografía de una computadora de escritorio en un fondo blanco.

OwnCloud es una poderosa solución de almacenamiento personal basada en la web para Linux. Funciona convirtiendo un stack de software estándar de Linux-Apache-MySQL-PHP (LAMP) en una aplicación web interactiva a la que puedes acceder desde cualquier lugar.

Este artículo te muestra el proceso de instalación de un servidor ownCloud en Ubuntu 22.04. No solo eso, también te mostraremos cómo puedes asegurarla habilitando el soporte SSL. Ten en cuenta que también puedes instalar ownCloud en Windows.

Tabla de Contenidos

  • ¿Por qué usar ownCloud?
  • Instalación de ownCloud
  • Creación de un proxy inverso Nginx
  • Obtención de un certificado SSL para ownCloud
  • Preguntas Frecuentes

Consejo: ¿no estás interesado en instalar tu propio almacenamiento en la nube? Consulta estos proveedores de almacenamiento en la nube y ve cuál es el mejor para tu dinero.

¿Por qué usar ownCloud?

La mayor ventaja de usar ownCloud es que solo se basa en un stack de hosting web tradicional. Como resultado, es posible ejecutar una instancia de ownCloud en casi cualquier instalación de Linux con tan solo 512 MB de RAM.

Una captura de pantalla de la pantalla de inicio predeterminada de ownCloud.

Además de eso, toda la suite de ownCloud es gratuita y de código abierto. Esto significa que puedes implementarla en una máquina y esperar que reciba las últimas actualizaciones de seguridad más rápido en comparación con sus contrapartes propietarias.

Una captura de pantalla de la página de github de ownCloud.

Por último, ownCloud también proporciona su propio cliente dedicado similar a Google Drive. Puedes acceder fácilmente a los archivos dentro de tu unidad de nube personal en tu Administrador de Archivos.

Una captura de pantalla del cliente de escritorio de ownCloud.

Consejo: ¿no eres fan de ownCloud? ¡Consulta NextCloud y cómo se compara con ownCloud!

Instalación de ownCloud

Las instrucciones a continuación demuestran la instalación del servidor ownCloud en Ubuntu 22.04. Los pasos serán similares en otras versiones de Ubuntu o distribuciones de Linux.

  1. El primer paso para instalar ownCloud es asegurarte de que tu máquina tenga un Nombre de Dominio Totalmente Calificado. Esto permitirá que el servidor redirija correctamente cualquier solicitud hacia él:
sudo hostnamectl set-hostname "tu-nombre-de-dominio"

Una terminal que muestra el nombre de host del servidor de demostración.

  1. Configura un dominio (o subdominio) para apuntar a la dirección IP de tu servidor. Para hacer esto, ve al sitio web de tu registrador y agrega un registro “A” con la dirección IPv4 de tu máquina.

Una captura de pantalla del registro DNS para el servidor de demostración.

  1. Una vez hecho, actualiza todo tu sistema:
sudo apt update  
sudo apt upgrade

Instalando Docker y Docker Compose

  1. Instala la clave del repositorio de terceros del proyecto Docker:
sudo install -m 0755 -d /etc/apt/keyrings  
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  
sudo chmod a+r /etc/apt/keyrings/docker.gpg
  1. Crea un nuevo archivo de repositorio apt para Docker en “/etc/apt/sources.list.d/“:
sudo nano /etc/apt/sources.list.d/docker.list
  1. Inserta la siguiente línea de código dentro de tu nuevo archivo “docker.list”:
deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable
  1. Guarda el archivo (usando el atajo de teclado Ctrl + O) y sal del editor de texto.

Una terminal que muestra la información del repositorio de Docker para Ubuntu.

  1. Actualiza el repositorio apt de tu sistema con el siguiente comando:
sudo apt update
  1. Instala Docker junto con sus utilidades necesarias con el siguiente comando:
sudo apt install wget openssl docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin

Nota: Puede que necesites reiniciar el sistema para que tenga efecto.

Preparando el sistema para el contenedor ownCloud

  1. Crea un nuevo directorio para los archivos Docker de tu servidor:
mkdir ./owncloud-server  
cd ./owncloud-server

FYI: Aprende cómo puedes crear una plataforma de hosting web de alto rendimiento construyendo un stack LOMP hoy.

  1. Descarga la plantilla de Docker Compose de ownCloud desde el sitio web de los desarrolladores:
wget https://raw.githubusercontent.com/owncloud/docs-server/master/modules/admin_manual/examples/installation/docker/docker-compose.yml
  1. Crea un archivo de entorno Docker dentro de la carpeta de tu contenedor Docker:
nano ./.env
  1. Agrega las variables de entorno básicas que deseas usar para tu instancia de ownCloud. El siguiente es un ejemplo de plantilla:
OWNCLOUD_VERSION=10.12  
OWNCLOUD_DOMAIN=TU-NOMBRE-DE-DOMINIO  
OWNCLOUD_TRUSTED_DOMAINS=localhost,TU-NOMBRE-DE-DOMINIO  
ADMIN_USERNAME=TU-NOMBRE-DE-ADMINISTRADOR-AQUÍ  
ADMIN_PASSWORD=TU-CONTRASEÑA-DE-ADMINISTRADOR-AQUÍ  
HTTP_PORT=8080

Debes cambiar “tu-nombre-de-dominio” por tu propio nombre de dominio. Además, el nombre de usuario y la contraseña de administrador se refieren a la cuenta de administrador de inicio de sesión de OwnCloud, no a la cuenta de administrador del sistema.

Una terminal que muestra un archivo de variables de entorno simple de Docker Compose de ownCloud.

Nota: Puedes generar una contraseña segura utilizando el archivo de dispositivo “dev/urandom” de tu sistema: cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 64 | head -n 1.

  1. Guarda tu archivo “.env” y sal.

  2. Ejecuta Docker Compose en el directorio del contenedor:

docker compose up -d

Una terminal que muestra el proceso de construcción del contenedor Docker para ownCloud.

Creando un proxy inverso Nginx

En este punto, ahora tienes una instalación ownCloud parcialmente funcional. Para que acepte conexiones, necesitas crear un proxy inverso que vincule tu instancia interna a un servidor web externo.

  1. Instala el servidor web Nginx usando apt:
sudo apt install nginx
  1. Crea el archivo de configuración del sitio para tu proxy inverso ownCloud:
sudo nano /etc/nginx/sites-available/owncloud
  1. Escribe un bloque de proxy inverso que escuche en el puerto 80. El siguiente es un código de plantilla simple que modifiqué para que funcione con el subdominio de mi servidor:
server {  
    listen 80;  
    listen [::]:80;  
  
    root /var/www/html;  
    server_name owncloud.miservidorvps.top;  
  
    location / {  
        proxy_set_header   X-Forwarded-For $remote_addr;  
        proxy_set_header   Host $http_host;  
        proxy_pass         http://localhost:8080;  
}  
}
  1. Una vez hecho, crea un enlace simbólico para tu nuevo archivo de sitio:
sudo ln -s /etc/nginx/sites-available/owncloud /etc/nginx/sites-enabled/owncloud
  1. Prueba tu configuración de Nginx. Si todo está bien, reinicia Nginx para que los cambios surtan efecto.
sudo nginx -t
sudo systemctl reload nginx

Obtención de un certificado SSL para ownCloud

Si bien es posible usar ownCloud a través de HTTP, esto puede ser muy inseguro ya que todas las conexiones que realices a él son no encriptadas. Una forma de resolver esto es habilitando SSL para tu servidor ownCloud.

  1. Actualiza la instalación de snapd de tu sistema:
sudo snap install core  
sudo snap refresh core
  1. Instala el paquete snap certbot:
sudo snap install --classic certbot
  1. Crea un enlace simbólico con tu paquete snap certbot y la ruta binaria de tu sistema:
sudo ln -s /snap/bin/certbot /usr/bin/certbot
  1. Registra tu nueva instalación de certbot en la Electronic Frontier Foundation:
sudo certbot register --agree-tos --email [email protected]
  1. Ejecuta el comando certbot para el dominio (o subdominio) de tu servidor:
sudo certbot --nginx -d owncloud.miservidorvps.top

Una terminal que muestra el proceso automático de emisión de certificado SSL de certbot para Nginx.

  1. Una vez hecho, puedes escribir tu nombre de dominio en el navegador y tu nueva página de inicio de sesión de ownCloud debería aparecer.

Una captura de pantalla que muestra una instancia de ownCloud funcionando sobre SSL.

Bueno saber: Aprende cómo se cifra la información a través de internet mediante SSL creando tu propio certificado autofirmado.

Preguntas Frecuentes

¿Es posible agregar un usuario regular a ownCloud?

Sí. Para agregar un nuevo usuario, ve a tu cuenta de administrador de ownCloud y haz clic en el nombre del administrador en la esquina superior derecha de la página. A continuación, haz clic en el botón “Usuarios” para abrir la lista de usuarios actuales del servidor. Allí, puedes agregar un nuevo usuario proporcionando un nombre de usuario y una dirección de correo electrónico.

Crédito de la imagen: Quaritsch Photography a través de Unsplash (Fondo) y Wikimedia Commons (Logo). Todas las alteraciones y capturas de pantalla por Ramces Red.