Documentation technique

Principales fonctionnalités

  • Observation des postes élèves (VNC avec websokify, en cas de problème : cliquer sur le lien dans l'aide et accepter le certificat) ;

  • L'authentification est centralisée et gérée par eoleflask-aaa, donc plus de cron pour effacer les fichiers de sessions sur le serveur

  • Une section EOP dans le diagnose fait un TCPCheck des ports 8788 de controle-vnc et 6080 de websockify.

EOP est une application flask servie par gunicorn, dialoguant avec controle-vnc grâce à une clé secrète et gérée par apache en reverse-proxy.

En cas de dysfonctionnement il faut vérifier :

  • l'état du service eoleflask ;

  • l'état du service controle-vnc.

Si le module est en mode conteneur il faut utiliser les commandes suivantes dans le conteneur web, pour se rendre dans le conteneur web : # ssh web .

Vérifier le service eoleflask.

Vérifier les logs dans /var/log/eoleflask/gunicorn-error.log et /var/log/eoleflask/gunicorn-access.log.

  • S'il y a une erreur NoApplicationError: No application loaded alors il faut vérifier la présence d'un lien symbolique dans /etc/eole/flask/enabled/ pointant vers le fichier /etc/eole/flask/available/eop.conf.

  • S'il y a une erreur CookieError: Invalid Attribute envole.user, il faut mettre à jour eole-posh ou supprimer le cookie $envole.user.

Relancer le service :

# service eoleflask restart

Vérifier le service controle-vnc.

Contrôler les logs dans /var/log/controle-vnc/main.log.

Vérifier que le service est bien à l'écoute sur le port 8788 :

# netstat -ndtal | grep 8788

Et que le port 8788 n'est pas bloqué par le pare-feu (seulement pour le mode conteneur) :

# iptables -L | grep 8788

S'assurer de la correspondance de la clé secrète contenue dans /etc/controlevnc/.secret et la variable SECRET_KEY du fichier /etc/eole/flask/available/eop.conf.

Vérifier le service apache.

Vérifier que les modules apache pour le proxy inverse sont bien activés :

# a2enmod proxy proxy_http

# service apache restart

Tester EOP sans passer par le proxy inverse (de l'extérieur par tunnel SSH) :

# ssh -L 9999:127.0.0.1:5000 root@<adresse IP du module>

Puis entrer dans un navigateur l'URL : http://localhost:9999/documents

Les journaux de l'application EOP sont accessibles dans le fichier /var/log/eoleflask/eop.log.