Cómo instalar ownCloud en Rocky Linux

ownCloud es un software para crear servicios de alojamiento de archivos como Google Drive y DropBox. Es un software de alojamiento de archivos gratuito y de código abierto que te permite configurar un alojamiento de archivos propio en tu propio servidor. ownCloud ofrece la aplicación servidor (el componente principal de los trajes de software ownCloud), y aplicaciones cliente que se pueden instalar en múltiples sistemas operativos como Linux, Windows, macOS, Android e iOS.

ownCloud está escrito principalmente en PHP, JavaScript y Go. Y te permite sincronizar fácilmente eventos de calendario, almacenar archivos, imágenes y cualquier formato de archivo. Y también te permite organizar como tareas, libretas de direcciones, y muchos más. ownCloud es una aplicación extensible que te permite instalar la aplicación adicional en la parte superior de la misma.

En este tutorial, te guiaremos a través del proceso de instalación y configuración de un alojamiento de archivos de código abierto ownCloud en el servidor Linux Rocky. Este tutorial proporcionará las instalaciones completas de ownCloud, que incluyen la Pila LAMP, Redis, la configuración de SELinux y Firewalld.

Requisitos previos

Para empezar, necesitarás los siguientes requisitos para completar este tutorial:

  • Un servidor Rocky Linux – Este ejemplo utiliza el Rocky Linux 8.x con el nombre de host‘owncloud-server‘ y una dirección IP‘192.168.5.100‘.
  • Un usuario no root con privilegios de administrador sudo/root – o puedes utilizar el usuario root.
  • Un nombre de dominio o subdominio apuntando a la dirección IP del servidor – Este ejemplo utiliza el nombre de dominio ‘hwdomain.io‘.

Instalación de las dependencias básicas

En el siguiente paso, configurarás repositorios e instalarás dependencias básicas para ownCloud. Instalarás el repositorio EPEL, configurarás el repositorio Redis e instalarás la última versión de Redis v6, después instalarás dependencias básicas como openssl, ImageMagick y herramientas zip.

Instala el repositorio EPEL mediante el siguiente comando dnf.

sudo dnf install epel-release

Cuando se te pida confirmación, introduce y y pulsa ENTER para continuar.

instalar epel

A continuación, ejecuta el siguiente comando para habilitar el repositorio para Redis v6. El repositorio Rocky Linux proporciona múltiples versiones de Redis, deberías habilitar la última para la instalación ownCloud.

sudo dnf module reset redis
sudo dnf module enable redis:6

Introduce y cuando se te solicite y pulsa ENTER para continuar.

activar redis v6

Ahora que los repositorios están configurados, ejecuta el siguiente comando dnf para instalar las dependencias básicas de los paquetes para ownCloud.

sudo dnf install libsmbclient redis unzip libzip bzip2 openssl rsync ImageMagick

Introduce y cuando se te solicite la configuración y pulsa INTRO.

instalar dependencias

Una vez instaladas las dependencias básicas de paquetes, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio‘redis’.

sudo systemctl enable redis
sudo systemctl start redis

El servicio Redis debería estar ahora en ejecución y habilitado, lo que significa que se ejecutará automáticamente al arrancar el sistema.

Por último, verifica el servicio Redis mediante el siguiente comando systemctl. Deberías ver el servicio Redis en ejecución y habilitado.

sudo systemctl status redis

comprobar redis

Instalación de paquetes y extensiones PHP 7.4

La última versión de ownCloud aún requiere PHP 7.4 para su instalación y aún no es totalmente compatible con PHP 8. Y para este tutorial, instalarás PHP 7.4 a través del repositorio de terceros REMI.

Ahora configurarás un repositorio REMI adicional e instalarás paquetes PHP 7.4 desde el repositorio REMI.

En primer lugar, ejecuta el siguiente comando para añadir el repositorio REMI para el servidor Rocky Linux 8.x.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm

Introduce y cuando se te solicite y pulsa INTRO para continuar.

añadir remi

A continuación, ejecuta el siguiente comando para habilitar el repositorio REMI para los paquetes PHP 7.4. Introduce y y pulsa INTRO para confirmar.

