Nextcloud es una suite de código abierto de software cliente-servidor para crear y utilizar servicios de alojamiento de archivos. Es una solución gratuita de almacenamiento en la nube autoalojada similar a Dropbox, Google Drive, etc. Con Nextcloud, no tiene que preocuparse por las alternativas costosas y, dado que alojará sus propios archivos, no tiene que preocuparse. sobre la privacidad o que alguien recopile sus datos.
NextCloud se puede instalar en un servidor doméstico privado o en un servidor privado virtual en la nube. Luego, los archivos se pueden cargar y luego sincronizar con una computadora de escritorio local, una computadora portátil o incluso un teléfono inteligente. De esta manera usted tiene el control total de sus datos.
Características de NextCloud
- NextCloud tiene clientes de sincronización para Linux, Mac OS, Windows, Android e IOS
- Cifrado de extremo a extremo:los archivos se cifran mientras se cargan en el servidor
- NextCloud es gratuito y de código abierto
- Se puede integrar con una suite ofimática en línea (Collobora, OnlyOffice) para que pueda crear y editar sus archivos doc, ppt, xls directamente desde NextCloud.
- La tienda de aplicaciones contiene cientos de aplicaciones para ampliar la funcionalidad (como la aplicación de calendario, la aplicación para tomar notas, la aplicación de videoconferencia, etc.).
Contenido relacionado
- Cómo instalar y configurar NextCloud en Debian 11 y LEMP
Requisitos
Para seguir esta guía, asegúrese de tener:
- Un servidor basado en Rocky Linux/RHEL 8 actualizado
- Acceso a Internet
- Acceso raíz al servidor o acceso sudo
Tabla de contenido
- Asegúrese de que los paquetes del servidor estén actualizados
- Deshabilitar SELinux
- Instalando mysql
- Creando usuario mysql para NextCloud
- Instalación de PHP
- Instalar Nginx
- Descargar y configurar Nextcloud
- Configure Nginx para servir a NextCloud desde un host virtual
- Actualizar la configuración de PHP
- Acceso a Nextcloud desde la URL web
Asegúrese de que los paquetes del servidor estén actualizados
Asegurémonos de que nuestros paquetes de servidor estén actualizados con este comando:
sudo dnf -y update
Deshabilitar SELinux
A continuación, deshabilitemos SELinux. Vamos a establecer SELinux en permisivo. Edite este archivo:
vim /etc/selinux/config
Luego actualice esta línea:
SELINUX=permisive
Instalando mysql
Mysql es un popular sistema de gestión relacional. Está disponible en los repositorios predeterminados como mysql-server
.
Instálelo con este comando:
sudo dnf install mysql-server
Deberá iniciar y habilitar para asegurarse de que siempre se inicie cuando se inicie el servidor.
sudo systemctl start mysql
sudo systemctl status mysqld
Una vez que el servicio mysql se está ejecutando, debe protegerlo. Mysql proporciona una utilidad de línea de comandos que hará eso:
sudo mysql_secure_installation
El comando anterior lo llevará a través de indicaciones para asegurar y establecer una contraseña de root para la instancia de mysql.
Consulte más información sobre la instalación y configuración de mysql en esta guía aquí
Creando usuario mysql para NextCloud
Siempre se recomienda tener un usuario dedicado para cada aplicación que se conecta a la base de datos. Consulte esta guía sobre cómo administrar los permisos de mysql aquí. Configuraremos una base de datos, un usuario y una contraseña para que los use nextcloud:
Conéctese al servidor mysql:
mysql -u root -p
Después de proporcionar su contraseña, ingrese lo siguiente en el indicador de mysql:
create database nextcloud;
create user 'nextcloud_user'@'%' identified by 'S0mStrongPa$$word';
grant all privileges on nextcloud.* to 'nextcloud_user'@'%';
Ahora que hemos configurado nuestra conexión mysql, pasemos a la siguiente sección donde instalamos y configuramos PHP y Nginx.
Instalación de PHP
NextCloud funciona bien con PHP 6.4. Para instalar php 7.4, debemos habilitar el repositorio remi para obtener la última versión.
Habilite el repositorio de Remi con este comando:
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Habilite php 7.4 usando el módulo dnf:
sudo dnf module enable php:remi-7.4
Luego instale php y dependencias
sudo dnf install -y php php-gd php-curl php-zip php-dom php-xml php-simplexml php-mbstring php-intl php-json
Para obtener más información sobre cómo configurar Apache y PHP, consulte esta guía aquí. Infórmese sobre el lanzamiento de remi aquí.
Instalación de Nginx
A continuación, instalemos Nginx en nuestro sistema. Use este comando para instalar nginx
sudo dnf install -y nginx
Inicie y verifique el estado de Nginx
$ sudo systemctl start nginx
$ sudo systemctl status nginx
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/nginx.service.d
└─php-fpm.conf
Active: active (running) since Fri 2021-10-15 17:33:39 UTC; 7s ago
Process: 1138614 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 1138607 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 1138605 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 1138615 (nginx)
Tasks: 3 (limit: 23800)
Memory: 5.3M
CGroup: /system.slice/nginx.service
├─1138615 nginx: master process /usr/sbin/nginx
├─1138616 nginx: worker process
└─1138617 nginx: worker process
Oct 15 17:33:38 test-app-server systemd[1]: Starting The nginx HTTP and reverse proxy server...
Oct 15 17:33:39 test-app-server nginx[1138607]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Active: active (running)
indicar que el servicio ya está en funcionamiento.
Descargar y configurar Nextcloud
Ahora que hemos configurado con éxito el servidor LEMP en nuestro sistema, descarguemos y configuremos NextCloud. Puede obtener la última versión de NextCloud desde la página de instalación de NextCloud. Use este comando para descargar el servidor NextCloud:
cd /tmp
curl -LO https://download.nextcloud.com/server/releases/nextcloud-22.2.0.zip
Ahora cambiemos a una ruta de directorio para servir a NextCloud en /var/www
luego extraiga el archivo descargado allí:
cd /var/www
sudo unzip /tmp/nextcloud-22.2.0.zip
sudo chown -R nginx:nginx nextcloud
sudo chmod -R 755 nextcloud
Nextcloud requería un directorio para guardar sus datos. Así que cree un directorio de datos y establezca los permisos adecuados en el directorio nextcloud
sudo mkdir -p /var/nextcloud/data sudo chown -R nginx:nginx /var/nextcloud sudo chmod -R 755 /var/nextcloud
Configurar Nginx para servir a NextCloud desde un host virtual
Logramos descargar el contenido de NextCloud a /var/www/nextcloud
. El siguiente bit para configurar Nginx para servirlo.
Vamos a crear un sitio virtual en el directorio en el que nginx sirve contenido aquí /etc/nginx/conf.d
:
sudo vim /etc/nginx/conf.d/nextcloud.conf
Agrega el siguiente contenido:
server {
listen 80;
server_name nextcloud.citizix.com;
root /var/www/nextcloud;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Actualización de la configuración de PHP
A continuación, cuidemos algunas configuraciones de php. Estamos usando php-fpm para servir nuestro contenido php. Está configurado para funcionar con Apache de forma predeterminada, así que actualicemos el usuario y el grupo en el archivo /etc/php-fpm.d/www.conf
a nginx.
Edite el archivo
vim /etc/php-fpm.d/www.conf
Luego actualice estos
user = nginx
group = nginx
También cambiemos el directorio de la sesión para que podamos iniciar sesión. Actualice el directorio de la sesión de PHP para que sea propiedad de nginx:
sudo chown nginx.nginx -R /var/lib/php/session/
Una vez que se hayan realizado los cambios anteriores, debemos reiniciar el servidor nginx y el servidor php-fom. Usa estos comandos en la terminal para lograrlo.
sudo systemctl restart php-fpm nginx
Acceso a Nextcloud desde la URL web
Luego diríjase a su dominio establecido, http://nextcloud.citizix.com/nextcloud
para mí. Se le pedirá que cree la cuenta de usuario. Ingrese el nombre de usuario y la contraseña que utilizará para el nuevo usuario:
Luego ingrese los Detalles de la base de datos:
Después de eso, haga clic en Finalizar. Será redirigido a la página de inicio de sesión donde utilizará los detalles para que el usuario creado inicie sesión. Si inicia sesión con éxito, obtendrá el panel.
Conclusión
En esta guía, logramos configurar LEMP en un servidor basado en Rocky Linux 8 o RHEL para servir a Next cloud.