Cambios para el documento Instalacion (docker)

Última modificación por dFa el 2025/02/24 10:01

Desde la versión 25.7
editado por dFa
el 2025/02/22 16:22
Cambiar el comentario: No hay comentario para esta versión
Hasta la versión 14.2
editado por dFa
el 2025/02/22 09:55
Cambiar el comentario: No hay comentario para esta versión

Resumen

Detalles

Propiedades de página
Contenido
... ... @@ -26,9 +26,9 @@
26 26  La instalación consta de 4 servicios:
27 27  
28 28  * db: Base de datos mariadb
29 -* redis: Base de datos de memoria caché redis
29 +* redes: Base de datos de memoria caché redis
30 30  * app: Aplicativo nextcloud
31 -* web: Servidor web nginx, se encarga de redireccionar las peticiones hacia el aplicativo (app)
31 +* web: Servidor web nginx
32 32  
33 33  El primer paso es generar nuestro docker-compose:
34 34  
... ... @@ -74,11 +74,6 @@
74 74   MYSQL_PASSWORD: Ko5b0sq977j1saaCQ3SD55
75 75   REDIS_HOST: redis
76 76   PHP_UPLOAD_LIMIT: 0
77 - command: >
78 - sh -c "chown -R www-data:www-data /var/nextcloud &&
79 - chmod -R 770 /var/nextcloud &&
80 - exec /entrypoint.sh php-fpm"
81 -
82 82   web:
83 83   image: nginx
84 84   container_name: nextcloud-web
... ... @@ -109,7 +109,7 @@
109 109  Los volúmenes se han configurado por las siguientes razones:
110 110  
111 111  * database: Ficheros de la base de datos mysql
112 -* redis: Ficheros de la base de datos de memoria caché
107 +* redis: Ficheros de la base de datos redes
113 113  * data: Ficheros del aplicativo nextcloud (es necesario que lo usen tanto el contenedor app como el contenedor web)
114 114  * user: Ficheros de los perfiles de usuarios creados para nextcloud
115 115  * nginx_conf: Fichero nginx.conf
... ... @@ -116,19 +116,6 @@
116 116  
117 117  Además, en este caso, se ha realizado un bind de nuestro disco /datos para que sea utilizado como punto de montaje en nextcloud. Dado que es un contenedor, es necesario mapearlo para que la interfaz web tenga acceso al recurso de alguna manera.
118 118  
119 -{{code}}
120 -- /datos/dFa:/mnt
121 -{{/code}}
122 -
123 -También se añade la adición de permisos al directorio /var/nextcloud durante la generación del contenedor, dado que el directorio se crea durante la creación del volumen "user".
124 -
125 -{{code}}
126 -command: >
127 - sh -c "chown -R www-data:www-data /var/nextcloud &&
128 - chmod -R 770 /var/nextcloud &&
129 - exec /entrypoint.sh php-fpm"
130 -{{/code}}
131 -
132 132  Desplegamos los contenedores:
133 133  
134 134  [[image:1740216653242-590.png]]
... ... @@ -278,29 +278,11 @@
278 278  }
279 279  {{/code}}
280 280  
281 -Reiniciamos los contenedores para que apliquen todos los cambios y comprobamos si funciona correctamente accediendo a través del puerto expuesto, en este caso el 8080:
282 -
283 -* [[http:~~/~~/ipservidor:8080>>http://ipservidor:8080]]
284 -
285 -[[image:1740220925385-402.png]]
286 -
287 -Indicamos un usuario y contraseña y comenzará la instalación.
288 -
289 289  === config.php ===
290 290  
291 -Una vez realizada la instalación, nos redireccionará mediante https lo cual dará el siguiente error:
265 +Hacemos lo mismo con el fichero config.php que se encuentra en el volumen app dentro del directorio config:
292 292  
293 -[[image:1740242599208-350.png]]
294 -
295 -Procedemos a modificar el fichero config.php que se encuentra en el volumen app dentro del directorio config con la siguiente configuración, no sin antes primero copiar del fichero original los siguientes valores, dado que son las contraseñas de cifrado que se generan durante la intalación y nuestra contraseña de la ddbb indicada en el docker-compose.yml:
296 -
297 297  {{code language="php"}}
298 -'passwordsalt' => 'bFuPjx3NMpliQCtY729Uob2SRp19xe',
299 -'secret' => 'eFMG77LAdbjw6oPSJM7hL/IDPBnP3qDxE7xlX6/uPMOvQ/kG'
300 -'dbpassword' => 'Ko5b0sq977j1saaCQ3SD55'
301 -{{/code}}
302 -
303 -{{code language="php"}}
304 304  <?php
305 305  $CONFIG = array (
306 306   'memcache.local' => '\\OC\\Memcache\\APCu',
... ... @@ -310,7 +310,7 @@
310 310   array (
311 311   'path' => '/var/www/html/apps',
312 312   'url' => '/apps',
313 - 'writable' => false,
277 + 'writable' => true,
314 314   ),
315 315   1 =>
316 316   array (
... ... @@ -341,8 +341,6 @@
341 341   'dbtype' => 'mysql',
342 342   'version' => '30.0.6.2',
343 343   'overwrite.cli.url' => 'https://dfacloud.ddns.net',
344 - 'overwritehost' => '10.100.200.35:8080',
345 - 'overwriteprotocol' => 'http',
346 346   'dbname' => 'nextcloud',
347 347   'dbhost' => 'db',
348 348   'dbport' => '',
... ... @@ -356,20 +356,6 @@
356 356  
357 357  En este fichero php tendremos que tener en cuenta modificar los valores nuestra dirección ip:puerto y nuestra dns en consecuencia.
358 358  
359 -Tambien debemos tener en cuenta la directiva:
360 -
361 -* 'datadirectory' => '/var/nextcloud/data',
362 -
363 -Dado que indica el directorio de datos dentro del contenedor.
364 -
365 -Así como la directivas:
366 -
367 -* overwrite.cli.url' => 'https:~/~/dfacloud.ddns.net'
368 -* 'overwritehost' => '10.100.200.35:8080'
369 -* 'overwriteprotocol' => 'http'
370 -
371 -Estas directivas garantizarán que podremos acceder mediante http de manera loca y mediante https de manera externa
372 -
373 373  === Permisos ===
374 374  
375 375  Es importante tener en cuenta los permisos de los directorios, sobre todo los directorios de datos y perfiles de usuarios.
... ... @@ -381,12 +381,16 @@
381 381  * user: 33 (www-data)
382 382  * group: tape (www-data)
383 383  
384 -Y deben contener permisos 770
385 -
386 386  Hemos ajustado el compose para que se adapten estos permisos de forma automática, no obstante es importante revisarles si nextcloud indica algún problema de permisos.
387 387  
388 -= OTROS =
334 +== Acceso ==
389 389  
336 +Reiniciamos los contenedores para que apliquen todos los cambios y comprobamos si funciona correctamente accediendo a través del puerto expuesto, en este caso el 8080:
337 +
338 +* [[http:~~/~~/ipservidor:8080>>http://ipservidor:8080]]
339 +
340 += EXTRA =
341 +
390 390  == Compartir recurso que se usa en docker por smb ==
391 391  
392 392  Si vamos a compartir un directorio de datos usado por docker tambien a través de smb, es importante tener en cuenta los permisos.
... ... @@ -399,32 +399,8 @@
399 399  usermod -a -G tape usuario
400 400  {{/code}}
401 401  
402 -Para configurar el grupo en smb:
403 403  
404 -{{code language="bash"}}
405 -[datos]
406 - path = /datos/dFa
407 - browsable = yes
408 - writable = yes
409 - valid users = @tape
410 - #valid users = dFa
411 - read only = no
412 - force create mode = 0777
413 - force directory mode = 0777
414 - guest ok = no
415 -{{/code}}
416 416  
417 -De esta manera tanto docker como el usuario de smb que hemos añadido al grupo tape tendrá permisos sobre el recurso.
418 -
419 -También para evitar problemas, es importante asignar ACL's para que el recurso siempre tenga los mismos permisos cuando se añade un nuevo fichero y además aseguramos que el contenido ya existente se encuentra en un estado correcto en cuanto a los mismos:
420 -
421 -{{code language="bash"}}
422 -setfacl -R -m g:tape:rwx /datos/
423 -setfacl -R -d -m g:tape:rwx /datos/
424 -{{/code}}
425 -
426 -
427 -
428 428  
429 429  )))
430 430  )))
1740220925385-402.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dFa
Tamaño
... ... @@ -1,1 +1,0 @@
1 -173.2 KB
Contenido
1740242599208-350.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dFa
Tamaño
... ... @@ -1,1 +1,0 @@
1 -14.2 KB
Contenido
1740242963033-992.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.dFa
Tamaño
... ... @@ -1,1 +1,0 @@
1 -8.9 KB
Contenido