Diferencia entre revisiones de «Nextcloud»
(Página creada con «[https://nextcloud.com Nextcloud] se puede resumir a como una alternativa a otros servicios de almacenamiento y edición en la nube, como puede ser Google Drive, OneDrive, Dropbox… Pero su principal característica es que es gratuito y de código abierto y puedes descargarlo e instalarlo en tu propio servidor, así acceder a tu propio «disco» desde cualquier punto del mundo con solo el navegador o la aplicación de sincronización de escritorio o teléfono y mucha…») |
Sin resumen de edición |
||
Línea 96: | Línea 96: | ||
= Instalación manual oficial = | = Instalación manual oficial = | ||
= Completando la instalación de Nextcloud = | |||
En la entrada anterior instalamos Nextcloud fácilmente desde los repositorios de Fedora, peró el proceso está lejos de acabar, antes, quedan varios procesos. | |||
=== Límite de memoria en PHP === | |||
Este proceso es necesario en otros servicios para poder gestionar procesos por PHP, como por ejemplo, subir ficheros. Para ello, debemos editar el fichero: | |||
sudo nano /etc/php.ini | |||
Y debemos buscar la línea: | |||
memory_limit = 128M | |||
Por defecto viene a un valor de 128 Megas, mínimo, debemos cambiarlo a 512M: | |||
memory_limit = 512M | |||
Hecho esto, cerramos el editor y reiniciamos el servicio apache: | |||
sudo systemctl restart httpd | |||
=== PHP configuration option output_buffering must be disabled === | |||
Para comprobar la salud de nuestro servicio, podemos acceder al Administrador de configuraciones y veremos qué nos puede faltar o fallar, por ejemplo, el output_buffering de la configuración de php, debe estar deshabilitado. Este mensaje es un bug que genera esta advertencia y será reparado por los desarrolladores. | |||
Mientras podemos crear el fichero: | |||
sudo nano /usr/share/nextcloud/.user.ini | |||
Con la linia: | |||
output_buffering=0 | |||
=== Cacheando la memoria === | |||
Otra de las advertencias que nos podemos encontrar es el «memory_caching» que influye en el rendimiento del servicio. Por defecto, no viene configurado y hay que configurarlo. | |||
Hay tres maneras de cachear la memoria como se muestra en la página de soporte oficial, pero he optado por la más sencilla. Para ello instalaremos: | |||
sudo dnf install php-pecl-apcu | |||
Editamos el fichero de configuración de Nextcloud | |||
sudo nano /etc/nextcloud/config.php | |||
y añadimos a la penúltima línea: | |||
'memcache.local' => '\OC\Memcache\APCu', | |||
Ahora tenemos que editar el fichero: | |||
sudo nano /etc/php.d/40-apcu.ini | |||
Y dejamos el valor: | |||
apc.enable_cli=1 | |||
Cerramos y reiniciamos los servicios: | |||
sudo systemctl restart httpd php-fpm | |||
=== Instalar los módulos php gmp i bcmath === | |||
No son obligatorios, pero si recomendables estar estos dos módulos, los instalamos con: | |||
sudo dnf install php-gmp php-bcmath | |||
Y reiniciamos el servicio: | |||
sudo systemctl restart httpd | |||
=== Región del teléfono === | |||
Otro parámetro que no es obligatorio es la región del teléfono por defecto, para configurarlo editamos: | |||
sudo nano /etc/nextcloud/config.php | |||
Y en la penúltima línea añadimos: | |||
'default_phone_region' => 'ES', | |||
=== Configurando el correo electrónico === | |||
Otro de los ajustes básicos es el envío de correos electrónicos, en mi caso utilizo una contraseña maestra de gmail y los parámetros quedan: | |||
Es importante «Enviar mensaje» una vez hechas las configuraciones para acabar el proceso. | |||
=== Instalando aplicaciones por consola === | |||
Podemos instalar aplicaciones por administrador del navegador, pero es mucho más rápido administrar por consola con occ. Unos ejemplos: | |||
cd /usr/share/nextcloud | |||
sudo -u apache php occ app:install bookmarks #Instala el gestor de marcadores | |||
sudo -u apache php occ app:install passwords #Instala el gestor de contraseñas | |||
sudo -u apache php occ app:install tasks #instala un gestor de tareas que se adapta a calendar | |||
sudo -u apache php occ app:install notes #un gestor de notas básico | |||
sudo -u apache php occ app:install deck #Un gestor de tareas avanzado | |||
sudo -u apache php occ app:install groupfolders #Permite la gestión de grupos a las carpetas | |||
sudo -u apache php occ app:install richdocumentscode #Instala un editor de documentos integrado CODE | |||
sudo -u apache php occ app:install richdocuments #Necesario con el complemento anterior. | |||
sudo -u apache php occ app:install forms #Instala un generador de formularios que guarda los datos en una hoja | |||
sudo -u apache php occ app:install mail #Cliente de correo electrónico web | |||
sudo -u apache php occ app:install calendar #Un gestor de calendario comparable a Google Calendar | |||
sudo -u apache php occ app:install contacts #Un gestor de contactos que se integra a el resto de complementos | |||
sudo -u apache php occ app:install text #Un editor de texto básico | |||
sudo -u apache php occ app:install spreed #Un cliente de chat entre los contactos que permite llamadas y conferencias por video. | |||
sudo -u apache php occ app:install recognize #Permite reconoce en tus fotos a animales, caras... | |||
=== Reparar los ficheros por consola === | |||
Puede darse el caso que falte un fichero o que no permita borrarlos, eso se debe a un error en la base de datos, se puede reparar fácilmente con: | |||
sudo -u apache php occ files:scan --all | |||
=== Gestión de usuarios y grupos === | |||
Lista de usuarios | |||
sudo -u apache php ./occ user:list | |||
Lista los grupos y sus usuarios | |||
sudo -u www-data php occ group:list | |||
Crea un usuario | |||
sudo -u apache php occ user:add --display-name="Usuario1" --group="users" --group="Grupo1" usuario1 | |||
Borra un usuario | |||
sudo -u apache php ./occ user:delete usuario1 | |||
Consulta la configuración del usuario | |||
sudo -u apache php ./occ user:setting usuario2 | |||
Configura el usuario, asigna un correo electrónico: | |||
sudo -u apache php ./occ user:setting usuario2 settings email "usuario2@mainkivi.info" | |||
Asigna una quota de disco al usuario | |||
sudo -u apache php ./occ user:setting usuario2 files quota 10GB | |||
Resetea la contraseña del usuario | |||
sudo -u apache php occ user:resetpassword usuario2 | |||
Estas y más instrucciones en: <nowiki>https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/occ_command.html</nowiki> | |||
=== Para complementar la entrada, adjunto un video: === | |||
<youtube>https://www.youtube.com/watch?v=lXGXDcpWKyo</youtube> |
Revisión del 10:32 10 abr 2024
Nextcloud se puede resumir a como una alternativa a otros servicios de almacenamiento y edición en la nube, como puede ser Google Drive, OneDrive, Dropbox… Pero su principal característica es que es gratuito y de código abierto y puedes descargarlo e instalarlo en tu propio servidor, así acceder a tu propio «disco» desde cualquier punto del mundo con solo el navegador o la aplicación de sincronización de escritorio o teléfono y muchas opciones más.
Nextcloud es una bifurcación de OwnCloud, es decir, parte del grupo de programadores que quisieron hacer su propia versión del servicio pero con más añadidos.
Instalación desde los repositorios de Fedora
Siguiendo la instalación de servicios en Fedora, podemos instalar el programa desde repositorios oficiales.
sudo dnf install nextcloud
Esto ya genera los directorios de servicio en /usr/share y los de configuración en /etc, por ejemplo, el fichero de configuración de Apache.
El siguiente paso es crear la base de dato, primero accedemos a mysql:
mysql -u root -p
y creamos la base de datos como en la entrada anterior:
CREATE DATABASE IF NOT EXISTS nextcloud;
Y, si no queremos crear otro usuario, podemos aprovechar el mismo que la entrada anterior:
GRANT ALL PRIVILEGES ON nextcloud.* TO 'admin'@'localhost' IDENTIFIED BY 'F3d0r4-01';
FLUSH PRIVILEGES;
Ahora que ya tenemos la base de datos, vamos a realizar la instalación de nextcloud, en este caso, este, tiene un instalador por PHP que nos va de perlas y que utilizáramos para la mayoría de las operaciones:
cd /usr/share/nextcloud
sudo -u apache php occ maintenance:install --data-dir /var/lib/nextcloud/data/ --database "mysql" --database-name "nextcloud" --database-user "admin" --database-pass "F3d0r4-01" --admin-user "admin" --admin-pass "F3d0r4-01" ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf
Con esto haremos le indicamos el directorio donde se ubicaran los datos, el tipo de servidor de base de datos, el nombre de la base de datos que hemos indicado anteriormente, junto con el usuario y contraseña y, por último, el usuario y contraseña de administración del sitio que, por defecto, pongo el mismo que la base de datos para hacerlo más fácil.
También tenemos que permitir que el sitio sea accesible desde fuera del equipo local editando :
sudo nano /etc/httpd/conf.d/nextcloud-auth-local.inc
Y toca cambiar el «Require» para permitir todo el acceso que no sea local:
Cerramos el editor guardando los cambios y reiniciamos el servicio:
sudo systemctl restart httpd
De hecho ya podemos hacer la prueba accediendo al navegador:
https://192.168.1.241/nextcloud
Hecho esto ya podemos acceder a la interficie web, pero queda añadir otro apunte en seguridad y es el dominio de confianza, ya que, por seguridad, limita el acceso a redes desconocidas. Sin salir del directorio de instalación escribimos:
Nextcloud se puede resumir a como una alternativa a otros servicios de almacenamiento y edición en la nube, como puede ser Google Drive, OneDrive, Dropbox… Pero su principal característica es que es gratuito y de código abierto y puedes descargarlo e instalarlo en tu propio servidor, así acceder a tu propio «disco» desde cualquier punto del mundo con solo el navegador o la aplicación de sincronización de escritorio o teléfono y muchas opciones más.
Nextcloud es una bifurcación de OwnCloud, es decir, parte del grupo de programadores que quisieron hacer su propia versión del servicio pero con más añadidos.
Siguiendo la instalación de servicios en Fedora, podemos instalar el programa desde repositorios oficiales.
sudo dnf install nextcloud
Esto ya genera los directorios de servicio en /usr/share y los de configuración en /etc, por ejemplo, el fichero de configuración de Apache.
El siguiente paso es crear la base de dato, primero accedemos a mysql:
mysql -u root -p
y creamos la base de datos como en la entrada anterior:
CREATE DATABASE IF NOT EXISTS nextcloud;
Y, si no queremos crear otro usuario, podemos aprovechar el mismo que la entrada anterior:
GRANT ALL PRIVILEGES ON nextcloud.* TO 'admin'@'localhost' IDENTIFIED BY 'F3d0r4-01';
FLUSH PRIVILEGES;
Ahora que ya tenemos la base de datos, vamos a realizar la instalación de nextcloud, en este caso, este, tiene un instalador por PHP que nos va de perlas y que utilizáramos para la mayoría de las operaciones:
cd /usr/share/nextcloud
sudo -u apache php occ maintenance:install --data-dir /var/lib/nextcloud/data/ --database "mysql" --database-name "nextcloud" --database-user "admin" --database-pass "F3d0r4-01" --admin-user "admin" --admin-pass "F3d0r4-01" ln -s /etc/httpd/conf.d/nextcloud-access.conf.avail /etc/httpd/conf.d/z-nextcloud-access.conf
Con esto haremos le indicamos el directorio donde se ubicaran los datos, el tipo de servidor de base de datos, el nombre de la base de datos que hemos indicado anteriormente, junto con el usuario y contraseña y, por último, el usuario y contraseña de administración del sitio que, por defecto, pongo el mismo que la base de datos para hacerlo más fácil.
También tenemos que permitir que el sitio sea accesible desde fuera del equipo local editando :
sudo nano /etc/httpd/conf.d/nextcloud-auth-local.inc
Y toca cambiar el «Require» para permitir todo el acceso que Nextcloudno sea local:
Cerramos el editor guardando los cambios y reiniciamos el servicio:
sudo systemctl restart httpd
De hecho ya podemos hacer la prueba accediendo al navegador:
https://192.168.1.241/nextcloud
Hecho esto ya podemos acceder a la interficie web, pero queda añadir otro apunte en seguridad y es el dominio de confianza, ya que, por seguridad, limita el acceso a redes desconocidas. Sin salir del directorio de instalación escribimos:
sudo -u apache php occ config:system:get trusted_domains
Así vemos la lista de dominios de confianza, para añadir nuevos, añadir POR ORDEN, la IP o el nombre de acceso:
sudo -u apache php occ config:system:set trusted_domains 1 --value="192.168.1.241"
Resumen de directorios en el servidor:
- /usr/share/nextcloud – directorio de instalación
- /etc/nextcloud – directorio donde se ubica la configuración
- /etc/httpd/conf.d/ – directorio del servidor apache donde se ubican las configuraciones del servidor web
- /var/lib/nextcloud/data – directorio donde se ubicará el contenido de los usuarios
Video explicativo
sudo -u apache php occ config:system:get trusted_domains
Así vemos la lista de dominios de confianza, para añadir nuevos, añadir POR ORDEN, la IP o el nombre de acceso:
sudo -u apache php occ config:system:set trusted_domains 1 --value="192.168.1.241"
Resumen de directorios en el servidor:
- /usr/share/nextcloud – directorio de instalación
- /etc/nextcloud – directorio donde se ubica la configuración
- /etc/httpd/conf.d/ – directorio del servidor apache donde se ubican las configuraciones del servidor web
- /var/lib/nextcloud/data – directorio donde se ubicará el conteNextcloudnido de los usuarios
Video explicativo
Instalación manual oficial
Completando la instalación de Nextcloud
En la entrada anterior instalamos Nextcloud fácilmente desde los repositorios de Fedora, peró el proceso está lejos de acabar, antes, quedan varios procesos.
Límite de memoria en PHP
Este proceso es necesario en otros servicios para poder gestionar procesos por PHP, como por ejemplo, subir ficheros. Para ello, debemos editar el fichero:
sudo nano /etc/php.ini
Y debemos buscar la línea:
memory_limit = 128M
Por defecto viene a un valor de 128 Megas, mínimo, debemos cambiarlo a 512M:
memory_limit = 512M
Hecho esto, cerramos el editor y reiniciamos el servicio apache:
sudo systemctl restart httpd
PHP configuration option output_buffering must be disabled
Para comprobar la salud de nuestro servicio, podemos acceder al Administrador de configuraciones y veremos qué nos puede faltar o fallar, por ejemplo, el output_buffering de la configuración de php, debe estar deshabilitado. Este mensaje es un bug que genera esta advertencia y será reparado por los desarrolladores.
Mientras podemos crear el fichero:
sudo nano /usr/share/nextcloud/.user.ini
Con la linia:
output_buffering=0
Cacheando la memoria
Otra de las advertencias que nos podemos encontrar es el «memory_caching» que influye en el rendimiento del servicio. Por defecto, no viene configurado y hay que configurarlo.
Hay tres maneras de cachear la memoria como se muestra en la página de soporte oficial, pero he optado por la más sencilla. Para ello instalaremos:
sudo dnf install php-pecl-apcu
Editamos el fichero de configuración de Nextcloud
sudo nano /etc/nextcloud/config.php
y añadimos a la penúltima línea:
'memcache.local' => '\OC\Memcache\APCu',
Ahora tenemos que editar el fichero:
sudo nano /etc/php.d/40-apcu.ini
Y dejamos el valor:
apc.enable_cli=1
Cerramos y reiniciamos los servicios:
sudo systemctl restart httpd php-fpm
Instalar los módulos php gmp i bcmath
No son obligatorios, pero si recomendables estar estos dos módulos, los instalamos con:
sudo dnf install php-gmp php-bcmath
Y reiniciamos el servicio:
sudo systemctl restart httpd
Región del teléfono
Otro parámetro que no es obligatorio es la región del teléfono por defecto, para configurarlo editamos:
sudo nano /etc/nextcloud/config.php
Y en la penúltima línea añadimos:
'default_phone_region' => 'ES',
Configurando el correo electrónico
Otro de los ajustes básicos es el envío de correos electrónicos, en mi caso utilizo una contraseña maestra de gmail y los parámetros quedan:
Es importante «Enviar mensaje» una vez hechas las configuraciones para acabar el proceso.
Instalando aplicaciones por consola
Podemos instalar aplicaciones por administrador del navegador, pero es mucho más rápido administrar por consola con occ. Unos ejemplos:
cd /usr/share/nextcloud
sudo -u apache php occ app:install bookmarks #Instala el gestor de marcadores sudo -u apache php occ app:install passwords #Instala el gestor de contraseñas sudo -u apache php occ app:install tasks #instala un gestor de tareas que se adapta a calendar sudo -u apache php occ app:install notes #un gestor de notas básico sudo -u apache php occ app:install deck #Un gestor de tareas avanzado sudo -u apache php occ app:install groupfolders #Permite la gestión de grupos a las carpetas sudo -u apache php occ app:install richdocumentscode #Instala un editor de documentos integrado CODE sudo -u apache php occ app:install richdocuments #Necesario con el complemento anterior. sudo -u apache php occ app:install forms #Instala un generador de formularios que guarda los datos en una hoja sudo -u apache php occ app:install mail #Cliente de correo electrónico web sudo -u apache php occ app:install calendar #Un gestor de calendario comparable a Google Calendar sudo -u apache php occ app:install contacts #Un gestor de contactos que se integra a el resto de complementos sudo -u apache php occ app:install text #Un editor de texto básico sudo -u apache php occ app:install spreed #Un cliente de chat entre los contactos que permite llamadas y conferencias por video. sudo -u apache php occ app:install recognize #Permite reconoce en tus fotos a animales, caras...
Reparar los ficheros por consola
Puede darse el caso que falte un fichero o que no permita borrarlos, eso se debe a un error en la base de datos, se puede reparar fácilmente con:
sudo -u apache php occ files:scan --all
Gestión de usuarios y grupos
Lista de usuarios
sudo -u apache php ./occ user:list
Lista los grupos y sus usuarios
sudo -u www-data php occ group:list
Crea un usuario
sudo -u apache php occ user:add --display-name="Usuario1" --group="users" --group="Grupo1" usuario1
Borra un usuario
sudo -u apache php ./occ user:delete usuario1
Consulta la configuración del usuario
sudo -u apache php ./occ user:setting usuario2
Configura el usuario, asigna un correo electrónico:
sudo -u apache php ./occ user:setting usuario2 settings email "usuario2@mainkivi.info"
Asigna una quota de disco al usuario
sudo -u apache php ./occ user:setting usuario2 files quota 10GB
Resetea la contraseña del usuario
sudo -u apache php occ user:resetpassword usuario2
Estas y más instrucciones en: https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/occ_command.html
Para complementar la entrada, adjunto un video: