Búsqueda de sitios web

Cómo instalar Nextcloud en el servidor Ubuntu 24.04


En esta página

  1. Requisitos previos
  2. Instalación de dependencias
  3. Configurando PHP
  4. Configurando el servidor MariaDB
  5. Abrir puertos HTTP y HTTPS
  6. Descargando Nextcloud
  7. Configurando el host virtual Apache para Nextcloud
  8. Instalación de Nextcloud
  9. Conclusión

Nextcloud es un software de código abierto para almacenamiento de archivos públicos y privados. Le permite crear servicios autohospedados como Dropbox, Google Drive o Mega.nz. Inicialmente, fue creado por el desarrollador original de Owncloud, Frank Karlitschek. En 2016, bifurcó el proyecto Owncloud y creó un nuevo proyecto con el nuevo nombre “Nextcloud. "

El proyecto Nextcloud está creciendo rápidamente y se está convirtiendo en algo más que un software de alojamiento de archivos. Es más como una plataforma de colaboración de contenido y sincronización de archivos. Respaldado con muchos complementos, Nextcloud se ha convertido en un software de colaboración muy poderoso. Puede instalar complementos para gestión de proyectos, videoconferencias, edición colaborativa, toma de notas, cliente de correo electrónico, etc.

Este tutorial le enseña cómo instalar Nextcloud en un servidor Ubuntu 24.04. Instalará Nextcloud con LAMP Stack y luego protegerá Netxcloud con HTTPS a través de Certbot y Letsencrypt.

Requisitos previos

Antes de comenzar, asegúrese de tener lo siguiente:

  • Un servidor Ubuntu 24.04
  • Un usuario no root con privilegios de administrador
  • Un nombre de dominio apunta a la dirección IP del servidor.
  • Un UFW (Firewall sin complicaciones) está en funcionamiento

Instalación de dependencias

En esta sección, instalará las dependencias de paquetes para Nextcloud. Ejecutará Nextcloud con LAMP Stack, usará curl para descargar el código fuente de Nextcloud y luego usará Certbot y Letsencrypt para proteger nextcloud con HTTPS.

Antes de comenzar, ejecute el siguiente comando para actualizar el índice de su paquete de Ubuntu

sudo apt update

Ahora, instale las dependencias de Nextcloud con el siguiente comando apt install. Esto instalará LAMP Stack (Linux, Apache, MySQL/MariaDB y PHP), curl, descomprimir, ImageMagick y certbot.

sudo apt install apache2 mariadb-server php php-curl php-cli php-mysql php-gd php-common php-xml php-json php-intl php-pear php-imagick php-dev php-common php-mbstring php-zip php-soap php-bz2 php-bcmath php-gmp php-apcu libmagickcore-dev php-redis php-memcached curl unzip imagemagick certbot python3-certbot-apache

Ingrese Y para confirmar la instalación.

Después de la instalación, verifique el estado del servidor web Apache usando el siguiente comando. Verá que el servidor web Apache está ejecutándose y habilitado.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Ahora verifique el estado del servidor MariaDB con el siguiente comando. Debería obtener un resultado similar mientras se ejecuta MariaDB.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Por último, ejecute el siguiente comando para verificar la versión de PHP de su sistema. Verás que PHP 8.3 está instalado.

php -v

Configurando PHP

Una vez que haya instalado las dependencias, configurará PHP editando el archivo php.ini. Puede ajustar la configuración de PHP según sea necesario para algunas opciones, como el límite máximo de memoria y el tamaño máximo de carga.

Abra el archivo /etc/php/8.3/apache2/php.ini con el editor nano.

sudo nano /etc/php/8.3/apache2/php.ini

Cambie la configuración predeterminada con lo siguiente y asegúrese de ajustar el límite de memoria con su memoria máxima y la fecha.zona horaria con la ubicación/zona horaria de su servidor.

date.timezone = Europe/Amsterdam
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 600M
max_execution_time = 300
file_uploads = On
allow_url_fopen = On
display_errors = Off
output_buffering = Off

Cuando termine, guarde el archivo y salga.

Ahora ejecute el siguiente comando systemctl a continuación para reiniciar el servidor web Apache y aplicar su nueva configuración de PHP.

sudo systemctl restart apache2

Configurando el servidor MariaDB

Ahora que ha configurado PHP, configurará el servidor MariaDB y creará una nueva base de datos y un usuario para Nextcloud. Protegerá MariaDB con la utilidad mariadb-secure-installation y luego creará una nueva base de datos y un usuario a través del cliente mariadb.

Para proteger el servidor MariaDB, ejecute el comando mariadb-secure-installation a continuación.

sudo mariadb-secure-installation

Durante el proceso, se le preguntará acerca de las siguientes configuraciones del servidor MariaDB:

  • Presione ENTER cuando se le solicite la contraseña de root de MariaDB.
  • Ingrese n cuando se le pregunte sobre el método de autenticación unix_socket.
  • Ingrese Y para configurar una nueva contraseña para el usuario root de MariaDB. Luego, ingrese la nueva contraseña y repita.
  • Ingrese Y para eliminar el usuario anónimo predeterminado de MariaDB.
  • Luego, ingrese Y nuevamente para deshabilitar el inicio de sesión remoto para el usuario root de MariaDB.
  • Ingrese Y para eliminar la prueba de base de datos predeterminada de MariaDB.
  • Por último, ingrese Y nuevamente para recargar los privilegios de la tabla y aplicar los cambios.

A continuación, ejecute el siguiente comando del cliente mariadb para iniciar sesión en el servidor MariaDB. Ingrese su contraseña de root cuando se le solicite.

sudo mariadb -u root -p

Ejecute las siguientes consultas para crear una nueva base de datos nextclouddb, un usuario nextcloud@localhost, con la contraseña passw0rd. Puede ajustar los detalles de la base de datos con su información.

CREATE DATABASE nextclouddb;
CREATE USER nextcloud@localhost IDENTIFIED BY 'passw0rd';
GRANT ALL PRIVILEGES ON nextclouddb.* to nextcloud@localhost;
FLUSH PRIVILEGES;

Ahora ejecute la siguiente consulta para asegurarse de que el usuario nextcloud@localhost pueda acceder a la base de datos nextclouddb.

SHOW GRANTS FOR nextcloud@localhost;

Verá un resultado como el siguiente:

Escriba quit para salir del servidor MariaDB.

Abrir puertos HTTP y HTTPS

En esta sección, abrirá los puertos HTTP y HTTPS para permitir el acceso a Nextcloud. Por lo tanto, debe asegurarse de que UFW esté configurado y habilitado en su servidor Ubuntu.

Para abrir los puertos HTTP y HTTPS en Ubuntu, ejecute el siguiente comando ufw. Con el perfil Apache Full permitirás conexiones a los puertos HTTP y HTTPS.

sudo ufw allow 'Apache Full'
sudo ufw reload

Ahora verifique las reglas de la lista en UFW con el siguiente comando. Asegúrese de que el perfil Apache Full esté habilitado en su servidor Ubuntu.

sudo ufw status

Descargando Nextcloud

Ahora que ha configurado PHP, MariaDB y UFW, descargará el código fuente de Nextcloud y configurará el directorio raíz de documentos para la instalación de Nextcloud.

Vaya al directorio /var/www y descargue el código fuente de Nextcloud con el comando curl a continuación.

cd /var/www/
sudo curl -o nextcloud.zip https://download.nextcloud.com/server/releases/latest.zip

Una vez descargado, ejecute el comando descomprimir a continuación para extraer Nextcloud. Esto establecerá el directorio raíz de Netxcloud en /var/www/nextcloud.

sudo unzip nextcloud.zip

Ahora ejecute el siguiente comando para cambiar la propiedad del directorio /var/www/nextcloud al usuario www-data.

sudo chown -R www-data:www-data /var/www/nextcloud

Configurando el host virtual Apache para Nextcloud

Después de descargar Nextcloud, creará un nuevo host virtual Apache para Nextcloud. Luego, generará certificados SSL y protegerá Nextcloud con HTTPS.

Cree una nueva configuración de host virtual Apache /etc/apache2/sites-available/nextcloud.conf con el siguiente nano editor.

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

Inserte la configuración a continuación y asegúrese de cambiar el nombre de dominio nextcloud.howtoforge.local.

<VirtualHost *:80>
 ServerName nextcloud.howtoforge.local
 DocumentRoot /var/www/nextcloud/
 # log files
 ErrorLog /var/log/apache2/nextclouds.howtoforge.local-error.log
 CustomLog /var/log/apache2/nextcloud.howtoforge.local-access.log combined
 <Directory /var/www/nextcloud/>
 Options +FollowSymlinks
 AllowOverride All
 <IfModule mod_dav.c>
 Dav off
 </IfModule>
 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud
 </Directory>
</VirtualHost>

Cuando termine, guarde el archivo y salga del editor.

Ahora ejecute el siguiente comando para activar el archivo de host virtual nextcloud.conf y verificar su sintaxis de Apache. Si tiene la sintaxis de Apache adecuada, obtendrá un resultado La sintaxis está bien.

sudo a2ensite nextcloud.conf
sudo apachectl configtest

A continuación, ejecute el siguiente comando systemctl para reiniciar el servidor web Apache y aplicar los cambios.

sudo systemctl restart apache2

Una vez que Apache se haya reiniciado, ejecute el siguiente comando certbot para generar certificados SSL y proteger su instalación de Nextcloud con HTTPS. Asegúrese de cambiar el nombre de dominio y la dirección de correo electrónico con su información.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email  -d nextcloud.howtoforge.local

Instalación de Nextcloud

Abra su navegador web y visite https://nexcloud.howtoforge.local/. Si su configuración es exitosa, verá la página de instalación de Nextcloud.

En la página de instalación de Nextcloud, configure lo siguiente:

  • Ingrese su usuario administrador y contraseña para Nextcloud
  • Seleccione la ruta de almacenamiento como directorio predeterminado
  • Ingrese los detalles de la base de datos de Nextcloud que ha creado
  • Haga clic en Instalar para iniciar la instalación.

Ahora puede instalar algunas aplicaciones de Nextcloud o hacer clic en Omitir.

Una vez completado el proceso, verá la siguiente página:

Conclusión

¡Felicidades! Ha completado la instalación de Nextcloud en el servidor Ubuntu 24.04. Nextcloud está en funcionamiento con LAMP Stack y está protegido con HTTPS a través de Certbot y Letsencrypt. Ahora puede crear nuevos usuarios y cargar archivos en su Nextcloud, o puede agregar nuevos métodos de almacenamiento en caché para mejorar su rendimiento.

Artículos relacionados: