ownCloud es una solución de alojamiento de archivos de código abierto que te permite establecer tu propio servicio de almacenamiento en la nube, similar a Google Drive o Dropbox. Esta guía proporciona un recorrido completo sobre cómo instalar ownCloud en un servidor Debian 12, asegurando que tengas una solución de alojamiento de archivos auto-alojada y segura en tu servidor.

Requisitos Previos

Antes de embarcarte en el proceso de instalación de ownCloud, asegúrate de tener:

  1. Un servidor Debian 12
  2. Un usuario no-root con privilegios de administrador
  3. Un nombre de dominio apuntado a la dirección IP de tu servidor

Instalación de Dependencias

ownCloud requiere varias dependencias para funcionar de manera óptima. Estas incluyen:

  1. Servidor web Apache2
  2. Servidor de base de datos MariaDB
  3. PHP 7.4
  4. Servidor Redis
  5. Paquetes adicionales como ImageMagick, Certbot, Pear y extensiones PHP

Los siguientes comandos te ayudarán a instalar estas dependencias en tu sistema:

sudo apt install lsb-release ca-certificates curl -y
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt update
sudo apt install apache2 mariadb-server imagemagick certbot python3-certbot-apache smbclient redis-server unzip rsync libapache2-mod-php7.4

Después de instalar las dependencias, verifica cada una ejecutando los siguientes comandos:

sudo systemctl is-enabled apache2
sudo systemctl status apache2
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
sudo systemctl is-enabled redis
sudo systemctl status redis

Configuración de la Versión de PHP

Asegúrate de configurar la versión de PHP por defecto en tu máquina Debian a PHP 7.2, y configura las herramientas adicionales de PHP para usar PHP 7.4:

sudo update-alternatives --config php
sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4

Actualización de PHP Pear

Después de instalar las dependencias, es hora de actualizar PHP Pear a la última versión. Ejecuta los siguientes comandos:

sudo mkdir -p /tmp/pear/cache
sudo pear upgrade --force --alldeps http://pear.php.net/get/PEAR-1.10.13
sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade --force
sudo pear upgrade-all

Configuración del Servidor MariaDB

A continuación, asegura tu instalación del servidor MariaDB utilizando la utilidad mariadb-secure-installation. Se te pedirá que respondas a varias preguntas sobre la configuración. Después, crea una nueva base de datos y usuario para ownCloud.

sudo mariadb-secure-installation
sudo mariadb -u root -p

En el servidor MariaDB, ejecuta las siguientes consultas:

CREATE DATABASE owncloud;
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'owncloud'@'localhost';

Descarga del Código Fuente de ownCloud

Después de configurar el servidor MariaDB, descarga el código fuente de ownCloud y configura el directorio DocumentRoot para tu instalación de ownCloud:

cd /var/www
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2.sha256
sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2
tar -xf owncloud-complete-latest.tar.bz2
sudo chown -R www-data:www-data /var/www/owncloud

Configuración del Host Virtual Apache2

Crea una nueva configuración de host virtual para ejecutar ownCloud y genera certificados SSL/TLS de Letsencrypt utilizando Certbot:

sudo a2enmod rewrite env dir mime unique_id headers ssl
sudo nano /etc/apache2/sites-available/owncloud.conf
sudo a2ensite owncloud.conf
sudo apachectl configtest
sudo systemctl restart apache2
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [email protected] -d example.io

Instalación de ownCloud a través de la Línea de Comandos

Ahora que todas las dependencias están instaladas y configuradas, puedes comenzar la etapa de instalación a través de un navegador web o de la línea de comandos. En esta guía, instalaremos ownCloud a través de la línea de comandos:

cd /var/www/owncloud
sudo -u www-data /var/www/owncloud/occ maintenance:install \
--database "mysql" \
--database-name "owncloud" \
--database-user "owncloud"\
--database-pass "password" \
--admin-user "admin" \
--admin-pass "adminpassowncloud"

Configuración de ownCloud

Después de instalar ownCloud, configúralo añadiendo tu nombre de dominio a los trusted_domains en el archivo config.php.

sudo nano /var/www/owncloud/config/config.php

Inicio de Sesión en ownCloud

Después de la instalación, abre tu navegador web y visita el nombre de dominio de tu ownCloud. Serás redirigido a una conexión HTTPS segura y verás la página de inicio de sesión de ownCloud. Introduce tu usuario y contraseña de administrador, luego haz clic en Inicio de sesión.

Ajuste de Rendimiento para ownCloud

Después de la instalación, mejora tu configuración de ownCloud creando un nuevo cron para ownCloud e integrando Redis en tu instalación de ownCloud:

sudo crontab -u www-data -e
sudo nano /var/www/owncloud/config/config.php

Felicidades! Has instalado con éxito ownCloud en tu servidor Debian 12. Has instalado ownCloud con la pila LAMP (Apache2, MariaDB y PHP), has asegurado ownCloud con certificados SSL/TLS de Letsencrypt y has integrado un servidor Redis en tu instalación de ownCloud.

Para un rendimiento mejorado y una seguridad ininterrumpida, considera utilizar los servicios de Shape.host. Con su SSD Linux VPS, puedes disfrutar de un servicio de alto rendimiento, asegurando que tu instalación de ownCloud funcione sin problemas.