Cómo instalar un servidor Nextcloud privado en Fedora 34

norteextcloud es un conjunto de aplicaciones de software para almacenar y sincronizar archivos y datos en múltiples dispositivos. Es una solución totalmente local para compartir y colaborar en documentos, administrar su calendario y enviar y recibir correo electrónico.

Nextcloud le brinda control y protección de sus datos mientras facilita la comunicación. Puede permitir la productividad, ya que puede acceder, sincronizar y compartir sus datos existentes en una unidad FTP a través de varios dispositivos conectados en una configuración de hogar u oficina. Además, la privacidad de los datos es fundamental y ejecutar un servidor Nextcloud privado es una excelente manera de comenzar.

Índice

Instalación de un servidor Nextcloud privado en Fedora 34

Este tutorial demostrará cómo instalar un servidor Nextcloud privado en un servidor basado en Fedora 34. Instalaremos un servidor web Apache, PHP 7.4 y un servidor y cliente MariaDB como requisitos previos.

Paso 1. Requisitos previos

El primer paso es satisfacer los siguientes requisitos previos.

  • Un servidor que ejecuta Fedora. (Usaré Fedora Workstation 34 para la demostración)
  • Un usuario de sudo no root.
  • Actualice sus paquetes.
sudo dnf update

Nota: si tiene algunos requisitos previos y paquetes ya configurados, puede omitir esos pasos.

Configurando el cortafuegos en Fedora

El primer paso es configurar el firewall desde Firewalld a través de la línea de comandos. Tenga en cuenta que Firewalld viene preinstalado en los servidores Fedora.

Verifique el estado del firewall para asegurarse de que se esté ejecutando:

sudo firewall-cmd --state
running

El siguiente paso es permitir los puertos HTTP y HTTPS.

Verifique los servicios y puertos permitidos:

sudo firewall-cmd --permanent --list-services
dhcpv6-client mdns samba-client ssh

Permitir puertos HTTP y HTTPS.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent –add-service=https

Verifique los servicios y puertos permitidos nuevamente.

sudo firewall-cmd --permanent --list-services
dhcpv6-client http https mdns samba-client ssh

Vuelva a cargar el cortafuegos.

sudo systemctl reload firewalld

Instalar el servidor web Apache

Ejecute el siguiente comando con privilegios sudo para instalar el servidor web Apache.

dnf install httpd

Instalar PHP

El siguiente paso es instalar PHP y otros módulos adicionales. Si ya tiene PHP, asegúrese de que la versión de PHP cumpla con los requisitos de Nextcloud.

dnf install php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-pecl-redis php-opcache php-imagick php-zip php-process

Después de instalar PHP, habilite e inicie el servidor web Apache:

systemctl enable --now httpd

Compruebe si PHP se está ejecutando.

php -version
PHP 7.4.19 (cli) (built: May 4 2021 11:06:37) ( NTS )
Copyright (c) The PHP Group

Instalación del servidor y el cliente MariaDB

El servidor MariaDB es un reemplazo directo de MySQL, lo que significa que los comandos para ejecutar y operar MariaDB y MySQL son los mismos.

Compruebe si tiene un servidor MariaDB predeterminado en su servidor o instálelo ejecutando el siguiente comando.

dnf install mariadb mariadb-server

Habilite e inicie el servidor MariaDB:

systemctl enable --now mariadb

Ejecute el comando mysql_secure_installation para proteger su servidor MariaDB.

El comando realizará configuraciones predeterminadas estableciendo la contraseña de root, eliminando usuarios anónimos, rechazando el inicio de sesión de root de forma remota y eliminando tablas de prueba.

sudo mysql_secure_installation
[sudo] password for tuts:
Securing the MySQL server deployment.
Enter the password for user root:
The 'validate_password' component is installed.
>> The subsequent steps will run the existing configuration
of the component.
>> We are using an existing root password
Estimated strength of the password: 100
Change the password for root? ((Press YY | Y for Yes, any other key for No) : 
>>
By default, a MariaDB server installation has an anonymous user
>>> is intended only for testing.
Remove anonymous users? (Press Y y | Y for Yes, any other key for No) : y
Success.
Normally, 'root' should only be allowed to connect from
'localhost.' This ensures that someone cannot guess 
the root password from the network.
(ensure you read this policy while installing MariaDB server)
Disallow root login remotely? (Press Y y | y Y for Yes, any other key for No) : Y y
Success.
>>> (removing test database)
Remove test database and access to it? (Press Y y | Y for Yes, any other key for No) : y
>>> Dropping test database.
Success.
>>> Removing privileges on test database.
Success.
Reload privilege tables now? (Press Y y | Y for Yes, any other key for No) : y
Success. 
All done!

Cree un usuario y una base de datos dedicados para el servidor Nextcloud.

mysql -p

Cree la base de datos 'nextcloud'.

mysql> create database nextcloud;

Cree un usuario MySQL dedicado para manejar la base de datos 'nextcloud'

mysql> create user 'nextclouduser'@'localhost' identified by 'SeCrEttErCeS';

Otorgue todos los privilegios a la base de datos (nextcloud) al usuario (nextclouduser) que creamos.

mysql> grant all privileges on nextcloud_db.* to 'nextclouduser'@'localhost';

Elimine los privilegios de los cambios que ha realizado para que surtan efecto.

mysql> flush privileges;

Salga de MySQL Shell.

mysql> exit;

Configurar los permisos de SELinux

Debe configurar SELinux / permisos para trabajar con Nextcloud.
Ejecute los siguientes comandos para su configuración básica de SELinux. Estos deberían funcionar con su instalación.

Asegúrese de ajustar las rutas de archivo de forma adecuada según su sistema. Por si acaso son diferentes.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/.user.ini'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/nextcloud/3rdparty/aws/aws-sdk-php/src/data/logs(/.*)?'
# restorecon -Rv '/var/www/html/nextcloud/'

Puede obtener más información sobre los comandos de SELinux que funcionan con Nextcloud en la configuración de Nextcloud SELinux.

Paso 2. Instalación de Nextcloud Server

Nuestro segundo paso es descargar e instalar Nextcloud. Dirígete al sitio web oficial y copia el enlace de descarga del archivo zip.
Descargue y descomprima el archivo de Nextcloud usando wget. Asegúrese de pegar el enlace copiado después de wget en el siguiente comando.

wget https://download.nextcloud.com/server/releases/nextcloud-21.0.2.zip

Nextcloud
Archivo de Nextcloud

Descomprima el archivo en el directorio '/ var / www / html /'.

unzip nextcloud-21.0.2.zip -d /var/www/html/

El siguiente paso es otorgar acceso de lectura y escritura a Apache al árbol de directorios de Nextcloud:
Cree una carpeta de datos en el directorio '/ var / www / html / nextcloud /'.

mkdir /var/www/html/nextcloud/data

Otorgue acceso de lectura y escritura a Apache mediante Chown.

chown -R apache:apache /var/www/html/nextcloud

Paso 3. Configurar el servidor Nextcloud

Puede configurar Nextcloud a través de la interfaz web o la línea de comandos.

Método 1: interfaz web

Acceda a 'http: // your_server_ip / nextcloud' desde su navegador web.
En nuestro caso, el servidor se ejecuta desde localhost;

http://localhost/nextcloud 
or
http://127.0.0.0/nextcloud

Configuración de Nextcloud
Detalles de configuración de Nextcloud

Método 2: línea de comandos

Ejecute el siguiente comando para configurar Nexcloud desde la línea de comandos.

sudo -u apache php occ maintenance:install --data-dir /var/www/html/nextcloud/data/ --database "mysql" --database-name "nextcloud" --database-user "nextclouduser" --database-pass "SeCrEttErCeS" --admin-user "admin" --admin-pass "AdMin_PAssWOrd"

Ingrese sus detalles de inicio de sesión de administración y configure Nextcloud para el primer uso.

Inicio de sesión en Nextcloud
Inicio de sesión de administrador de Nextcloud

Terminando

El límite de memoria PHP recomendado para Nextcloud es 512M. Puede editar la variable memory_limit en el archivo de configuración /etc/php.ini y reiniciar su servicio httpd.

La seguridad es fundamental y siempre debe configurar SELinux en lugar de deshabilitarlo. No es una buena idea desactivar SELinux. La práctica recomendada es tenerlo siempre en modo de ejecución.

Con esto concluye nuestra demostración sobre la instalación de un servidor Nextcloud privado en el servidor Fedora 34. Si se encuentra con algún desafío o problema, no dude en preguntar o agregar un comentario.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir