GNU/Linux >> Tutoriales Linux >  >> Rocky Linux

Cómo instalar Nextcloud en Rocky Linux

Nextcloud es un software gratuito y de código abierto que le permite crear servicios de alojamiento de archivos como Dropbox, Google Drive o Mega.nz. Fue creado por el desarrollador original de owncloud, Frank Karlitschek. En 2016, bifurca el Owncloud proyecto y crea un nuevo proyecto con el nombre "Nextcloud ".

En este momento, Nextcloud El proyecto crece rápidamente y se convierte en más que un software de alojamiento de archivos. Con el apoyo de muchos complementos, Nextcloud se convierte en un software de colaboración de este tipo. Puede instalar complementos para gestión de proyectos, videoconferencias, edición colaborativa, toma de notas, cliente de correo electrónico, etc.

En esta guía, aprenderá a instalar Nextcloud en Rocky Linux 8.4. Instalará Nextcloud bajo LAMP Stack (Linux, Apache2/httpd, MySQL/MariaDB y PHP).

Requisitos

  • Un servidor Rocky Linux. Asegúrese de que todos los paquetes estén actualizados a la última versión.
  • Un usuario con privilegios de raíz. Este usuario obtendrá los privilegios de root a través del comando sudo.

Instalando el Servidor Web Apache/Httpd

Al principio, instalará el servidor web Apache o httpd en el servidor Rocky Linux.

1. Ejecute el siguiente comando dnf para instalar el servidor web httpd.

sudo dnf install httpd

Escriba "y " y presione "Entrar " para confirmar e instalar paquetes httpd.

2. Si la instalación está completa, habilite e inicie el servicio httpd con el siguiente comando.

sudo systemctl enable httpd
sudo systemctl start httpd

El "habilitar systemctl El comando " permitirá que el servicio se inicie en cada arranque.

3. Después de eso, ejecute el siguiente comando para verificar el servicio httpd.

sudo systemctl status httpd

Y obtendrá un resultado similar al siguiente.

Como se ve en la captura de pantalla superior, el httpd está activo y ejecutándose.

Instalando PHP en Rocky Linux

Por ahora, Nextcloud necesita PHP 7.4 o superior para la instalación. Ahora instalará PHP 7.4 desde el repositorio de remi.

1. Ejecute el siguiente comando para agregar epel y remi Repository

sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Escriba "y " y presione "Entrar " para agregar el repositorio epel y remi.

Cuando se complete la instalación, verifique el repositorio de epel y Remi usando el siguiente comando.

sudo dnf repolist

Verá el repositorio epel y remi en la lista de repositorios.

2. A continuación, restablezca el módulo PHP del repositorio predeterminado. Luego habilite el módulo para PHP 7.4 desde el repositorio de remi.

Ejecute el siguiente comando para restablecer el repositorio del módulo php predeterminado.

sudo dnf module reset php

En el proceso, escriba "y " y presione "Entrar " para agregar el repositorio de claves gpg remi.

Después de eso, ejecute el siguiente comando para habilitar el módulo php desde el repositorio de remi.

sudo dnf module enable php:remi-7.4

Escriba "y " para confirmar y presione "Enter " para continuar. Ahora está listo para instalar PHP y todas las extensiones para la instalación de WordPress.

3. Ejecute el siguiente comando para instalar php con algunas extensiones necesarias.

sudo dnf install php php-ctype php-curl php-gd php-iconv php-json php-libxml php-mbstring php-openssl php-posix php-session php-xml php-zip php-zlib php-pdo php-mysqlnd php-intl php-bcmath php-gmp php-imagick php-apcu

4. Una vez completada la instalación de PHP, edite la configuración "php.ini " usando el editor nano.

nano /etc/php.ini

Cambie el valor predeterminado con la configuración a continuación.

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

Presiona "Ctrl+x " y escriba "Y " para guardar la configuración y salir.

La configuración importante que debe conocer:

  • Para la producción de Nextcloud, necesita el "memory_limit " más de 512 MB.
  • El "upload_max_filesize La opción " le permite configurar el tamaño máximo de carga a su servidor Nextcloud.
  • El "post_max_size " la opción debe ser más alta que "upload_max_filesize " opción.
  • La "fecha.zonahoraria " la opción debe coincidir con la hora local del sistema "/etc/localtime ".
  • Aumente el "max_execution_time " dependiendo de la carga de su servidor.

5. A continuación, cambie el directorio de trabajo a "/etc/php.d/ " y edite la configuración "10-opcache.ini " usando el editor nano.

cd /etc/php.d/
nano 10-opcache.ini

Agregue la siguiente configuración para habilitar el complemento opecache de PHP.

opcache.enable = 1
opcache.interned_strings_buffer = 8
opcache.max_accelerated_files = 10000
opcache.memory_consumption = 128
opcache.save_comments = 1
opcache.revalidate_freq = 1

Presiona la tecla "Ctrl+x botón " y escriba "Y " para guardar la configuración y salir.

6. Para aplicar una nueva configuración PHP, reinicie el servicio httpd usando el siguiente comando.

sudo systemctl restart httpd

Instalando y configurando MariaDB

Para esta etapa, instalará el servidor de la base de datos mariadb, asegurará la implementación de mariadb y creará una nueva base de datos y un usuario para Nextcloud.

1. Para instalar el servidor de base de datos mariadb, ejecute el siguiente comando.

sudo dnf install mariadb mariadb-server

Espere a que se instale mariadb.

2. Una vez completada la instalación, habilite e inicie el servicio mariadb con el siguiente comando.

sudo systemctl enable mariadb
sudo systemctl start mariadb

4. El mariadb estará activo y ejecutándose, ejecute el siguiente comando para verificar el servicio mariadb.

sudo systemctl status mariadb

Si el servicio mariadb se está ejecutando, obtendrá un resultado similar al siguiente.

5. A continuación, debe asegurar su implementación de mariadb configurando la contraseña raíz para mariadb y eliminando algunas configuraciones predeterminadas. Para ello, puede utilizar la herramienta de línea de comandos 'mysql_secure_installation ', que se incluye en la instalación predeterminada de mariadb.

Ejecute "mysql_secure_installation " Comando a continuación.

mysql_secure_installation

Al principio, se le pedirá que configure la contraseña raíz de mariadb.

Escriba su contraseña segura de root de mariadb y repita, luego presione "Enter " para continuar.

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!

Ahora escriba "Y " y presione "Entrar " para eliminar el usuario anónimo predeterminado del servidor mariadb.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
 ... Success!

Después de eso, deshabilite el inicio de sesión remoto para el usuario predeterminado 'root '. Escribe "Y " y presione "Entrar " para continuar.

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y
 ... Success!

Escribe "Y " de nuevo para eliminar la base de datos predeterminada "test " y presione "Entrar ".

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Y el último, escriba "Y " de nuevo para recargar todos los privilegios de las tablas para aplicar una nueva configuración.

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
 ... Success!

Ahora el proceso está completo y verá el siguiente resultado.

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Creando base de datos para Nextcloud

1. Inicie sesión en el shell de mariadb usando el siguiente comando mysql.

mysql -u root -p

2. Ahora ejecute la siguiente consulta mysql para crear una nueva base de datos "nextcloud_db".

CREATE DATABASE netxcloud_db;

3. Ejecute la siguiente consulta para crear un nuevo usuario de base de datos "nextuser ". Cambie la "contraseña fuerte " con su contraseña segura.

CREATE USER [email protected] IDENTIFIED BY 'StrongPassword';

4. Permita que el usuario "nextuser " para acceder y escribir el "nextcloud_db " usando la siguiente consulta.

GRANT ALL PRIVILEGES ON netxcloud_db.* TO [email protected];

5. Ahora vuelva a cargar todos los privilegios de las tablas para aplicar la nueva configuración de la base de datos.

FLUSH PRIVILEGES;

Luego puede escribir "salir " y presione "Entrar " para salir del shell de mariadb.

Descargar código fuente de Nextcloud

1. Cambie el directorio de trabajo a "/var/www " y descargue la última versión del código fuente de Nextcloud usando el comando wget como se muestra a continuación.

cd /var/www/
wget https://download.nextcloud.com/server/releases/nextcloud-22.1.0.zip

2. Extraiga el código fuente de Nextcloud "nextcloud-xx.zip " y obtendrá un nuevo directorio "nextcloud ", luego cambie el propietario de la "nextcloud " directorio a "apache " usuario.

unzip nextcloud-22.1.0.zip
chown -R apache:apache nextcloud

Ahora está listo para configurar el host virtual httpd para Nextcloud.

Habilitar módulo Apache/Httpd mod_ssl

Para este tutorial, instalará Nextcloud y se asegurará con SSL de Letsencrypt. Por lo tanto, debe habilitar mod_ssl para el servidor httpd en Rocky Linux.

