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