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, el Nextcloud 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 la 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 previos
- Un servidor Rocky Linux. Asegúrese de que todos los paquetes estén actualizados a la última versión.
- Un usuario con privilegios de root. Este usuario obtendrá los privilegios de root a través del comando sudo.
Instalación del 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
Escribe «y» y presione «Ingresar» 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
Los «Habilitar systemctlEl 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.
Instalación de 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
Escribe «y» y presione «Ingresar» 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 «Ingresar» 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
Escribe «y» para confirmar y presione «Ingresar» 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
Prensa «Control+x» y escriba «Y» para guardar la configuración y salir.
La configuración importante que debes saber:
- Para la producción de Nextcloud, necesita «memory_limit» más de 512 MB.
- La opción «upload_max_filesize» le permite configurar el tamaño máximo de carga en su servidor Nextcloud.
- La opción «post_max_size» debe estar más alto que la opción «upload_max_filesize».
- La opción «date.timezone» 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 editar 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
Presione el «Control+x«botón y tipo»Y» para guardar la configuración y salir.
6. Para aplicar una nueva configuración de PHP, reinicie el servicio httpd con el siguiente comando.
sudo systemctl restart httpd
Instalación y configuración de 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 que se muestra a continuación.
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.
Ejecutar el «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 raíz de mariadb y repita, luego presione «Ingresar» 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 «Ingresar» 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 ‘raíz‘. Escribe «Y» y presione «Ingresar» 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» otra vez para eliminar la base de datos predeterminada «prueba» y presione «Ingresar«.
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!
Creación de base de datos para Nextcloud
1. Inicie sesión en el shell de mariadb utilizando 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 «próximo usuario«. Cambiar el «contraseña segura» con su contraseña segura.
CREATE USER [email protected] IDENTIFIED BY 'StrongPassword';
4. Permitir al usuario «próximo usuario» para acceder y escribir el «nextcloud_db» utilizando 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;
Entonces puedes escribir «abandonar» y presione «Ingresar» para salir del shell mariadb.
Descargar el 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 «próxima nube«, luego cambie el propietario del «próxima nube«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. Instalar 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 los 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 simplemente presionar enter 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 una salida 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 crear una nueva configuración «conocido.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>
Prensa «Control+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 el «/etc/letsencrypt/live/files.domain.com/«directorio.
Configuración del host virtual de Apache para Nextcloud
En este paso, agregará una nueva configuración de host virtual apache/httpd para Nextcloud.
1. Cambie el directorio de trabajo a «/etc/httpd/conf.d» y crear 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 propios y pegue la configuración en «nextcloud.conf» expediente.
<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>
Prensa «Control+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.
Instalación de 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 opción de la casilla 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 «Ajustes«.
Bajo la «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 el complemento.
A continuación se muestra la captura de pantalla después de habilitar el tema Nextcloud Breeze Dark.
Ajuste de rendimiento 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 editar la configuración «config.php» utilizando el editor nano.
cd /var/www/nextcloud/config/ nano config.php
Agregue la siguiente configuración dentro del ‘matriz ( .. );‘corchete como se muestra a continuación
<?php $CONFIG = array ( .... .... .... # Additional configuration 'memcache.local' => '\OC\Memcache\APCu', );
Ahora presione el «Control+x«botón y tipo»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 predeterminado de httpd 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 la configuración y la salida.
Configuración de cronjob que debes saber:
- 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 el almacenamiento en caché de memoria habilitado con extensiones PHP APC y opcache.