1. Instale el paquete "mod_ssl " usando el comando dnf a continuación.

sudo dnf install mod_ssl mod_http2

2. Después de eso, genere el SSL predeterminado para localhost usando el comando openssl a continuación. Pero si ya tiene certificados "/etc/pki/tls/private/localhost.key " y "/etc/pki/tls/certs/localhost.crt ", puede omitir esta etapa.

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crt

Puede presionar Intro para todas las preguntas porque este certificado solo se usará para localhost, no para el nombre de dominio de WordPress.

3. Ahora ejecute el siguiente comando para asegurarse de que mod_ssl está disponible en el servidor web httpd.

apachectl -M | grep ssl

Si tiene un resultado como "ssl ", entonces mod_ssl está habilitado. De lo contrario, obtendrá una salida en blanco.

Generando SSL Letsencrypt con Certbot

En esta etapa, instalará la herramienta cerbot y generará los certificados SSL para la instalación de WordPress. Generará SSL Letsencrypts con el complemento webroot.

1. Ejecute el siguiente comando para instalar la herramienta certbot para generar SSL Letsencrypt.

sudo dnf install certbot

Espere el proceso de instalación.

2. Una vez que se complete la instalación, cree un nuevo directorio para la autorización de letsencrypt usando los siguientes comandos.

sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt

3. A continuación, cambie el directorio de trabajo a "/etc/httpd/conf.d/ " y cree una nueva configuración "well-known.conf " usando el editor nano.

cd /etc/httpd/conf.d/
nano well-known.conf

Agregue las siguientes configuraciones.

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
<Directory "/var/lib/letsencrypt/">
    AllowOverride None
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

Presiona "Ctrl+x " y escriba "y " para guardar y salir.

4. Ahora ejecute los siguientes comandos para verificar la configuración de httpd y reinicie el servicio httpd.

apachectl configtest
sudo systemctl restart httpd

Si no tiene ningún error, está listo para generar SSL Letsencrypt con el complemento webroot.

5. Antes de generar SSL Letsencrypt, asegúrese de que su nombre de dominio se resuelva en la dirección IP del servidor. Después de eso, puede generar SSL Letsencrypt con el complemento webroot ejecutando el comando certbot a continuación. Además, cambie la dirección de correo electrónico y el nombre de dominio por los suyos propios.

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d files.domain.com -d 

Cuando se complete el proceso, sus certificados SSL estarán disponibles en "/etc/letsencrypt/live/files.domain.com/ " directorio.

Configurando Apache Virtual Host para Nextcloud

En este paso, agregará una nueva configuración de servidor virtual apache/httpd para Nextcloud.

1. Cambie el directorio de trabajo a "/etc/httpd/conf.d " y crea una nueva configuración "nextcloud.conf " usando el editor nano.

cd /etc/httpd/conf.d/
nano nextcloud.conf

Cambie el nombre de dominio detallado y el directorio de la ruta SSL por los suyos y pegue la configuración en "nextcloud.conf " archivo.

<VirtualHost *:80>
    ServerName files.domain.com
    ServerAlias www.files.domain.com

    # auto redirect HTTP to HTTPS
    Redirect permanent / https://files.domain.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName files.domain.com
    ServerAlias www.files.domain.com
 
    DocumentRoot /var/www/nextcloud/

    Protocols h2 http/1.1

    # auto redirect www to non-www
    <If "%{HTTP_HOST} == 'www.files.domain.com'">
        Redirect permanent / https://files.domain.com/
    </If>

    # log files
    ErrorLog /var/log/httpd/files.domain.com-error.log
    CustomLog /var/log/httpd/files.domain.com-access.log combined

    SSLEngine On
    SSLCertificateFile /etc/letsencrypt/live/files.domain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/files.domain.com/privkey.pem

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

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

Presiona "Ctrl+x " y escriba "Y " para guardar la configuración y salir.

3. A continuación, ejecute el siguiente comando para verificar la configuración de httpd.

sudo apachectl configtest

Si no obtiene ningún error, reinicie el servicio httpd usando el siguiente comando.

sudo systemctl restart httpd

Ahora está listo para la instalación de Nextcloud a través del navegador web.

Instalando Nextcloud

Si toda la configuración del servidor relacionada está completa, puede acceder a su instalación de Nextcloud con el navegador web.

1. Abra su navegador web y escriba la dirección URL de su instalación de Nextcloud.

http://archivos.dominio.com

Ahora será redirigido a la conexión HTTPS segura y obtendrá la página de la siguiente manera.

  • En la sección "Crear una cuenta de administrador", escriba un nuevo nombre de usuario y contraseña para su administrador.
  • Para la sección "Carpeta de datos", déjela como predeterminada por ahora.
  • En la sección "Configurar la base de datos", elija "MySQL/MariaDB" y escriba los detalles de la configuración de la base de datos
  • Además, puede instalar aplicaciones recomendadas marcando la opción de casilla. O desmarque la casilla de opción si no lo desea.

Después de eso, puede hacer clic en "Finalizar configuración botón ".

2. Una vez que se complete el proceso de instalación, verá el panel de control predeterminado de Nextcloud como se muestra a continuación.

3. Ahora haga clic en el menú "Archivos " y verá la lista de archivos y carpetas del panel de usuario.

4. Para acceder a la página administrativa, haga clic en el perfil de usuario en la parte superior y seleccione "Configuración ".

En "Administrativo ", puede cambiar la configuración predeterminada de Nextcloud.

5. Para agregar nuevos complementos o aplicaciones, puede hacer clic en el perfil de usuario en la parte superior y seleccionar "Aplicaciones ".

Ahora obtendrá la página de la siguiente manera.

Elija la categoría de complemento que más le convenga, luego haga clic en el botón "Descargar y habilitar ". Después de eso, haga clic en "Habilitar " para activar la aplicación o complemento.

A continuación se muestra la captura de pantalla después de habilitar el tema Nextcloud Breeze Dark.

Ajuste de desempeño de Nextcloud

Después de instalar Nextcloud, puede seguir algunos pasos para aumentar el rendimiento de Nextcloud habilitando el caché de memoria local y configurando un cronjob para Nextcloud.

1. En la sección superior de instalación de PHP, ya configuró el PHP para el almacenamiento en caché. Para habilitar el almacenamiento en caché en Nextcloud, edite la configuración de Nextcloud "config.php".

Cambie el directorio de trabajo a "/var/www/nextcloud/config " y edite la configuración "config.php" utilizando el editor nano.

cd /var/www/nextcloud/config/
nano config.php

Agregue la siguiente configuración dentro de la 'matriz ( .. ); ' paréntesis como se muestra a continuación

<?php
$CONFIG = array (
....
....
....
  # Additional configuration
  'memcache.local' => '\OC\Memcache\APCu',
);

Ahora presiona la tecla "Ctrl+x botón " y escriba "y " para guardar la configuración y salir.

2. Un sistema Nextcloud necesita ejecutar algunas tareas en segundo plano de forma regular y sin ninguna interacción entre el usuario y el administrador. Para hacer eso, puede usar el cronjob para las tareas del programador de tareas Nextcloud.

En Rocky Linux, el usuario httpd predeterminado es "apache ". Crear un nuevo cronjob para el usuario "apache " usando el siguiente comando.

crontab -u apache -e

Agregue la siguiente configuración.

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

Nota sobre configuración y salida.

Configuración de cronjob que debe conocer:

  • Esta configuración de cronjob permite al usuario "apache " para ejecutar el script PHP "/var/www/nextcloud/cron.php " cada 5 minutos .

Para verificar la configuración de cronjob, puede ejecutar el siguiente comando.

crontab -u apache -l

Si su configuración es un éxito, obtendrá la configuración en la parte superior como su salida. De lo contrario, obtendrá un resultado en blanco.

Conclusión

¡Felicidades! Ha instalado correctamente Nextcloud en Rocky Linux 8.4. El servidor Nextcloud se ejecuta bajo LAMP Stack con SSL habilitado. Además, su instalación de Nextcloud se está ejecutando con almacenamiento en caché de memoria habilitado con PHP APC y extensiones opcache.


Rocky Linux
  1. Cómo instalar MariaDB 10.6 en Rocky Linux 8

  2. Cómo instalar Docker en Rocky Linux 8

  3. Cómo instalar Cockpit en Rocky Linux 8

  4. Cómo instalar GitLab en Rocky Linux 8

  5. Cómo instalar PHP 8 en Alma Linux y Rocky Linux

Cómo instalar PHP 7.4 en Rocky Linux 8

Cómo instalar PHP 8 en Rocky Linux 8

Cómo instalar PostgreSQL en Rocky Linux 8

Cómo instalar cactus en Rocky Linux 8

Cómo instalar Joomla en Rocky Linux 8

Cómo instalar Laravel en Rocky Linux 8