GNU/Linux >> Tutoriales Linux >  >> Fedora

Cómo instalar un servidor privado Nextcloud en Fedora 34

Nextcloud es un paquete de software de aplicaciones para almacenar y sincronizar archivos y datos en múltiples dispositivos. Es una solución completamente 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 al tiempo que facilita la comunicación. Puede habilitar 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 privado Nextcloud es una excelente manera de comenzar.

Instalación de un servidor privado Nextcloud 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 cumplir los siguientes requisitos previos.

  • Un servidor que ejecuta Fedora. (Usaré Fedora Workstation 34 para la demostración)
  • Un usuario sudo no root.
  • Actualice sus paquetes.
sudo dnf update
  • Paquetes esenciales y dependencias.
    Es posible que su sistema ya tenga algunos de estos paquetes instalados.

    dnf install wget curl bzip2 nano unzip policycoreutils-python-utils -y

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

Configuración del 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 de Fedora.

Compruebe el estado del cortafuegos para asegurarse de que se está ejecutando:

sudo firewall-cmd --state
running

El siguiente paso es permitir los puertos HTTP y HTTPS.

Compruebe 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

Vuelva a comprobar los servicios y puertos permitidos.

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

Vuelva a cargar el cortafuegos.

sudo systemctl reload firewalld

Instalar 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

Instalando servidor y 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 asegurar su servidor MariaDB.

El comando realizará configuraciones predeterminadas estableciendo la contraseña de root, eliminando usuarios anónimos, deshabilitando el inicio de sesión de root de forma remota y descartando 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 de la base de datos (nextcloud) al usuario (nextclouduser) que creamos.

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

Vacíe los privilegios para que los cambios realizados surtan efecto.

mysql> flush privileges;

Salga de MySQL Shell.

mysql> exit;

Configurar 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 los archivos 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 Configuración de Nextcloud SELinux.

Paso 2. Instalación del servidor Nextcloud

Nuestro segundo paso es descargar e instalar Nextcloud. Dirígete al sitio web oficial y copia el enlace de descarga del archivo zip.
Descarga y descomprime 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

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

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

El siguiente paso es otorgar a Apache acceso de lectura y escritura 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. Configuración del 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 el servidor local;

http://localhost/nextcloud 
or
http://127.0.0.0/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 datos de inicio de sesión de administración y configure Nextcloud para el primer uso.

Conclusión

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 deshabilitar SELinux. La práctica recomendada es tenerlo siempre en modo de cumplimiento.

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


Fedora
  1. Cómo instalar Zend Server CE en Fedora 16 "Verne"

  2. Cómo instalar NextCloud 13 en Ubuntu 16.04

  3. Cómo instalar Nextcloud 14 en Debian 9

  4. Cómo instalar NextCloud 15 en Ubuntu 18.04

  5. Cómo instalar Locate en un servidor Fedora

Cómo instalar Go en Fedora 35

Cómo instalar el servidor Apache en Fedora 35

Cómo instalar el servidor Fedora 33

Cómo instalar Apache en Fedora 20

Cómo instalar Apache en Fedora 22

Cómo instalar Nginx en Fedora 22