sudo dnf module reset php
sudo dnf module enable php:remi-7.4

activar php 7.4 repo

Ahora que el repositorio REMI está configurado, ejecuta el siguiente comando dnf para instalar PHP 7.4 con extensiones PHP adicionales para ownCloud.

sudo dnf install --enablerepo=remi php php-intl php-mysql php-mbstring \
  php-imagick php-igbinary php-gmp php-bcmath \
  php-curl php-gd php-zip php-imap php-ldap \
  php-bz2 php-ssh2 php-common php-json \
  php-xml php-devel php-apcu php-redis \
  php-smbclient php-pear php-phpseclib

Cuando se te solicite, introduce y para confirmar, y pulsa INTRO.

instalar php 7.4

Una vez instalados los paquetes PHP, ejecuta el siguiente comando para verificar la versión actual de PHP en tu sistema.

php --version

Deberías ver que PHP 7.4 está instalado en tu sistema.

comprobar versión de php

Instalación del servidor web httpd

El alojamiento de archivos ownCloud puede ejecutarse en algunos servidores web populares como Apache/httpd, Nginx y Microsoft IIS. En este ejemplo, utilizarás Apache/Httpd para tu despliegue de ownCloud.

Por lo tanto, primero instalarás los paquetes Httpd en tu servidor Linux Rocky.

Los paquetes por defecto del servidor web httpd están disponibles en el repositorio appstream de Rocky Linux, instálalo mediante el comando dnf que aparece a continuación.

sudo dnf install httpd httpd-devel httpd-tools mod_ssl

Cuando se te pida la configuración, introduce y y pulsa ENTER para continuar.

instalar httpd

Una vez instalado httpd, ejecuta el siguiente comando systemctl para iniciar y habilitar el servicio httpd. Ahora el servidor web httpd debería estar funcionando.

sudo systemctl enable httpd
sudo systemctl start httpd

Comprueba el estado del servidor web httpd utilizando el siguiente comando.

sudo systemctl status httpd

Una vez que ejecutes el comando, se imprimirá lo siguiente en tu terminal: el servicio httpd está actualmente en ejecución y habilitado, lo que significa que el httpd se ejecutará automáticamente al arrancar el sistema.

comprobar httpd

Ahora que el servidor web httpd está en ejecución, debes configurar el firewalld y permitir el acceso a los servicios HTTP y HTTPS.

Ejecuta el siguiente comando para añadir los servicios HTTP y HTTPS al firewalld.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent

Después, recarga el firewalld para aplicar los nuevos cambios y comprueba que los servicios HTTP y HTTPS se han añadido al firewalld.

sudo firewall-cmd --reload
sudo firewall-cmd --list-services

La siguiente salida te muestra que los servicios HTTP y HTTPS se han añadido al firewalld. Y ahora puedes acceder a tu instalación httpd desde fuera de tu red.

configurar firewalld

Ahora que has instalado PHP 7.4 y el servidor web httpd, vas a verificar la instalación creando un archivo PHPINFO y accediendo a él a través del navegador web. Así comprobarás que tanto PHP 7.4 como httpd funcionan y obtendrás información detallada sobre tus configuraciones de PHP.

Ejecuta el siguiente comando para crear un nuevo archivo PHPINFO ‘/var/www/html/info.php‘.

cat <<EOF | sudo tee /var/www/html/info.php
<?php
phpinfo();
?>
EOF

Por último, abre el navegador web de tu ordenador y visita la dirección IP del servidor seguida de la ruta ‘/info.php’ (es decir: http: //192.168.5.100/info.php).

Deberías ver una página como la siguiente captura de pantalla – El servidor web PHP 7.4 y httpd está funcionando y también verás información detallada y configuraciones de PHP en tu pantalla.

phpinfo

Instalación y configuración del servidor MariaDB

ownCloud soporta múltiples bases de datos para su instalación. Soporta RDBMS como MariaDB/MySQL, PostgreSQL, base de datos Oracle y SQLite (la instalación por defecto). Para la producción, deberías ejecutar ownCloud con MySQL/MariaDB o PostgreSQL, que es más estable y te ofrece más rendimiento.

En este paso, instalarás el servidor de base de datos MariaDB, asegurarás MariaDB mediante la herramienta ‘mysql_secure_installation’, y crearás una nueva base de datos y un nuevo usuario para el despliegue de ownCloud.

El servidor de base de datos MariaDB por defecto está disponible en el repositorio de Rocky Linux, ejecuta el comando dnf que aparece a continuación para instalarlo.

sudo dnf install mariadb-server

Introduce y cuando se te pida la configuración y pulsa ENTER para instalarlo.

instalar mariadb

Una vez instalado MariaDB, inicia y habilita el servicio ‘mariadb’ mediante el comando systemctl que aparece a continuación.

sudo systemctl enable mariadb
sudo systemctl start mariadb

iniciar mariadb

El servidor MariaDB debería estar ejecutándose ahora, utiliza el siguiente comando para verificar el servicio y asegurarte de que se está ejecutando.

sudo systemctl status mariadb

En la siguiente salida, puedes ver que el servidor de bases de datos MariaDB se está ejecutando y está habilitado.

comprobar mariadb

Después de instalar MariaDB, a continuación asegurarás tu despliegue mediante el comando «mysql-secure_installation» proporcionado por los paquetes MariaDB. Este comando te ayuda a asegurar tu despliegue de MariaDB configurando la contraseña de root, eliminando el usuario anónimo por defecto y la prueba de base de datos por defecto, deshabilitando el inicio de sesión de root de MariaDB de forma remota.

Ejecuta el siguiente comando para empezar a asegurar MariaDB.

sudo mysql_secure_installation

Te hará algunas preguntas sobre la configuración de MariaDB y deberás introducir y para confirmar o n para no.

  1. ¿Cambiar el método de autenticación para el usuario root a unix_socket? Introduce n.
  2. ¿Cambiar la contraseña raíz de MariaDB? Introduce y para confirmar, luego introduce la nueva contraseña y repite.
  3. ¿Prohibir el acceso remoto al usuario root? Introduce y para confirmar.
  4. ¿Eliminar el usuario anónimo por defecto de MariaDB? Introduce y para eliminar el usuario anónimo.
  5. ¿Borrar la prueba de base de datos por defecto de MariaDB? Introduce y para eliminar la prueba de base de datos.
  6. ¿Recargar privilegios de tablas? Introduce y para confirmar y MariaDB recargará todos los privilegios y aplicará los nuevos cambios.

Llegados a este punto, ya has instalado y asegurado la instalación de MariaDB. Ahora vas a configurar una nueva base de datos MariaDB y un nuevo usuario para ownCloud. Y esto se puede hacer a través del intérprete de comandos MariaDB/MySQL.

Accede al intérprete de comandos MariaDB con el usuario root mediante el comando‘mysql‘ que aparece a continuación.

sudo mysql -u root -p

Cuando te pida la contraseña, introduce la contraseña de tu usuario raíz MariaDB.

Ahora ejecuta las siguientes consultas MariaDB para crear una nueva base de datos y un nuevo usuario para ownCloud. En este ejemplo, crearás una nueva base de datos y un nuevo usuario‘owncloud‘ para la instalación de ownCloud. Además, asegúrate de sustituir la contraseña.

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

crear base de datos y usuario

A continuación, ejecuta la siguiente consulta para verificar el privilegio del usuario ‘owncloud‘. A continuación, ejecuta la consulta‘quit‘ o‘exit’ para cerrar la sesión del intérprete de comandos MariaDB.

SHOW GRANTS FOR 'owncloud'@'localhost';
quit

En la siguiente captura de pantalla, verás que el usuario ‘owncloud‘ tiene acceso y privilegios a la base de datos‘owncloud‘.

comprobar privilegios db

Descargar el código fuente de ownCloud

Después de haber instalado MariaDB y creado la base de datos y el usuario para wonCloud. En el siguiente paso, descargarás el código fuente de ownCloud y establecerás el directorio de instalación en ‘/var/www/owncloud‘. En el momento de escribir esto, la última versión de ownCloud es la v10.11. y descargarás su código fuente.

Mueve el directorio de trabajo a ‘/var/www‘.

cd /var/www

Descarga la última versión del código fuente de ownCloud y el archivo SHA256 para verificar el código fuente.

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

Ahora verifica el código fuente de ownCloud mediante el siguiente comando sha256sum. Si el código fuente está verificado, deberías obtener el mensaje de salida«OK«.

sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2

A continuación, extrae el código fuente de ownCloud mediante el siguiente comando tar. Deberías obtener el nuevo directorio ‘/var/www/owncloud’, que se utilizará como instalación para ownCloud.

sudo tar -xvjf owncloud-complete-latest.tar.bz2

downcloud owncloud

Por último, cambia la propiedad del directorio de instalación de ownCloud al usuario‘apache‘ mediante el siguiente comando.

sudo chown -R apache:apache /var/www/owncloud

Configurar el host virtual httpd

Tienes que crear una nueva configuración de host virtual httpd antes de acceder a tu instalación de wonCloud. Además, asegúrate de que tienes un nombre de dominio apuntando a la dirección IP de tu servidor y certificados SSL generados para ese dominio.

Ahora crearás una nueva configuración de host virtual httpd para ownCloud. Además, habilitarás la conexión segura HTTPS para owncloud mediante certificados SSL de Letsencrypt.

Crea una nueva configuración de host virtual httpd para owncloud‘/etc/httpd/conf.d/owncloud.conf ‘ mediante el editor nano que aparece a continuación.

sudo nano /etc/httpd/conf.d/owncloud.conf

Añade la siguiente configuración al archivo y asegúrate de cambiar el dominio y la ruta de los certificados SSL. En este ejemplo, instalarás owncloud en el subdirectorio con el dominio principal‘hwdomain.io‘.

<VirtualHost *:80>
  ServerName hwdomain.io
  Redirect permanent / https://hwdomain.io/
</VirtualHost>
<VirtualHost *:443>
ServerName hwdomain.io
DocumentRoot /var/www

Protocols h2 http:/1.1

<If "%{HTTP_HOST} == 'www.hwdomain.io'">
Redirect permanent / https://hwdomain.io/
</If>

ErrorLog /var/log/httpd/hwdomain.io-error.log
CustomLog /var/log/httpd/hwdomain.io-access.log combined

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/hwdomain.io/privkey.pem

SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCompression off

Header always set Strict-Transport-Security "max-age=63072000"

Alias /owncloud "/var/www/owncloud/"

<Directory /var/www/owncloud/>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud

</Directory>

</VirtualHost>

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para verificar la configuración httpd y asegúrate de que no tienes ningún error. Si no hay ningún error, deberías obtener un mensaje de salida como‘Sintaxis OK‘.

sudo apachectl configtest

Ahora reinicia el servicio httpd para aplicar los nuevos cambios.

sudo systemctl restart httpd

Configuración de httpd

En este punto, las configuraciones básicas de LAMP Stack para la instalación de ownCloud han finalizado. Puedes acceder a tu instalación de ownCloud a través de tu dominio, pero por último, tendrás que configurar SELinux si estás ejecutando ownCloud con el modo de aplicación de SELinux.

Configurar SELinux

En este paso, establecerás la configuración de SELinux para ownCloud. En primer lugar, instalarás la herramienta de gestión de SELinux, luego configurarás el etiquetado para el código fuente de ownCloud y permitirás que el servicio httpd acceda a otros servicios.

Ejecuta el siguiente comando para instalar el paquete«policycoreutils-python-utils» para la gestión de SELinux.

sudo dnf install policycoreutils-python-utils

Introduce y cuando se te pida la configuración y pulsa ENTER para continuar.

instalar selinux management

A continuación, ejecuta el siguiente comando para configurar el etiquetado del código fuente de ownCloud.

sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/data(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/apps(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/apps-external(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/.htaccess'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/.user.ini'

sudo restorecon -Rv ‘/var/www/owncloud/’

etiquetado código fuente owncloud

Ahora ejecuta el siguiente comando para permitir los servicios httpd para acceder a otros servicios de red.

sudo setsebool -P httpd_can_network_connect_db on
sudo setsebool httpd_unified on
sudo setsebool -P httpd_can_connect_ldap on
sudo setsebool -P httpd_can_network_connect on
sudo setsebool -P httpd_can_network_memcache on
sudo setsebool -P httpd_can_sendmail on
sudo setsebool -P httpd_use_cifs on
sudo setsebool -P httpd_use_fusefs on
sudo setsebool -P httpd_use_gpg on

Ahora que el SElinux está configurado, puedes iniciar la instalación de ownCloud a través del navegador web.

configuración de selinux

Proceso de instalación de ownCloud

Ahora que has terminado la configuración de LAMP Stack y añadido el host virtual para ownCloud, también has configurado el SELinux. Ahora puedes iniciar la instalación de ownCloud desde tu navegador web.

En este paso, iniciarás la instalación de ownCloud y aprenderás a crear un nuevo directorio y a subir archivos a través del panel de usuario de ownCloud.

Abre tu navegador web y visita el nombre de dominio de tu instalación de ownCloud siguiendo la ruta‘/owncloud‘ (es decir: https://hwdomain.io/owncloud/).

Ahora deberías acceder a la página de la instalación de ownCloud.

Introduce el nuevo usuario y contraseña de administrador para tu ownCloud. A continuación, selecciona el tipo de base de datos MySQL/MariaDB e introduce los detalles de la base de datos MariaDB que has creado y, por último, haz clic en el botón«Finalizar la instalación» para continuar e instalar.

instalación de owncloud

Una vez instalado ownCloud, aparecerá la página de inicio de sesión de ownCloud.

Introduce el usuario administrador y la contraseña de tu ownCloud y haz clic en«Iniciar sesión«.

página de inicio de sesión de owncloud

Si estás utilizando el usuario administrador y la contraseña correctos, deberías obtener la página del panel de usuario de ownCloud.

Desde el panel de control de usuario de ownCloud, ahora puedes crear un nuevo directorio y subir nuevos archivos a ownCloud.

Haz clic en el botón + de la parte superior para crear un nuevo directorio y subir nuevos archivos.

panel owncloud

En la siguiente captura de pantalla, puedes ver que el nuevo directorio‘directorio-prueba‘ se ha creado con nuevos archivos subidos al directorio.

subir archivos y crear directorio

Finalizando: Configurar Cron para ownCloud

ownCloud proporciona varias formas de ejecutar el proceso en segundo plano. Deberías utilizar cron para ejecutar el proceso ownCloud en segundo plano.

Ejecuta el siguiente comando para cambiar el proceso ownCloud en segundo plano a cron.

sudo -u apache /var/www/owncloud/occ background:cron

Ahora crea un nuevo cron mediante el siguiente comando.

sudo crontab -u apache -e

Cuando se te pida que selecciones el editor, elige el que prefieras y añade al archivo la nueva configuración que aparece a continuación.

*/15  *  *  *  * /usr/bin/php -f /var/www/owncloud/occ system:cron

Guarda el archivo y sal del editor cuando hayas terminado.

configurar cron

Ahora vuelve al panel de usuario de ownCloud y haz clic en el menú de usuario de la parte superior, luego selecciona«Configuración«.

A continuación, haz clic en el menú«General» de la izquierda y en la sección«Advertencias de seguridad y configuración«, deberías ver el mensaje«Todas las comprobaciones superadas«. Has finalizado la instalación de ownCloud en Rocky Linux sin ningún error.

ajustes de seguridad

Conclusión

En este tutorial, has instalado ownCloud en un servidor Rocky Linux. Has instalado el alojamiento de archivos autoalojado ownCloud con la pila LAMP (Linux, Apache2/httpd, MariaDB/MySQL y PHP). También has asegurado la instalación de ownCloud mediante certificados SSL y ejecutando ownCLoud con SELinux activado en un servidor Rocky Linux.

Con esta instalación de ownCLoud completada, ya puedes empezar a subir archivos a tu servidor ownCloud. O si quieres continuar, ahora puedes integrar ownCloud con aplicaciones de terceros que puedan aprovechar la funcionalidad de ownCloud, como por ejemplo, desde alojamiento de archivos a herramienta de colaboración.

Scroll al inicio