Cambios para el documento Instalacion (docker)
Última modificación por dFa el 2025/02/24 10:01
Resumen
-
Propiedades de página (1 modificado, 0 añadido, 0 eliminado)
-
Adjuntos (0 modificado, 3 añadido, 0 eliminado)
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 -* red es: Base de datos de memoria caché redis29 +* redis: Base de datos de memoria caché redis 30 30 * app: Aplicativo nextcloud 31 -* web: Servidor web nginx 31 +* web: Servidor web nginx, se encarga de redireccionar las peticiones hacia el aplicativo (app) 32 32 33 33 El primer paso es generar nuestro docker-compose: 34 34 ... ... @@ -74,6 +74,11 @@ 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 + 77 77 web: 78 78 image: nginx 79 79 container_name: nextcloud-web ... ... @@ -104,7 +104,7 @@ 104 104 Los volúmenes se han configurado por las siguientes razones: 105 105 106 106 * database: Ficheros de la base de datos mysql 107 -* redis: Ficheros de la base de datos redes112 +* redis: Ficheros de la base de datos de memoria caché 108 108 * data: Ficheros del aplicativo nextcloud (es necesario que lo usen tanto el contenedor app como el contenedor web) 109 109 * user: Ficheros de los perfiles de usuarios creados para nextcloud 110 110 * nginx_conf: Fichero nginx.conf ... ... @@ -111,6 +111,19 @@ 111 111 112 112 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. 113 113 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 + 114 114 Desplegamos los contenedores: 115 115 116 116 [[image:1740216653242-590.png]] ... ... @@ -260,11 +260,31 @@ 260 260 } 261 261 {{/code}} 262 262 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 + 263 263 === config.php === 264 264 265 - Hacemoslo mismocon elfichero config.phpqueseencuentra enlvolumenappdentrodeldirectorioconfig:291 +Una vez realizada la instalación, nos redireccionará mediante https lo cual dará el siguiente error: 266 266 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, teniendo en cuenta de no reemplazar los siguiente valores: 296 + 267 267 {{code language="php"}} 298 +'passwordsalt' => 'bFuPjx3NMpliQCtY729Uob2SRp19xe', 299 +'secret' => 'eFMG77LAdbjw6oPSJM7hL/IDPBnP3qDxE7xlX6/uPMOvQ/kG' 300 +'dbpassword' => 'Ko5b0sq977j1saaCQ3SD55' 301 +{{/code}} 302 + 303 +config.php: 304 + 305 +{{code language="php"}} 268 268 <?php 269 269 $CONFIG = array ( 270 270 'memcache.local' => '\\OC\\Memcache\\APCu', ... ... @@ -274,7 +274,7 @@ 274 274 array ( 275 275 'path' => '/var/www/html/apps', 276 276 'url' => '/apps', 277 - 'writable' => true,315 + 'writable' => false, 278 278 ), 279 279 1 => 280 280 array ( ... ... @@ -305,6 +305,8 @@ 305 305 'dbtype' => 'mysql', 306 306 'version' => '30.0.6.2', 307 307 'overwrite.cli.url' => 'https://dfacloud.ddns.net', 346 + 'overwritehost' => '10.100.200.35:8080', 347 + 'overwriteprotocol' => 'http', 308 308 'dbname' => 'nextcloud', 309 309 'dbhost' => 'db', 310 310 'dbport' => '', ... ... @@ -318,6 +318,20 @@ 318 318 319 319 En este fichero php tendremos que tener en cuenta modificar los valores nuestra dirección ip:puerto y nuestra dns en consecuencia. 320 320 361 +Tambien debemos tener en cuenta la directiva: 362 + 363 +* 'datadirectory' => '/var/nextcloud/data', 364 + 365 +Dado que indica el directorio de datos dentro del contenedor. 366 + 367 +Así como la directivas: 368 + 369 +* overwrite.cli.url' => 'https:~/~/dfacloud.ddns.net' 370 +* 'overwritehost' => '10.100.200.35:8080' 371 +* 'overwriteprotocol' => 'http' 372 + 373 +Estas directivas garantizarán que podremos acceder mediante http de manera loca y mediante https de manera externa 374 + 321 321 === Permisos === 322 322 323 323 Es importante tener en cuenta los permisos de los directorios, sobre todo los directorios de datos y perfiles de usuarios. ... ... @@ -329,24 +329,50 @@ 329 329 * user: 33 (www-data) 330 330 * group: tape (www-data) 331 331 386 +Y deben contener permisos 770 387 + 332 332 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. 333 333 334 -= =Acceso==390 += OTROS = 335 335 336 - Reiniciamoslos contenedoresparaqueapliquentodosloscambiosy comprobamos si funciona correctamenteaccediendoa través del puertoexpuesto,en estecaso el 8080:392 +== Compartir recurso que se usa en docker por smb == 337 337 338 - *[[http:~~/~~/ipservidor:8080>>http://ipservidor:8080]]394 +Si vamos a compartir un directorio de datos usado por docker tambien a través de smb, es importante tener en cuenta los permisos. 339 339 340 -== EXTRA == 341 -))) 396 +Para ello añadiremos nuestro usuario de smb al grupo tape e indicaremos en el recurso smb como usuario valido dicho grupo. 342 342 343 - ====398 +Para añadir el usuario al grupo tape: 344 344 400 +{{code language="bash"}} 401 +usermod -a -G tape usuario 402 +{{/code}} 345 345 404 +Para configurar el grupo en smb: 346 346 406 +{{code language="bash"}} 407 +[datos] 408 + path = /datos/dFa 409 + browsable = yes 410 + writable = yes 411 + valid users = @tape 412 + #valid users = dFa 413 + read only = no 414 + force create mode = 0777 415 + force directory mode = 0777 416 + guest ok = no 417 +{{/code}} 347 347 348 -(% class="col-xs-12 col-sm-4" %) 349 -((( 419 +De esta manera tanto docker como el usuario de smb que hemos añadido al grupo tape tendrá permisos sobre el recurso. 420 + 421 +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: 422 + 423 +{{code language="bash"}} 424 +setfacl -R -m g:tape:rwx /datos/ 425 +setfacl -R -d -m g:tape:rwx /datos/ 426 +{{/code}} 427 + 428 + 429 + 350 350 351 351 ))) 352 352 )))
- 1740220925385-402.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dFa - Tamaño
-
... ... @@ -1,0 +1,1 @@ 1 +173.2 KB - Contenido
- 1740242599208-350.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dFa - Tamaño
-
... ... @@ -1,0 +1,1 @@ 1 +14.2 KB - Contenido
- 1740242963033-992.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.dFa - Tamaño
-
... ... @@ -1,0 +1,1 @@ 1 +8.9 KB - Contenido