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, 0 añadido, 3 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 is: Base de datos de memoria caché redis29 +* 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]] ... ... @@ -141,8 +141,6 @@ 141 141 142 142 Con los volumenes creados, todavía nextcloud no es accesible, dado que debemos configurar tanto el config.php como como el nginx.conf. 143 143 144 -=== nginx.conf === 145 - 146 146 El fichero nginx.conf se encuentra en el volumen nextcloud_nginx_conf. Realizamos previamente un backup y reemplazamos por el siguiente: 147 147 148 148 {{code language="yaml"}} ... ... @@ -278,29 +278,9 @@ 278 278 } 279 279 {{/code}} 280 280 281 - Reiniciamos los contenedoresparaqueapliquenodos los cambios y comprobamossi funcionacorrectamenteaccediendo atravésdelpuertoexpuesto,en estecasoel 8080:261 +Hacemos lo mismo con el fichero config.php que se encuentra en el volumen app dentro del directorio config: 282 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 -=== config.php === 290 - 291 -Una vez realizada la instalación, nos redireccionará mediante https lo cual dará el siguiente error: 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,273 + '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,75 +356,15 @@ 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: 317 + 318 +))) 360 360 361 -* 'datadirectory' => '/var/nextcloud/data', 362 362 363 -Dado que indica el directorio de datos dentro del contenedor. 364 364 365 -Así como la directivas: 366 366 367 -* overwrite.cli.url' => 'https:~/~/dfacloud.ddns.net' 368 -* 'overwritehost' => '10.100.200.35:8080' 369 -* 'overwriteprotocol' => 'http' 370 370 371 -Estas directivas garantizarán que podremos acceder mediante http de manera loca y mediante https de manera externa 372 - 373 -=== Permisos === 374 - 375 -Es importante tener en cuenta los permisos de los directorios, sobre todo los directorios de datos y perfiles de usuarios. 376 - 377 -En nuestro caso hemos montado el perfil de usuario en un directorio distinto dado que es una recomendación de seguridad de nextcloud, y además hemos expuesto nuestro disco /datos montando en el host anfitrión al contenedor, por lo que es posible que tengamos que revisar los permisos. 378 - 379 -El usuario y grupo desde el host anfitrión en nuestro caso son: 380 - 381 -* user: 33 (www-data) 382 -* group: tape (www-data) 383 - 384 -Y deben contener permisos 770 385 - 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 - 388 -= OTROS = 389 - 390 -== Compartir recurso que se usa en docker por smb == 391 - 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. 393 - 394 -Para ello añadiremos nuestro usuario de smb al grupo tape e indicaremos en el recurso smb como usuario valido dicho grupo. 395 - 396 -Para añadir el usuario al grupo tape: 397 - 398 -{{code language="bash"}} 399 -usermod -a -G tape usuario 400 -{{/code}} 401 - 402 -Para configurar el grupo en smb: 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 - 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 - 324 +(% class="col-xs-12 col-sm-4" %) 325 +((( 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