• Inicio
  • VMware
  • Veeam
  • Office 365
  • Linux
  • Varios
Menu
  • Inicio
  • VMware
  • Veeam
  • Office 365
  • Linux
  • Varios
Home  /  Linux  /  Instalar Nextcloud 28.01 en Ubuntu 22.04
imagen_destacada_nextcloud28
17 enero 2024

Instalar Nextcloud 28.01 en Ubuntu 22.04

Written by Eduardo Diaz
Linux nextcloud 1 Comment

Saludos a todos y bienvenidos a una nueva entrada, que servirá como actualización de la primera entrada publicada en este blog.

Ya han pasado unos años, y si bien la base es prácticamente igual, si que se requiere algún módulo adicional, diferentes versiones de PHP, etc.

¡Por ello, y para que os resulte más sencillo, os dejo la versión actualizada!

1. Preparación máquina Ubuntu 22.04

En primer lugar, instalaremos Apache y MySQL

sudo apt update
sudo apt install apache2
sudo apt install mysql-server

Y securizaremos la instancia:

sudo mysql_secure_installation

Nos preguntará si deseamos establecer un componente de contraseñas seguras y establecer una contraseña para el usuario root, así como darnos opciones relativas al login remoto, eliminación de la bbdd “test” que nos crea automáticamente, etc.

Una vez finalizado, abriremos MySQL y comenzaremos con la creación y conexionado de la base de datos:

sudo mysql
create database nextcloud;
create user 'nextcloud'@'localhost' identified by 'mipassword';
grant all privileges on nextcloud.* to 'nextcloud'@'localhost';
flush privileges;
quit

Aquí como véis, estamos creando el user llamado “nextcloud” con su contraseña correspondiente, así como la Base de Datos denominada “nextcloud” también. También estamos asignando permisos sobre dicha Base de Datos al usuario recien creado.

Para terminar la preparación de la máquina, instalaremos PHP y sus componentes necesarios. En este caso, en su versión 8.3:

sudo apt-get install ca-certificates apt-transport-https software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt install php8.3

Ahora comprobaremos que se ha instalado correctamente:

php8.3 --version

Si todo está correcto, deberíamos obtener un output como el siguiente:

PHP 8.3.1 (cli) (built: Dec 21 2023 20:12:13) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.1, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.1, Copyright (c), by Zend Technologies

Ahora que PHP está instalado, procederemos con los componentes requeridos:

sudo apt install php8.3-gd php8.3-mysql php8.3-curl php8.3-mbstring
sudo apt install php8.3-intl php8.3-gmp php8.3-bcmath php8.3-xml
sudo apt install php8.3-zip php8.3-bz2 php-imagick php-apcu

Ahora si, tenemos nuestra máquina preparada para la instalación de Nextcloud.

1. Instalación de Nextcloud

Ahora es un poquito más difícil encontrar el enlace necesario de descarga, debido a la popularización de esta herramienta directamente lanzada desde contenedores. Nos dirigimos a https://nextcloud.com , y vamos a Nextcloud Server

Nextcloud - Instalar Nextcloud 28.01 en Ubuntu 22.04

Una vez dentro, hacemos scroll-down hasta llegar al apartado “Descargar Servidor”, donde expandiremos “Proyectos Comunitarios”, para poder obtener nuestro enlace de descarga haciendo click derecho donde aparece indicado, y “copiando” en enlace.

nextcloud2 1024x633 - Instalar Nextcloud 28.01 en Ubuntu 22.04

Con el enlace copiado, procedemos a la descarga del .zip y su extracción:

wget https://download.nextcloud.com/server/releases/latest.zip
sudo apt install unzip
sudo unzip latest.zip -d /var/www
cd /var/www
sudo chown -R www-data:www-data nextcloud/

y configuraremos Apache para poder acceder a nuestra instalación:

sudo a2enmod headers env dir mime
cd /etc/apache2/sites-available/
sudo vi 000-default.conf

Editaremos el archivo 000-default.conf (ya sea con vi, nano…), y lo dejaremos de la siguiente manera:

<VirtualHost *:80>
        #ServerAdmin webmaster@localhost
        DocumentRoot /var/www/nextcloud
        <Directory /var/www/nextcloud/>
                Require all granted
                AllowOverride All
                Options FollowSymLinks Multiviews
                <Ifmodule mod_dav.c>
                        Dav off
                </IfModule>
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Si quisiésemos acceder desde el exterior a nuestra instancia de Nextcloud, añadiríamos debajo de la línea “Document Root” los siguientes datos:

ServerName cloud.tudominio.com

Por último, reiniciamos Apache para aplicar los cambios realizados en el archivo .conf

sudo service apache2 restart

En este punto, ya podríamos acceder a nuestra instancia de Nextcloud mediante la IP de nuestro navegador, donde introduciremos los datos relativos a la base de datos creada anteriormente y crearemos nuestro usuario administrador.

3. Optimización de la instalación

Si nos dirigimos a “Configuraciones de Administración”, veremos unos errores que corregiremos a continuación:

3.1 – Corrección error límite memoria PHP

Para corregir este error, accederemos a nuestra máquina y modificaremos el archivo php.ini en la línea relativa a “memory-limit” a 512M

sudo vi /etc/php/8.3/apache2/php.ini
sudo service apache2 restart

3.2 – Error región de teléfonos asociada

Para solventar esta incidencia, editaremos el archivo config.php de nuestro directorio de Nextloud:

sudo vi /var/www/nextcloud/config/config.php

Y añadiremos estas dos líneas al final del mismo:

'default_phone_region' => 'ES',
'memcache.local' => '\OC\Memcache\APCu',

3.3 – Problema de resolución “caldav” y “carddav”

Volveremos a editar el archivo .conf relativo a nuestro site:

vi /etc/apache2/sites-available/000-default.conf

Y lo dejaremos como se indica a continuación. Recuerda volver a añadir la línea ServerName si la añadiste durante la modificación inicial del .conf, ya que lo que te pongo a continuación no lleva dicha línea:

<VirtualHost *:80>

     DocumentRoot /var/www/nextcloud

    <Directory /var/www/nextcloud/>
        Require all granted
        AllowOverride All
        Options FollowSymLinks MultiViews

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

        RewriteEngine On
        RewriteRule ^/\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
        RewriteRule ^/\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
        RewriteRule ^/\.well-known/host-meta https://%{SERVER_NAME}/public.php?service=host-meta [QSA,L]
        RewriteRule ^/\.well-known/host-meta\.json https://%{SERVER_NAME}/public.php?service=host-meta-json [QSA,L]
        RewriteRule ^/\.well-known/webfinger https://%{SERVER_NAME}/public.php?service=webfinger [QSA,L]

    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Tras esto, habilitaremos el módulo añadido y reiniciaremos Apache:

sudo a2enmod rewrite
service apache2 restart

3.4 – Incidencia módulo PHP-IMAGICK

Este módulo fue instalado durante la preparación de la VM, pero no es reconocido por la instalación de la plataforma. Lo eliminamos e instalamos nuevamente:

sudo apt remove imagemagick-6-common
sudo apt remove php-imagick
sudo apt autoremove
sudo apt install php-imagick imagemagick
service apache2 restart

3.5 – Configuración SSL y navegación segura

Editaremos el archivo default-ssl.conf . Si disponemos de un dominio y un certificado SSL válido, editarlo de forma correspondiente para que apunte a su ubicación.

vi /etc/apache2/sites-available/default-ssl.conf

Y dejaremos el archivo como se muestra a continuación:

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerName nextcloud.tudominio.com
                SSLEngine On
                SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
                SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
                DocumentRoot /var/www/nextcloud/

        <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
                RewriteEngine On
                RewriteRule ^/\.well-known/carddav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
                RewriteRule ^/\.well-known/caldav https://%{SERVER_NAME}/remote.php/dav/ [R=301,L]
                RewriteRule ^/\.well-known/host-meta https://%{SERVER_NAME}/public.php?service=host-meta [QSA,L]
                RewriteRule ^/\.well-known/host-meta\.json https://%{SERVER_NAME}/public.php?service=host-meta-json [QSA,L]
                RewriteRule ^/\.well-known/webfinger https://%{SERVER_NAME}/public.php?service=webfinger [QSA,L]

        </Directory>

        <IfModule mod_headers.c>
                Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
        </IfModule>

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

        </VirtualHost>

Una vez salvado, cargamos los módulos correspondientes y reiniciamos Apache:

sudo a2ensite default-ssl.conf
sudo a2enmod ssl
sudo a2enmod rewrite
service apache2 restart

3.6 – Configuración CRON

Si nos dirigimos a “Ajustes Básicos” dentro de nuestra instancia de Nextcloud, veremos que aparece AJAX habilitado, y nos recomienda cambiarlo a CRON. Lo cambiamos, y configuraremos el cronjob:

sudo crontab -u www-data -e

Seleccionamos la opción 1 (/bin/nano), y añadimos esta línea al final del archivo:

*/5  *  *  *  * php -f /var/www/nextcloud/cron.php

Con esto habremos finalizado la instalación y configuración de Nextcloud.

¡Compártelo!
Share on Facebook
Share on Twitter
Share on LinkedIn
Share on Whatsapp
Eduardo Diaz
Connect on Twitter Connect on Linkedin

Técnico de Sistemas en Emibin Consulting S.L. Apasionado de la tecnología, videojuegos y series. Redactor del blog Edudima.com

 Previous Article ESXi 7 u2 – “Status of other host hardware objects error”
Next Article   Heimdall en Ubuntu 22.04 – Dashboard para nuestras aplicaciones

Related Posts

  • Nextcloud 21 en Ubuntu

    Instalar Nextcloud 21 en Ubuntu 20.04

    5 05+02:00 abril 05+02:00 2021

1 Comment

  1. Pingback: instalar nextcloud debian12 – trabajo carabanchel

Deja un comentarioCancelar respuesta

Buscar

Redes Sociales

  • Connect on Twitter
  • Connect on LinkedIn
  • Connect on Github

¡Suscríbete!

Introduce tu correo electrónico para recibir avisos de nuevas entradas.

Entradas recientes

  • VMware – Añadir almacén de datos conectado a ESXi por USB-C
  • VMware – Instalando ESXi 8.0.2 en Intel NUC
  • Windows Server 2022 – Error Sysprep
  • Particiones en Windows Server 2022 – Modificación Layout por defecto
  • Heimdall en Ubuntu 22.04 – Dashboard para nuestras aplicaciones
  • Popular Posts
  • Recent Posts
  • Migrar IMAP OFFICE365
    Migración buzones correo IMAP a Office 365 12 12+02:00 abril 12+02:00 2021
  • setup inicial udm pro
    Setup inicial UniFi Dream Machine Pro 26 26+02:00 mayo 26+02:00 2021
  • unboxing udm pro
    UniFi Dream Machine Pro – Unboxing 24 24+02:00 mayo 24+02:00 2021
  • esxi usb-c
    VMware – Añadir almacén de datos conectado a ESXi por USB-C 27 27+02:00 abril 27+02:00 2024
  • esxi usb-c
    VMware – Añadir almacén de datos conectado a ESXi por USB-C 27 27+02:00 abril 27+02:00 2024
  • nuc esxi8
    VMware – Instalando ESXi 8.0.2 en Intel NUC 19 19+02:00 abril 19+02:00 2024
  • windows server 2022 sysprep
    Windows Server 2022 – Error Sysprep 16 16+02:00 abril 16+02:00 2024
  • layout_particiones
    Particiones en Windows Server 2022 – Modificación Layout por defecto 27 27+02:00 enero 27+02:00 2024
enero 2024
LMXJVSD
1234567
891011121314
15161718192021
22232425262728
293031 
« Jun   Abr »
  • Política de Privacidad
  • Política de Cookies
Edudima @ 2024  -  Todos los derechos reservados
Este Blog usa cookies propias y de terceros para optimizar la navegación y que puedas ver correctamente su contenido, ofrecer funciones de redes sociales, analizar el tráfico y otras. Para más información o para conocer cómo cambiar la configuración de tu navegador, lee nuestra Política de Cookies
AJUSTES DE COOKIESACEPTAR
Administrar consentimiento

Resumen de privacidad

Este sitio web utiliza cookies para mejorar tu experienta mientras navegas. Además de esto, las cookies que están categorizadas como necesarias, son almacenadas en tu navegador ya que son necesarias para el funcionamiento y las funcionalidades básicas de este sitio web. También se usan cookies de terceros que nos permiten analizar y entender como se usa este sitio web. Estas cookies serán almacenadas en tu navegador solamente con tu consentimiento. Tienes la opción de renunciar a estas cookies, pero hacerlo puede afectar a tu experiencia de navegación.
Sociales
Las cookies sociales son instaladas por los proveedores de servicios de redes sociales, al compartir determinados contenidos de la web mediante dichas redes.
Analíticas
Las cookies analíticas son utilizadas para el seguimiento y análisis estadístico del comportamiento del conjunto de los usuarios.
Necesarias
Son cookies técnicas necesarias para garantizar el correcto funcionamiento de este sitio web. Recogen información del mismo, y ayudan a la localización y solución de problemas del sitio.
GUARDAR Y ACEPTAR
Funciona con CookieYes Logo