ownCloud es una solución de alojamiento de archivos de código abierto que permite establecer su propio servicio de almacenamiento en la nube personal, similar a Google Drive o Dropbox. Esta guía brinda un recorrido completo sobre cómo instalar ownCloud en un servidor Debian 12.

Preparación

Para instalar ownCloud, necesitará:

  1. Un servidor Debian 12
  2. Un usuario sin privilegios de root con permisos de administrador
  3. Un nombre de dominio dirigido a la dirección IP de su servidor

Instalación de dependencias

ownCloud necesita varias dependencias para funcionar de manera óptima:

  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 de PHP

Los siguientes comandos le ayudarán a instalar estas dependencias en su 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 php7.4 php7.4-intl php7.4-mysql php7.4-mbstring php7.4-imagick php7.4-igbinary php7.4-gmp php7.4-bcmath php7.4-curl php7.4-gd php7.4-zip php7.4-imap php7.4-ldap php7.4-bz2 php7.4-ssh2 php7.4-common php7.4-json php7.4-xml php7.4-dev php7.4-apcu php7.4-redis libsmbclient-dev php-pear php-phpseclib

Después de instalar las dependencias, verifique 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

Configurando la versión de PHP

Asegúrese de configurar la versión PHP predeterminada en su máquina Debian a PHP 7.2, y configure las herramientas PHP adicionales 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 momento de actualizar PHP Pear a la última versión. Ejecute 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, asegure su instalación del servidor MariaDB utilizando el utilitario mariadb-secure- installation. Se le pedirá que responda varias preguntas sobre la configuración. Después, cree una nueva base de datos y un usuario para ownCloud.

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

En el servidor MariaDB, ejecute 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, descargue el código fuente de ownCloud y configure el directorio DocumentRoot para su 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

Cree una nueva configuración de host virtual para ejecutar ownCloud y genere 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, puede comenzar la etapa de instalación a través de un navegador web o 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"

Configurando ownCloud

Después de instalar ownCloud, configúrelo agregando su 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, abra su navegador web y visite el nombre de dominio de su ownCloud. Será redirigido a una conexión HTTPS segura y verá la página de inicio de sesión de ownCloud. Ingrese su usuario y contraseña de administrador, luego haga clic en Iniciar sesión.

Ajuste del rendimiento para ownCloud

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

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

Felicidades! Ha instalado exitosamente ownCloud en su servidor Debian 12. Ha instalado ownCloud con el Stack LAMP (Apache2, MariaDB y PHP), ha asegurado ownCloud con certificados SSL/TLS de Letsencrypt y ha integrado un servidor Redis en su instalación de ownCloud.

Para un rendimiento mejorado y seguridad sin compromisos, considere utilizar los servicios de Shape.host. Con su VPS Linux SSD, puede disfrutar de un servicio de alto rendimiento, asegurando que su instalación de ownCloud funcione sin problemas.