Closed Doctor-Who closed 6 years ago
Salut, Essaye la version 3.1.6 de Lizmap, la latest c'est la master. jancelin/docker-lizmap:3.1.6
Je suis en Thaïlande, ça va être dur de debuger plus....
Salut Julien,
Pas de problème, je peux attendre ton retour. Idem avec la version 3.1.6 ... je ne comprends vraiment pas ce qui peut clocher ... J'ai chowner en récursif mes répertoires en 33:33
Salut Nicolas,
Un : docker ps -a donne quoi ? Je penses qu'un docker images serait utile aussi
Salut Sylvain :) Content de te voir ici, ça donne ça
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc198da84301 jancelin/docker-lizmap:3.1.6 "/bin/sh -c /start.sh" 4 hours ago Up 4 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp data_lizmap_1
33b62e5157af jancelin/qgis-server:2.18-wfsOutputExtension "/bin/sh -c /start.sh" 4 hours ago Up 4 hours 80/tcp data_qgiserver_1
3ab13e0674d0 portainer/portainer "/portainer" 29 hours ago Up 28 hours 0.0.0.0:9000->9000/tcp orchestration_01
REPOSITORY TAG IMAGE ID CREATED SIZE
jancelin/qgis-server 2.18-wfsOutputExtension cd0a2bb2fe73 6 days ago 989MB
jancelin/docker-lizmap 3.1.6 1a1970f27897 6 days ago 333MB
traefik latest 1f4f407e37eb 2 weeks ago 49.5MB
portainer/portainer latest 7120867536bd 3 weeks ago 33.9MB
Tu peux regarder les logs de chaque container avec ça
docker logs CONTAINER_ID
Mais je regarderais plus le log lizmap situé dans ton lizmap var soit pour toi /srv/data/lizmap_var/logs.db Pour la lecture c'est du sqlite : https://docs.3liz.com/fr/admin/logs.html
Perso je penches plus pour un problème de droits
Le dossier est vide, je n'ai pas de base logs.db
Problème de droits donc ! Essaye de modifier les droits avant la création des containers. Il me semble que j'ai déjà eu le problème mais je ne me rappelle plus ce que j'avais pour résoudre à part supprimer mes containers et les recréer mais sans docker compose dans mon cas.
Le hic c'est que même avec mes dossiers en 33:33 quand je lance la création des dockers, il me rebascule l'ensemble des sous dossiers en root.
Même dans un répertoire /home/$USER ?
Essaye
docker exec -it containername bash
Et
chown www-data:www-data -R /home
Quand on fait un chown dans un container soit on le fait de l'extérieur avec le PID soit à l'intérieur, docker exec, avec l'utilisateur de la distribution, ici debian.
envoyé depuis Phuket, je pouvais pas résister....
Salut,
Merci d'avoir pris le temps sur tes vacances de me débloquer. Hélas cela ne fonctionne toujours pas, c'est vraiment étrange. Même en lançant le docker compose depuis un utilisateur dans le groupe docker il me créé les sous répertoire en root ???!!! Même en rechmodant derrière depuis le containeur, cela ne fonctionne toujours pas... Je dois passer à coté de quelque chose ...
PS : désolé pas eu une minute pour faire le suivi avant cela
Salut, C'est dans quel répertoire ? Dans un répertoire du /home/$USER il refait la même chose. Il y a une sécurité linux sûrement depuis longtemps mais actif depuis peu qui rebascule automatiquement les droits sur root ou responsable du paquet ta distribution. Du moins j'ai ça sur Manjaro/Archlinux, c'est pour ça que je demandes sur le répertoire du $USER. Le système de fichier a sûrement été créé par défaut sous suse avec l'option :
‘--preserve-root’ Fail upon any attempt to recursively change the root directory, /. Without --recursive, this option has no effect
Tu peux faire un chmod avec l'option '--no-preserve-root' => https://www.gnu.org/software/coreutils/manual/html_node/chmod-invocation.html ou chmod 775 -R pour test. Tu peux aussi ajouter root au groupe www-data pour test uniquement.
Docker s'exécute toujours en root même si tu ajoutes l'utilisateur au groupe. If you want to be able to run docker as a regular user, add yourself to the docker group. Warning: Anyone added to the docker group is root equivalent. More information https://github.com/docker/docker/issues/9976 and https://docs.docker.com/engine/security/security/ Source : https://wiki.archlinux.org/index.php/Docker#Installation.
Quand www-data n'existe pas ? Comment dois je faire ? Chez moi c'est wwwrun:www par exemple (sous openSUSE il n'y a pas d'utilisateur et de groupe avec le même ID. Je teste sur un rep' user mais cela n'arrange pas mes points de montage :/
On travaille dans un container qui n'est pas de même distribution que l'hote avec les pid.
root@20c13c8bce67:/# ls -l /var/www/websig/lizmap/var
total 40
-rwxrwxr-x 1 root www-data 3072 Jan 29 09:28 cacheTemplate.db
drwxrwxr-x 5 www-data www-data 4096 Jan 29 11:36 config
drwxrwxr-x 2 www-data www-data 4096 Feb 26 11:19 db
drwxrwxr-x 2 www-data www-data 4096 Jan 29 09:28 lizmap-theme-config
drwxrwxr-x 2 www-data www-data 4096 Feb 5 09:45 log
drwxrwxr-x 2 www-data www-data 4096 Jan 29 09:28 mails
drwxrwxr-x 10 root www-data 4096 Jan 29 09:28 overloads
drwxrwxr-x 2 root www-data 4096 Jan 29 09:28 sessions
drwxrwxr-x 3 root www-data 4096 Jan 29 09:28 themes
drwxrwxr-x 2 www-data www-data 4096 Jan 29 09:28 uploads
root@20c13c8bce67:/# ls -ln /var/www/websig/lizmap/var
total 40
-rwxrwxr-x 1 0 33 3072 Jan 29 09:28 cacheTemplate.db
drwxrwxr-x 5 33 33 4096 Jan 29 11:36 config
drwxrwxr-x 2 33 33 4096 Feb 26 11:19 db
drwxrwxr-x 2 33 33 4096 Jan 29 09:28 lizmap-theme-config
drwxrwxr-x 2 33 33 4096 Feb 5 09:45 log
drwxrwxr-x 2 33 33 4096 Jan 29 09:28 mails
drwxrwxr-x 10 0 33 4096 Jan 29 09:28 overloads
drwxrwxr-x 2 0 33 4096 Jan 29 09:28 sessions
drwxrwxr-x 3 0 33 4096 Jan 29 09:28 themes
drwxrwxr-x 2 33 33 4096 Jan 29 09:28 uploads
root@20c13c8bce67:/#
donc si l'on veux changer des droits directement de l'hote il faut faire par exemple
chown 33:33 -R /home
Le répertoire home est défini dans /srv plutôt que home. Les droits sont bons lizmap:users Même chose quand j'essaye de lancer avec une nouvel utilisateur qui a son home dans /home/$user
Julien, le chown en 33:33 est une des étapes que j'ai faites au tout début quand j'ai vu que cela ne fonctionnait pas (vu dans ta doc de CentOS d'ailleurs)
Les droits me semblent bons (le groupe 33 = video) :
drwxr-xr-x 2 33 video 6 26 févr. 12:27 lizmap_project
drwxr-xr-x 11 root root 211 26 févr. 12:27 lizmap_var
drwxr-xr-x 2 root root 6 26 févr. 12:29 tmp
-rwxrwxr-x 1 root video 3072 2 févr. 16:28 cacheTemplate.db
drwxrwxr-x 5 33 video 4096 8 févr. 12:58 config
drwxrwxr-x 2 33 video 67 26 févr. 12:32 db
drwxrwxr-x 2 33 video 28 2 févr. 16:28 lizmap-theme-config
drwxrwxr-x 2 33 video 49 26 févr. 12:27 log
drwxrwxr-x 2 33 video 28 2 févr. 16:28 mails
drwxrwxr-x 10 root video 191 2 févr. 16:28 overloads
drwxrwxr-x 2 root video 28 2 févr. 16:28 sessions
drwxrwxr-x 3 root video 29 2 févr. 16:28 themes
drwxrwxr-x 2 33 video 28 2 févr. 16:28 uploads
J'ai une précision : je pars de 0, je n'ai aucune instance de lizmap actuelle. Peut être me manque t'il des fichiers ? Sur la doc Docker, tu indiques qu'il faut recopier certains fichiers d'une installation. Est-ce que c'est à faire où la doc coté docker hub n'est pas à jour ?
Juste pour vous dire que je ne suis pas complètement boulet : portainer tourne avec un volume extérieur sans problème et j'ai également pgadmin4 qui se lance correctement.
J'ai trouvé ! En entrant dans le container, j'ai pu lire les logs lizmap et voir :
warning 2018-03-07 15:15:45 [2] session_write_close(): Failed to write session data (files). Please verify that the current setting of session.save_pathis correct (/var/lib/php5/sessions) /var/www/websig/lib/jelix/core/jSession.class.php 89
J'ai chowné en www-data le répertoire sessions dans /var/lib/php5 et cela fonctionne, j'ai accès à l'admin lizmap.
:+1:
Donc c'était bien un problème de droits dans le container. Intéressant !
Bonjour,
Contenu du fichier docker-compose.yml :
J'accède bien à la page d'accueil (vide) de lizmap Connexion à l'admin impossible avec id : admin / pass : admin Aucun message d'erreur, rien, la page se recharge mais rien ne se passe et je ne suis pas connecté (testé avec firefox, chromium en mode normal et navigation privée juste au cas où) J'ai essayé de saisir un autre utilisateur au hasard : lizmap me répond bien que l'authentification est incorrecte
Au cas où ce serait du à ma distribution exotique, j'ai réessayé en commentant l'ensemble des volumes pour écarter tout problème de droits et ne fonctionner qu'avec des données interne (même si un
chown -R 33:33 /srv/data/lizmap_project /srv/data/lizmap_var /srv/data/tmp
est censé résoudre le problème)Quand j'entre en commande dans le container (via portainer par ex), je parcours bien depuis le containeur les projets et fichiers QGIS ajouté depuis mon hôte openSUSE mais lizmap ne voit rien hélas (ni projet, pas de login possible)
J'espère que ces infos complètes vous permettrons de me filer un coup de main :)