Cómo instalar ownCloud en Ubuntu 22.04

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 crear un alojamiento de archivos propio en tu propio servidor. ownCloud ofrece la aplicación de servidor (el componente principal de los trajes de software ownCloud), y aplicaciones cliente que pueden instalarse 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 los eventos del calendario, almacenar archivos, imágenes y cualquier formato de archivo. Y también te permite organizar, por ejemplo, tareas, libretas de direcciones, y mucho más. ownCloud es una aplicación extensible que te permite instalar aplicaciones adicionales sobre ella.

En este tutorial, te mostraremos cómo instalar y configurar ownCloud en un servidor Ubuntu 22.04. También se trata de la instalación y configuración básica de LAMP Stack (Linux, Apache2, MariaDB y PHP) en el servidor Ubuntu.

Requisitos previos

Para esta guía necesitamos los siguientes requisitos previos

  • Un servidor Ubuntu edición 22.04.
  • Un usuario no root con privilegios de administrador root.
  • Un nombre de dominio apuntado y resuelto a la dirección IP del servidor.

Instalación de las dependencias

Antes de empezar a instalar ownCloud, debes instalar algunas dependencias de paquetes básicos en tu servidor, que incluyen un paquete como openssl, redis-server, smbclient, etc.

En primer lugar, actualiza el repositorio de Ubuntu a la última versión utilizando el comando apt que aparece a continuación.

sudo apt update

Después, instala las dependencias de los paquetes con el siguiente comando.

sudo apt install smbclient redis-server unzip openssl rsync imagemagick

Introduce Y para confirmar la instalación y pulsa ENTER para empezar. Una vez completada la instalación de todas las dependencias, pasa al siguiente paso.

instalación de dependencias

Instalación de PHP 7.4

Ahora vas a instalar las dependencias de PHP para tu instalación de ownCloud en tu servidor Ubuntu.

La última versión del repositorio de Ubuntu 22.04 proporciona la última versión de los paquetes PHP 8.1. Pero para ownCloud, necesitarás PHP 7.4 en lugar de PHP 8.1. En el estado actual, ownCloud todavía no es totalmente compatible con PHP 8.1.

Así que ahora instalarás PHP 7.4 desde el repositorio de terceros«ppa:ondrej/php» en el último servidor Ubuntu 22.04.

Ejecuta el siguiente comando para añadir el repositorio PPA de paquetes PHP. El siguiente comando también actualizará y refrescará automáticamente tu repositorio de Ubuntu.

sudo add-apt-repository ppa:ondrej/php -y

A continuación, ejecuta el siguiente comando apt para instalar PHP 7.4 en tu sistema Ubuntu. Además, el siguiente comando también instalará algunos paquetes de PHP 8.1, pero no te preocupes porque podrás configurar la versión de PHP por defecto en Ubuntu.

sudo apt install 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

A continuación, ejecuta el siguiente comando para configurar la versión por defecto de PHP en tu sistema.

sudo update-alternatives --config php

Introduce el número de la versión 7.4 de PHP y pulsa ENTER para confirmar. En este ejemplo, PHP 7.4 está disponible en el número«2».

Ahora comprueba la versión de PHP con el siguiente comando. Y verás que la versión por defecto de PHP se ha cambiado a PHP 7.4, como se requiere para la instalación de ownCloud.

php --version

configurar la versión de php por defecto

Ahora ejecuta el siguiente comando para configurar otra versión de las herramientas PHP a PHP 7.4.

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

A continuación, también tendrás que actualizar PEAR a la última versión estable para ownCloud. La última versión estable de PEAR en este momento es la v1.10.13., que se puede actualizar manualmente.

Crea un nuevo directorio temporal /tmp/pear/cache con el siguiente comando.

sudo mkdir -p /tmp/pear/cache

Actualiza la versión de PEAR a la 1.10 .13 utilizando el comando pear que aparece a continuación.

sudo pear upgrade --force \
      --alldeps http://pear.php.net/get/PEAR-1.10.13

Ahora ejecuta los siguientes comandos pear para borrar la caché, actualizar los canales y actualizar todo.

sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade --force
sudo pear upgrade-all

Una vez completado el proceso de actualización, comprueba la versión de PEAR utilizando el siguiente comando. Y deberías ver que la versión de PEAR se ha actualizado a la v1.10.13.

pear version

comprueba la versión de la pera

Instalar el servidor web Apache2

Ahora es el momento de instalar el servidor web Apache2 para ownCloud, que también habilita los módulos necesarios para ownCloud.

Instala el servidor web Apache2 con el siguiente comando apt.

sudo apt install libapache2-mod-php7.4 apache2

Introduce Y para confirmar la instalación y pulsa ENTER para iniciar la instalación.

Ahora, una vez completada la instalación, ejecuta el comando a2enmod que aparece a continuación para habilitar algunos de los módulos de Apache2 que necesita ownCloud.

sudo a2enmod rewrite env dir mime unique_id headers ssl

activar los módulos de apache2

Reinicia el servicio Apache2 para aplicar los nuevos cambios.

sudo systemctl restart apache2

Instalar el servidor MariaDB

Después de haber instalado PHP 7.4 y el servidor web Apache2, ahora es el momento de instalar el servidor MariaDB. Por defecto, ownCloud soporta varios RDBMS como MySQL/MariaDB, SQLite, PostgreSQL y Oracle. La forma más fácil, gratuita y recomendada para el despliegue de ownCloud es utilizar la base de datos MySQL/MariaDB.

Ejecuta el siguiente comando apt para instalar el paquete del servidor MariaDB.

sudo apt install mariadb-server

Introduce Y para confirmar la instalación y pulsa ENTER para empezar. Ahora comenzará la instalación.

instalar mariadb

Una vez completada la instalación de MariaDB, ejecuta el siguiente comando para configurar y asegurar la implantación de MariaDB.

sudo mysql_secure_installation

A continuación se te pedirán algunas configuraciones básicas de MariaDB:

  • Introduce la nueva contraseña de root de MariaDB y repite.
  • Opcionalmente, introduce Y para cambiar la autenticación a la autenticación unix_socket.
  • Introduce Y para eliminar el usuario anónimo por defecto de la implementación del servidor MariaDB.
  • Introduce Y para desactivar el inicio de sesión remoto para el usuario raíz de MariaDB.
  • Introduce Y de nuevo para eliminar la base de datos por defecto «test» de tu sistema MariaDB.
  • Por último, introduce Y de nuevo para recargar todos los privilegios de las tablas y aplicar los nuevos cambios al servidor MariaDB.

Una vez que hayas completado la implantación del servidor MariaDB, ejecuta el comando mysql que aparece a continuación para entrar en el shell de MariaDB.

mysql -u root -p

Ejecuta las siguientes consultas para crear una nueva base de datos MariaDB y un nuevo usuario para ownCloud. En este ejemplo, el usuario y la base de datos se llamarán«owncloud» con la contraseña«owncloudpass«.

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 owncloud

Ahora verifica los privilegios del usuario MariaDB «owncloud» utilizando la siguiente consulta. Asegúrate de que el usuario «owncloud» tiene acceso y privilegios a la base de datos«owncloud«.

SHOW GRANTS FOR 'owncloud'@'localhost';

comprobar los privilegios de los usuarios de owncloud

Descarga el código fuente de OwnCloud

Llegados a este punto, has completado la configuración básica de LAMP Stack (Linux, Apache2, MariaDB y PHP) para la instalación de ownCloud. Ahora vas a descargar el código fuente de ownCloud en tu sistema.

Primero, ve al directorio /var/www/ con el siguiente comando.

cd /var/www/

Ahora descarga la última versión del código fuente de ownCloud y el archivo de suma de comprobación mediante el comando wget que aparece a continuación. Y verás un nuevo archivo«owncloud-complete-latest.tar.bz2» para el código fuente de ownCloud y el«owncloud-complete-latest.tar.bz2.sha256» para el archivo de suma de comprobación.

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

A continuación, ejecuta la verificación con el comando sha256sum que aparece a continuación. Si la verificación es un éxito, verás el mensaje de salida como«OK«.

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

descargar y verificar owncloud

Después, extrae el código fuente de ownCloud utilizando el siguiente comando. Y deberías ver un nuevo directorio llamado«owncloud«, que se utilizará como directorio DocumentRoot/WebRoot para tu instalación de ownCloud«/var/www/owncloud«.

tar -xf owncloud-complete-latest.tar.bz2

Por último, cambia la propiedad del directorio «owncloud» a«www-data» con el siguiente comando.

sudo chown -R www-data:www-data owncloud

Configurar el host virtual Apache2 para ownCloud

Ahora vas a configurar el host virtual Apache2 para ownCloud. En este ejemplo, utilizaremos el nombre de dominio «hwdomain.io» para la instalación de ownCloud con HTTPS/SSL seguro activado sobre el servidor web Apache2.

Crea un nuevo archivo de host virtual«/etc/apache2/sites-available/owncloud.conf» utilizando el editor nano.

sudo nano /etc/apache2/sites-available/owncloud.conf

Añade la siguiente configuración de Apache2 al archivo. Además, asegúrate de cambiar el nombre de dominio y la ruta de los certificados SSL con un detalle de tu configuración. Con esta configuración, tu instalación de ownCloud estará disponible en la ruta URL«/owncloud» (es decir, https://hwdomain.io/owncloud)

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

Protocols h2 http:/1.1

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

ErrorLog ${APACHE_LOG_DIR}/hwdomain.io-error.log
CustomLog ${APACHE_LOG_DIR}/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>

Ahora guarda y cierra el archivo cuando hayas terminado.

A continuación, activa la configuración del host virtual«owncloud.conf» utilizando el siguiente comando.

sudo a2ensite owncloud.conf

Comprueba y verifica la configuración de Apache2 utilizando el siguiente comando. Si la configuración es correcta, verás un mensaje de salida como«Sintaxis: OK«.

sudo apachectl configtest

Por último, ejecuta el siguiente comando para reiniciar el servidor web Apache2 y aplicar la nueva configuración del host virtual «owncloud.conf». Ahora estás listo para iniciar el asistente de instalación de ownCloud desde el navegador web, pero opcionalmente también puedes iniciar el asistente de instalación de ownCloud desde la línea de comandos.

sudo systemctl restart apache2

Iniciar el asistente de instalación de ownCloud

Para completar la instalación de ownCloud, tienes que acceder al asistente de instalación de ownCloud y configurar una base de datos de detalles y un usuario administrador para ownCloud. Y esto se puede hacer de dos maneras diferentes, utilizando un navegador web, o utilizando la línea de comandos desde el servidor de terminales.

En este ejemplo, accederás al asistente de instalación de ownCloud a través de la línea de comandos desde el servidor de terminales.

Cambia tu directorio de trabajo al directorio DocumentRoot de ownCloud«/var/www/owncloud«.

cd /var/www/owncloud

Ahora ejecuta el siguiente comando para completar la instalación de ownCloud. Asegúrate de cambiar los detalles de la base de datos y el nuevo usuario y contraseña de administrador. Cuando todo se haya completado, verás el mensaje de salida como«ownCloud se ha instalado con éxito» en la pantalla de tu terminal.

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

instalar owncloud

A continuación, tendrás que editar la configuración de ownCloud«/var/www/owncloud/config/config.php» utilizando el editor nano.

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

Añade el dominio de tu instalación de ownCloud a la configuración«trusted_domains» como se indica a continuación. En este ejemplo, el dominio de instalación de ownCloud es«hwdomain.io«.

  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'hwdomain.io',
  ),

Guarda y cierra el archivo cuando hayas terminado.

A continuación, abre tu navegador web e introduce el nombre de dominio de tu instalación de ownCloud (es decir, https://hwdomain.io/owncloud/) en la barra de direcciones. Ahora deberías ver la página de inicio de sesión de ownCloud.

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

página de inicio de sesión de owncloud

Si tu nombre de usuario y contraseña son correctos, ahora verás el panel de usuario de ownCloud. Esto significa que has instalado con éxito ownCloud en tu servidor Ubuntu.

panel de control de owncloud

Ajuste del rendimiento de ownCloud

Llegados a este punto, ownCloud ya está en funcionamiento. Pero, todavía tienes que añadir algunas configuraciones adicionales para obtener más rendimiento. Ahora vas a configurar los trabajos en segundo plano para ownCloud utilizando cron y a configurar el sistema de caché utilizando Redis.

Ejecuta el siguiente comando para cambiar el trabajo en segundo plano de ownCloud a«cron«.

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

A continuación, crea una nueva configuración de cron para ownCloud utilizando el siguiente comando. Si no tienes el editor por defecto en tu sistema, se te pedirá que selecciones el editor que quieres utilizar.

sudo crontab -u www-data -e

Selecciona el editor que quieras utilizar y añade la configuración del cron como se indica a continuación.

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

Guarda y cierra el archivo cuando hayas terminado.

A continuación, para configurar el sistema de caché de ownCloud, tendrás que modificar el config.php de configuración de ownCloud.

Edita el archivo «/var/www/owncloud/config/config.php» utilizando el editor nano.

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

Ahora añade la siguiente configuración al archivo.

<?php>
....
....
'filelocking.enabled' => true,
'memcache.local' => '\OC\Memcache\APCu',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
],

....
....
);

Guarda y cierra el archivo cuando hayas terminado.

Para verificar tu configuración, puedes ir al menú«Admin > Configuración» en el panel de control de ownCloud.

Ve al menú «General» en el lado izquierdo y comprueba la sección«Avisos de seguridad y configuración«. Si ves un mensaje como«Todas las comprobaciones superadas«, entonces tu instalación y configuración de ownCloud son correctas y están completas. Pero si hay una advertencia, deberías ver información detallada sobre la configuración que incluya la recomendación de enlaces para resolver esa advertencia.

También te podría gustar...