modification des formations pour nantes
This commit is contained in:
parent
c9ff45b060
commit
4be04cd9e7
|
@ -36,6 +36,10 @@
|
|||
\include{amon/00-commun}
|
||||
\include{commun/03-configuration}
|
||||
\include{commun/02-administration}
|
||||
\include{commun/02-instance-reconfigure}
|
||||
\include{commun/02-administration2}
|
||||
\include{commun/02-conteneurs}
|
||||
\include{commun/02-administration3}
|
||||
\include{commun/20-firewall.tex}
|
||||
\include{commun/21-schedule.tex}
|
||||
\include{commun/22-pratique.tex}
|
||||
|
|
|
@ -37,46 +37,3 @@
|
|||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Instance ou reconfigure}
|
||||
\begin{itemize}
|
||||
\item L'instance ne doit être lancée qu'une seule fois sur les modules ;
|
||||
\item en cas de mise à jour, d'installation de paquet ou de changement de paramétrage : reconfigure.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Diagnostic}
|
||||
\begin{itemize}
|
||||
\item La commande "diagnose" permet de tester différents points du serveur ;
|
||||
\item La commande "diagnose -L" propose un diagnostic étendu.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Faire un reconfigure ;
|
||||
\item lancer un diagnostic ;
|
||||
\item lancer un diagnostic étendu.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Administration des conteneurs}
|
||||
\begin{itemize}
|
||||
\item Status des conteneurs : lxc-status ;
|
||||
\item gestion d'un service : CreoleService nom\_service start|stop|status ;
|
||||
\item entrer dans le conteneur : ssh nom\_conteneur.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Vérifier le status des conteneurs ;
|
||||
\item redémarrer le service smbd ;
|
||||
\item redémarrer le service ntp ;
|
||||
\item entrer dans le conteneur fichier.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
\begin{frame}
|
||||
\frametitle{Diagnostic}
|
||||
\begin{itemize}
|
||||
\item La commande "diagnose" permet de tester différents points du serveur ;
|
||||
\item La commande "diagnose -L" propose un diagnostic étendu.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Faire un reconfigure ;
|
||||
\item lancer un diagnostic ;
|
||||
\item lancer un diagnostic étendu.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Vérifier le status des conteneurs ;
|
||||
\item redémarrer le service smbd ;
|
||||
\item redémarrer le service ntp ;
|
||||
\item entrer dans le conteneur fichier.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
\begin{frame}
|
||||
\frametitle{Administration des conteneurs}
|
||||
\begin{itemize}
|
||||
\item Status des conteneurs : lxc-status ;
|
||||
\item gestion d'un service : CreoleService nom\_service start|stop|status ;
|
||||
\item entrer dans le conteneur : ssh nom\_conteneur.
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,9 @@
|
|||
\begin{frame}
|
||||
\frametitle{Instance ou reconfigure}
|
||||
\begin{itemize}
|
||||
\item L'instance ne doit être lancée qu'une seule fois sur les modules ;
|
||||
\item en cas de mise à jour, d'installation de paquet ou de changement de paramétrage : reconfigure.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
Binary file not shown.
|
@ -1,18 +1,7 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
###########################################################################
|
||||
# Eole NG - 2007
|
||||
# Copyright Pole de Competence Eole (Ministere Education - Academie Dijon)
|
||||
# Licence CeCill cf /root/LicenceEole.txt
|
||||
# eole@ac-dijon.fr
|
||||
#
|
||||
# test_perso.zephir
|
||||
#
|
||||
# exemple de script personnalisé pour le client zephir
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
import os, sys
|
||||
import sys
|
||||
from zephir.lib_zephir import *
|
||||
from creole import fonctionseole
|
||||
|
||||
|
@ -28,10 +17,10 @@ try:
|
|||
sudo_script('supprimer_fichier_sudo.zephir %s' % filename)
|
||||
except:
|
||||
fonctionseole.zephir("ERR" , "supprimer_fichier lancé sans argument", "PERSO")
|
||||
exit(1)
|
||||
sys.exit(1)
|
||||
if is_locked(['reconfigure']):
|
||||
fonctionseole.zephir("ERR" , "supprimer_fichier stoppé : reconfigure en cours", "PERSO")
|
||||
exit(1)
|
||||
sys.exit(1)
|
||||
else:
|
||||
fonctionseole.zephir("FIN" , "supprimer_fichier : OK", "PERSO")
|
||||
|
||||
|
|
|
@ -10,148 +10,3 @@
|
|||
\end{columns}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Ajouter un service web sur Scribe}
|
||||
\begin{itemize}
|
||||
\item Mise en place des fichiers :
|
||||
\begin{itemize}
|
||||
\item décompresser les fichiers dans /var/www/html/,
|
||||
\item modifier l'utilisateur en www-data seulement pour les répertoires nécessaires ;
|
||||
\end{itemize}
|
||||
\item configuration Apache :
|
||||
\begin{itemize}
|
||||
\item dans l'onglet apache en mode expert,
|
||||
\item ajouter le chemin complet et l'alias,
|
||||
\end{itemize}
|
||||
\item configuration Mysql :
|
||||
\begin{itemize}
|
||||
\item création d'un utilisateur distinct par application,
|
||||
\item utiliser le script /usr/share/eole/mysql\_add.py ;
|
||||
\end{itemize}
|
||||
\item configuration du logiciel.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Installer Dotclear ;
|
||||
\item accès en écrire pour les répertoires cache/ et public/ ;
|
||||
\item http://<ip>/admin/install/.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Envole}
|
||||
\begin{itemize}
|
||||
\item Envole : système d'intégration de services web ;
|
||||
\item personnalisable par l'utilisateur ;
|
||||
\item historique :
|
||||
\begin{itemize}
|
||||
\item 1 : cartable en ligne de Créteil,
|
||||
\item 1.5 : mis à disposition de tous,
|
||||
\item 2.0 : projet mutualisé entre Créteil et Dijon : modulaire ;
|
||||
\end{itemize}
|
||||
\item authentification grâce au SSO ;
|
||||
\item besoin d'un nom de domaine.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Réseau social}
|
||||
\begin{itemize}
|
||||
\item Boîte à outil ;
|
||||
\item marques-pages ;
|
||||
\item intégrer les applications ;
|
||||
\item gestion des groupe ;
|
||||
\item suivi d'activité ;
|
||||
\item partage d'informations ;
|
||||
\item désactivable dans Envole.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Réseau social}
|
||||
\begin{itemize}
|
||||
\item groupe : actualité au groupe ;
|
||||
\item réseau : utilisateur ;
|
||||
\item alert : inscription aux réseaux | commentaire
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Profil}
|
||||
\begin{itemize}
|
||||
\item Visible par tout le monde ;
|
||||
\item photo ;
|
||||
\item tag ;
|
||||
\item description.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Contributions}
|
||||
\begin{itemize}
|
||||
\item Ensemble des publications d'un utilisateur ;
|
||||
\item status : visible par tout le monde;
|
||||
\item articles.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Articles}
|
||||
\begin{itemize}
|
||||
\item Ecrire un article
|
||||
\item Titre (toujours visible)
|
||||
\item Tags (pour la recherche)
|
||||
\item ACL : Tout le monde, Mon réseau, Juste moi
|
||||
\item boîte à outils
|
||||
\item Contenu de l'article
|
||||
\item commentaire :
|
||||
\begin{itemize}
|
||||
\item visible par son réseau
|
||||
\item peut supprimer ces commentaires
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Synchronisation des groupes}
|
||||
\begin{itemize}
|
||||
\item Depuis l'EAD (si Envole est activé) ;
|
||||
\item Envole / Synchronisation ;
|
||||
\item création d'une sélection de groupe (pas forcement tous).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Widgets}
|
||||
\begin{itemize}
|
||||
\item Partage de widget ;
|
||||
\item création :
|
||||
\begin{itemize}
|
||||
\item Widget / Mes widgets / Créer un widget,
|
||||
\item suivre la procédure.
|
||||
\item nécessite validation de l'administrateur
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Gestion des profils}
|
||||
\begin{itemize}
|
||||
\item Création des profils pour les utilisateurs ;
|
||||
\item gestion des onglets par défaut ;
|
||||
\item gestion des icônes de bureau.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Charte}
|
||||
\begin{itemize}
|
||||
\item Activation du plugin ;
|
||||
\item création dans l'onget "charte informatique";
|
||||
\item liste validé ;
|
||||
\item peut utiliser sans valider.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
\begin{frame}
|
||||
\frametitle{Ajouter un service web sur Scribe}
|
||||
\begin{itemize}
|
||||
\item Mise en place des fichiers :
|
||||
\begin{itemize}
|
||||
\item décompresser les fichiers dans /var/www/html/,
|
||||
\item modifier l'utilisateur en www-data seulement pour les répertoires nécessaires ;
|
||||
\end{itemize}
|
||||
\item configuration Apache :
|
||||
\begin{itemize}
|
||||
\item dans l'onglet apache en mode expert,
|
||||
\item ajouter le chemin complet et l'alias,
|
||||
\end{itemize}
|
||||
\item configuration Mysql :
|
||||
\begin{itemize}
|
||||
\item création d'un utilisateur distinct par application,
|
||||
\item utiliser le script /usr/share/eole/mysql\_add.py ;
|
||||
\end{itemize}
|
||||
\item configuration du logiciel.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Installer Dotclear ;
|
||||
\item accès en écrire pour les répertoires cache/ et public/ ;
|
||||
\item http://<ip>/admin/install/.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
\begin{frame}
|
||||
\frametitle{Envole}
|
||||
\begin{itemize}
|
||||
\item Envole : système d'intégration de services web ;
|
||||
\item personnalisable par l'utilisateur ;
|
||||
\item historique :
|
||||
\begin{itemize}
|
||||
\item 1 : cartable en ligne de Créteil,
|
||||
\item 1.5 : mis à disposition de tous,
|
||||
\item 2.0 : projet mutualisé entre Créteil et Dijon : modulaire ;
|
||||
\end{itemize}
|
||||
\item authentification grâce au SSO ;
|
||||
\item besoin d'un nom de domaine.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Réseau social}
|
||||
\begin{itemize}
|
||||
\item Boîte à outil ;
|
||||
\item marques-pages ;
|
||||
\item intégrer les applications ;
|
||||
\item gestion des groupe ;
|
||||
\item suivi d'activité ;
|
||||
\item partage d'informations ;
|
||||
\item désactivable dans Envole.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Réseau social}
|
||||
\begin{itemize}
|
||||
\item groupe : actualité au groupe ;
|
||||
\item réseau : utilisateur ;
|
||||
\item alert : inscription aux réseaux | commentaire
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Profil}
|
||||
\begin{itemize}
|
||||
\item Visible par tout le monde ;
|
||||
\item photo ;
|
||||
\item tag ;
|
||||
\item description.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Contributions}
|
||||
\begin{itemize}
|
||||
\item Ensemble des publications d'un utilisateur ;
|
||||
\item status : visible par tout le monde;
|
||||
\item articles.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Articles}
|
||||
\begin{itemize}
|
||||
\item Ecrire un article
|
||||
\item Titre (toujours visible)
|
||||
\item Tags (pour la recherche)
|
||||
\item ACL : Tout le monde, Mon réseau, Juste moi
|
||||
\item boîte à outils
|
||||
\item Contenu de l'article
|
||||
\item commentaire :
|
||||
\begin{itemize}
|
||||
\item visible par son réseau
|
||||
\item peut supprimer ces commentaires
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Synchronisation des groupes}
|
||||
\begin{itemize}
|
||||
\item Depuis l'EAD (si Envole est activé) ;
|
||||
\item Envole / Synchronisation ;
|
||||
\item création d'une sélection de groupe (pas forcement tous).
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Widgets}
|
||||
\begin{itemize}
|
||||
\item Partage de widget ;
|
||||
\item création :
|
||||
\begin{itemize}
|
||||
\item Widget / Mes widgets / Créer un widget,
|
||||
\item suivre la procédure.
|
||||
\item nécessite validation de l'administrateur
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Gestion des profils}
|
||||
\begin{itemize}
|
||||
\item Création des profils pour les utilisateurs ;
|
||||
\item gestion des onglets par défaut ;
|
||||
\item gestion des icônes de bureau.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Charte}
|
||||
\begin{itemize}
|
||||
\item Activation du plugin ;
|
||||
\item création dans l'onget "charte informatique";
|
||||
\item liste validé ;
|
||||
\item peut utiliser sans valider.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
@ -37,6 +37,10 @@
|
|||
\include{scribe/00-commun}
|
||||
\include{commun/03-configuration}
|
||||
\include{commun/02-administration}
|
||||
\include{commun/02-instance-reconfigure}
|
||||
\include{commun/02-administration2}
|
||||
\include{commun/02-conteneurs}
|
||||
\include{commun/02-administration3}
|
||||
\include{commun/20-firewall.tex}
|
||||
\include{commun/21-schedule.tex}
|
||||
\include{commun/22-pratique.tex}
|
||||
|
@ -56,7 +60,9 @@
|
|||
\include{commun/20-ead}
|
||||
|
||||
\include{envole/00-introduction}
|
||||
\include{envole/01-applications}
|
||||
\include{envole/01-ajout}
|
||||
\include{envole/02-applications}
|
||||
\include{envole/02-posh}
|
||||
|
||||
\end{document}
|
||||
|
||||
|
|
|
@ -36,6 +36,10 @@
|
|||
\include{scribe/00-commun}
|
||||
\include{commun/03-configuration}
|
||||
\include{commun/02-administration}
|
||||
\include{commun/02-instance-reconfigure}
|
||||
\include{commun/02-administration2}
|
||||
\include{commun/02-conteneurs}
|
||||
\include{commun/02-administration3}
|
||||
\include{commun/20-firewall.tex}
|
||||
\include{commun/21-schedule.tex}
|
||||
\include{commun/22-pratique.tex}
|
||||
|
|
|
@ -92,7 +92,7 @@
|
|||
\item cacher des variables suivant des contraintes <condition name='hidden\_if\_in|hidden\_if\_not\_in' source='var'>...</condition> :
|
||||
\begin{itemize}
|
||||
\item valeur de la variable testé : <param>...</param> ;
|
||||
\item affecte <target type='family|filelist'>nom</target> :
|
||||
\item affecte <target type='family|filelist|servicelist|...'>nom</target> :
|
||||
\end{itemize}
|
||||
\item Lien entre variable : <group master='var'>...</group> :
|
||||
\begin{itemize}
|
||||
|
@ -126,12 +126,20 @@
|
|||
\begin{itemize}
|
||||
\item Variable Creole préfixé par \begin{semiverbatim}\%\%\end{semiverbatim}
|
||||
\item Test : \begin{semiverbatim}\%if EXPRESSION code if \%else code else \%end if\end{semiverbatim}
|
||||
\item Test existance : \begin{semiverbatim}\%if \%\%is\_defined('variable') code if \%end if\end{semiverbatim}
|
||||
\item Boucle : \begin{semiverbatim}\%for \%\%i in EXPRESSION hello \%\%i \%end for\end{semiverbatim}
|
||||
\item Boucle pour variable multi évolué avec esclave : \begin{semiverbatim}\%for \%\%var in \%\%variablemaitre\end{semiverbatim}\begin{semiverbatim}\%\%var, \%\%var.esclave1, \%\%var.esclave2\end{semiverbatim}\begin{semiverbatim}\%end if\end{semiverbatim}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Langague de template Creole}
|
||||
\begin{itemize}
|
||||
\item Test existance : \begin{semiverbatim}\%if \%\%is\_defined('variable') code if \%end if\end{semiverbatim}
|
||||
\item valeur vide : \begin{semiverbatim}\%if \%\%is\_empty(\%\%variable) code if \%end if\end{semiverbatim}
|
||||
\item nom de variable dans une variable : \begin{semiverbatim}\%set \%\%var='adresse\_ip\_eth0' \%\%getVar(\%\%var)\end{semiverbatim}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique 1}
|
||||
\begin{itemize}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
\begin{frame}
|
||||
\frametitle{Redéfinition}
|
||||
\begin{itemize}
|
||||
\item Permet de redéfinir des attributs et caractéristiques :
|
||||
\begin{itemize}
|
||||
\item service
|
||||
\item variable
|
||||
\end{itemize}
|
||||
\item remove\_check : supprimer les "check" déjà définit de la variable.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Existance d'un variable}
|
||||
\begin{itemize}
|
||||
\item Créé la variable si elle n'existe pas encore.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Caché multi-condition}
|
||||
\begin{itemize}
|
||||
\item Créé une variable "test\_xxxx" caché ;
|
||||
\item ajouter une "auto" avec calcul "calc\_multi\_condition" ;
|
||||
\item faire une condition "hidden\_if\_in" sur la variable.
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -1,5 +1,5 @@
|
|||
\begin{frame}
|
||||
\frametitle{Exécuter un script}
|
||||
\frametitle{Exécuter un script Zéphir}
|
||||
\begin{itemize}
|
||||
\item Exécution sur un serveur ou un groupe de serveurs ;
|
||||
\item les scripts doivent être dans /usr/share/zephir/scripts/ ;
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
\begin{frame}
|
||||
\frametitle{Création d'un script diagnose}
|
||||
\begin{itemize}
|
||||
\item Diagnose sert à tester le service d'un serveur ;
|
||||
\item si possible, doit tester le bon fonctionnement de l'application ;
|
||||
\item script bash ;
|
||||
\item script commun : /usr/share/eole/diagnose/eole ;
|
||||
\item script par service : /usr/share/eole/diagnose/module.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Fonction diagnose standard}
|
||||
\begin{itemize}
|
||||
\item Certains nombres de fonction dans /usr/share/eole/FonctionEoleNg :
|
||||
\begin{itemize}
|
||||
\item TestIP2 : test une IP via paquet ICMP ECHO\_REQUEST ;
|
||||
\item TestARP : requète ARP (évite les problèmes de firewall) ;
|
||||
\item TestService : test une connexion TCP ;
|
||||
\item TestUDP : vérifie l'écoute d'un service UDP ;
|
||||
\item TestPid : test de la présence d'un processus via pidof ;
|
||||
\item TestHTTPPage : test une page web particulière ;
|
||||
\end{itemize}
|
||||
\item fonctions d'affichage :
|
||||
\begin{itemize}
|
||||
\item EchoGras : titre de section ;
|
||||
\item printf ". \%\${len\_pf}s => " "Test a afficher" ;
|
||||
\item EchoVert|EchoRouge : succès ou échec ;
|
||||
\item Inactif : si un service est inactif volontairement ;
|
||||
\item NoConfig : service non configuré.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Faire un fichier diagnose pour IRCD
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,42 @@
|
|||
\begin{frame}
|
||||
\frametitle{Script instance ou reconfigure}
|
||||
\begin{itemize}
|
||||
\item Utilité :
|
||||
\begin{itemize}
|
||||
\item tout ce qui n'est pas possible via les dictionnaires,
|
||||
\item création de répertoire/changement de droit,
|
||||
\item copie de fichier, suppression de fichier, déplacement de fichier,
|
||||
\item création de base,
|
||||
\item ... ;
|
||||
\end{itemize}
|
||||
\item principe :
|
||||
\begin{itemize}
|
||||
\item même script exécuter à l'instance et reconfigure,
|
||||
\item ne doit pas poser de question au reconfigure !
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Script instance ou reconfigure}
|
||||
\begin{itemize}
|
||||
\item emplacement des scripts :
|
||||
\begin{itemize}
|
||||
\item /usr/share/eole/pretemplate/ : avant la templatisation,
|
||||
\item /usr/share/eole/posttemplate/ : entre la templétisation et redémarrage des services,
|
||||
\item /usr/share/eole/postservice/ : après redémarrage des services ;
|
||||
\end{itemize}
|
||||
\item script bash ou python ;
|
||||
\item premier argument : instance|reconfigure
|
||||
\item doivent toujours retourner le code de sortie "0" sauf si problème.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Faire un script qui créé le répertoire /tmp/repertoire ;
|
||||
\item si le répertoire existe, proposer de le supprimer à l'instance.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
\begin{frame}
|
||||
\frametitle{Montage des conteneurs}
|
||||
\begin{itemize}
|
||||
\item Mode conteneur doit être plus proche du mode non conteneur ;
|
||||
\item répertoire où donnée utilisateur ;
|
||||
\item dans le répertoire /usr/share/eole/lxc/fstab/ ;
|
||||
\item fichier avec le nom du conteneur ou groupe de conteneur ;
|
||||
\item /home {{ROOTFS}}/home none bind 0 0
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,29 @@
|
|||
\begin{frame}
|
||||
\frametitle{Règle eole-firewall}
|
||||
\begin{itemize}
|
||||
\item Nom du fichier : 00\_extremite1\_commentaire.fw
|
||||
\item allow\_src() : extermite1 est la destination
|
||||
\item allow\_dst() : extermite1 est la source
|
||||
\item paramètres :
|
||||
\begin{itemize}
|
||||
\item interface : interface du maître
|
||||
\item container\_interface : interface dans le conteneur
|
||||
\item ip|container : extermite2
|
||||
\item port :
|
||||
\begin{itemize}
|
||||
\item num
|
||||
\item num:num
|
||||
\end{itemize}
|
||||
\item tcpwrapper
|
||||
\item protocol : udp|icmp
|
||||
\item si icmp : typ='echo-request'
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Faire une règle de firewall pour autoriser l'accès à IRCD.
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,19 @@
|
|||
\begin{frame}
|
||||
\frametitle{Schedule}
|
||||
\begin{itemize}
|
||||
\item Script principalement bash ;
|
||||
\item . /usr/share/eole/schedule/config.sh ;
|
||||
\item DESC="..." ;
|
||||
\item code retour 0 ;
|
||||
\item executable ;
|
||||
\item pas d'extension.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Faire un Schedule qui stop IRCD avant la sauvegarde ;
|
||||
\item faire un script qui démarre IRCD après la sauvegarde.
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,10 @@
|
|||
\begin{frame}
|
||||
\frametitle{Résolution de nom local}
|
||||
\begin{itemize}
|
||||
\item /usr/share/eole/lxc/hosts ;
|
||||
\item nom du fichier correspond au nom du conteneur ;
|
||||
\item fichier template ;
|
||||
\item adresse\_ip nom\_de\_domaine.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
\begin{frame}
|
||||
\frametitle{Gestion des bases de données}
|
||||
\begin{itemize}
|
||||
\item Import initial de la base ;
|
||||
\item gère les mises à jour (changement d'une option) ;
|
||||
\item /usr/share/eole/applications/{gen|updates}/xxx.py :
|
||||
\begin{itemize}
|
||||
\item conf\_dict = dict(filenames=[...], {test|test\_active}=test)
|
||||
\item emplacement des fichiers SQL : /usr/share/eole/mysql/xxx/{gen|updates}/xxxx.sql
|
||||
\end{itemize}
|
||||
\item eolesql.db\_test
|
||||
\item importation et modification de la base :
|
||||
\begin{itemize}
|
||||
\item db\_exists(database)
|
||||
\item test\_var(variable, value='oui')
|
||||
\item table\_exists(database, table)
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Gestion des bases de donnée}
|
||||
\begin{itemize}
|
||||
\item Change les mots de passe dans les fichiers de configuration ;
|
||||
\item /usr/share/eole/applications/passwords/xxx.ini :
|
||||
\begin{itemize}
|
||||
\item [xxx] : section
|
||||
\item username : nom d'utilisateur mysql à modifier
|
||||
\item template : clef à modifier (ex 'define("pass", "'
|
||||
\item end\_template : fin de la clef = '");'
|
||||
\item filename : chemin du fichier à modifier
|
||||
\item owner : utilisateur et groupe du fichier
|
||||
\item chmod : droit du fichier
|
||||
\item {pre|post}\_cmd : script exécuter avant|après la modification (NEWPASS est remplacé par le mot de passe).
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
\begin{frame}
|
||||
\frametitle{Interface supplémentaire}
|
||||
\begin{itemize}
|
||||
\item Pour les services sur le même réseau ;
|
||||
\item balise : <interface interfacelist='...' linkto='...' ip='\%\%...' mask='\%\%...' bcast='\%\%...'/>.
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,6 @@
|
|||
\begin{frame}
|
||||
\frametitle{Disknod}
|
||||
\begin{itemize}
|
||||
\item Accès direct au device (ACL, attribut étendu, ...).
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,9 @@
|
|||
\begin{frame}
|
||||
\frametitle{Attribut SSO}
|
||||
\begin{itemize}
|
||||
\item étendre les données disponibles en définissant des attributs calculés
|
||||
\item créer des filtres définissant quels attributs seront disponibles ;
|
||||
\item décrire des URL afin de différencier les applications et leur appliquer un filtre
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
\begin{frame}
|
||||
\frametitle{Console EAD}
|
||||
\begin{itemize}
|
||||
\item Permet de rendre des scripts accessible dans l'EAD ;
|
||||
\item pas d'option possible ;
|
||||
\item dans l'EAD : Système/Console ;
|
||||
\item /usr/share/ead2/backend/actions/cmd\_xxx.py : code de la commande ;
|
||||
\item /usr/share/ead2/backend/config/cmds/xxx.cmd : enregistrement de la commande ;
|
||||
\item /usr/share/ead2/backend/config/actions/actions\_xxx.cfg : enregistrement de l'action ;
|
||||
\item /usr/share/ead2/backend/config/perms/perm\_xxx.ini : association de rôle.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item Faire un script avec "ls /tmp".
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,8 @@
|
|||
\begin{frame}
|
||||
\frametitle{Fichier/répertoire dans la sauvegarde}
|
||||
\begin{itemize}
|
||||
\item Prévoir les extractions ;
|
||||
\item fichier/répertoire spécifié dans /etc/bacula/baculafichiers.d/.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
\begin{frame}
|
||||
\frametitle{Groupe de conteneur}
|
||||
\begin{itemize}
|
||||
\item Différents conteneurs peuvent être rassemblés ;
|
||||
\item le même path ;
|
||||
\item le même IP ;
|
||||
\item le même nom.
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,15 @@
|
|||
\begin{frame}
|
||||
\frametitle{Génération certificat}
|
||||
\begin{itemize}
|
||||
\item Fichier dans /usr/share/eole/certs/ ;
|
||||
\item fichier avec extension gen\_cert ;
|
||||
\item fonction gen\_certif() :
|
||||
\begin{itemize}
|
||||
\item certfile : nom du fichier crt ;
|
||||
\item keyfile : nom de la clef ;
|
||||
\item {cert|key}\_user, {cert|key}\_grp, {cert|key}\_chmod ;
|
||||
\item regen=regen ;
|
||||
\item container : nom du conteneur.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
|
@ -0,0 +1,179 @@
|
|||
\section{API EOLE python}
|
||||
\begin{frame}{Plan}
|
||||
\small \tableofcontents[currentsection, hideothersubsections]
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Ecrire en couleur}
|
||||
\begin{itemize}
|
||||
\item pyeole.ansiprint
|
||||
\item print\_red
|
||||
\item print\_green
|
||||
\item print\_orange
|
||||
\item ...
|
||||
\item print\_title
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Question}
|
||||
\begin{itemize}
|
||||
\item pyeole.ihm
|
||||
\item question\_ouinon
|
||||
\begin{itemize}
|
||||
\item question : contenu de la question de type oui/non
|
||||
\item default : valeur par défaut (défaut non)
|
||||
\item level : info|warn|err (défaut info)
|
||||
\item return oui ou non
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item print\_orange('couleur orange')
|
||||
\item print\_title('le titre')
|
||||
\item a=question\_ouinon('voulez vous vraiment faire cette action')
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Gestion des services}
|
||||
\begin{itemize}
|
||||
\item pyeole.service
|
||||
\item service\_out|service\_code
|
||||
\begin{itemize}
|
||||
\item service : nom du service
|
||||
\item action : start|stop|restart|status
|
||||
\item container : nom du conteneur (défaut root)
|
||||
\end{itemize}
|
||||
\item service\_code\_no\_container : démarrage d'un service dans tous les conteneurs avec le service
|
||||
\begin{itemize}
|
||||
\item service : nom du service
|
||||
\item action : start|stop|restart|status
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item a=service\_out('ntp', 'stop')
|
||||
\item a=service\_code('smbd', 'stop', 'fichier')
|
||||
\item a=service\_code\_no\_container('apache2', 'restart')
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Execution de commande}
|
||||
\begin{itemize}
|
||||
\item pyeole.process
|
||||
\item system\_code : exécution de commande, stdout et stderr dans la console
|
||||
\item system\_out : rien dans la console
|
||||
\begin{itemize}
|
||||
\item cmd : commande (list) ;
|
||||
\item stdin : valeur de STDIN ;
|
||||
\item container : nom du conteneur (root par défaut) ;
|
||||
\item env : variable d'environnement ;
|
||||
\item *context : ssh ou chroot (True par défaut) ;
|
||||
\item *pty : créé un pseudo terminal (False par défaut).
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Execution de commande}
|
||||
\begin{itemize}
|
||||
\item pyeole.process
|
||||
\item is\_installed
|
||||
\begin{itemize}
|
||||
\item package
|
||||
\item container : (défaut root)
|
||||
\item *context : (défaut True)
|
||||
\end{itemize}
|
||||
\item tcpcheck
|
||||
\begin{itemize}
|
||||
\item ip\_address : adresse IP
|
||||
\item port : port a tester
|
||||
\item timeout : temps d'attente maximum (défaut 1)
|
||||
\end{itemize}
|
||||
\item test\_conteneur : test si un conteneur est démarré
|
||||
\begin{itemize}
|
||||
\item container : nom du conteneur
|
||||
\item *ip\_address : adresse IP du conteneur (défaut None)
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item a=system\_code(['echo', 'mot'])
|
||||
\item a=system\_out(['echo', 'mot'])
|
||||
\item stdin : a=system\_code('cat', stdin="mot")
|
||||
\item env : a=system\_code('env', env={'mot': 'mot'})
|
||||
\item container : a=system\_code(['ls', '/etc/samba/'], container='fichier')
|
||||
\item installé : is\_installed('samba-common')
|
||||
\item non installé : is\_installed('samba')
|
||||
\item conteneur : is\_installed('samba', container='fichier')
|
||||
\item test service : tcpcheck('192.0.2.52', '139')
|
||||
\item test\_conteneur('fichier')
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Gestion des locks}
|
||||
\begin{itemize}
|
||||
\item creole.eolelock
|
||||
\item add\_lock : ajout d'un lock
|
||||
\item del\_lock : supprimer un lock
|
||||
\item check\_lock : vérifier la présence d'un fichier lock
|
||||
\begin{itemize}
|
||||
\item lock\_name : nom du fichier lock
|
||||
\end{itemize}
|
||||
\item check\_all\_locks : vérifier la présence des locks systèmes
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item add\_lock('test')
|
||||
\item check\_lock('test')
|
||||
\item del\_lock('test')
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Valeur du dictionnaire}
|
||||
\begin{itemize}
|
||||
\item creole.parsedico
|
||||
\item parse\_dico() : chargement des dictionnaires
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item conf\_eole = parse\_dico()
|
||||
\item print conf\_eole['adresse\_ip\_eth0']
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Valeur du dictionnaire conteneur}
|
||||
\begin{itemize}
|
||||
\item creole.eosfunc
|
||||
\item load\_conteneur\_var() : chargement des configurations conteneurs
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item container\_var = load\_container\_var()
|
||||
\item print container\_var['container\_ip\_fichier']
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
\section{API EOLE bash}
|
||||
\begin{frame}{Plan}
|
||||
\small \tableofcontents[currentsection, hideothersubsections]
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Ecrire en couleur}
|
||||
\begin{itemize}
|
||||
\item . /usr/share/eole/FonctionsEoleNg
|
||||
\item EchoRouge
|
||||
\item EchoVert
|
||||
\item EchoOrange
|
||||
\item ...
|
||||
\item EchoGras
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Question}
|
||||
\begin{itemize}
|
||||
\item Question\_ouinon
|
||||
\item \$1 : contenu de la question de type oui/non
|
||||
\item \$2 : valeur par défaut (défaut non)
|
||||
\item \$3 : info|warn|err (défaut info)
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item EchoOrange 'couleur orange'
|
||||
\item EchoGras 'le titre'
|
||||
\item Question\_ouinon 'voulez vous vraiment faire cette action'
|
||||
\item echo \$?
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Gestion des services}
|
||||
\begin{itemize}
|
||||
\item CreoleService
|
||||
\begin{itemize}
|
||||
\item \$1 : nom du service
|
||||
\item \$2 : start|stop|restart|status
|
||||
\item -c conteneur : pour un unique conteneur
|
||||
\end{itemize}
|
||||
\item redémarrer tous les services : StartAll
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item CreoleService ntp stop
|
||||
\item CreoleService smbd stop
|
||||
\item CreoleService apache2 restart
|
||||
\item CreoleService apache2 restart -c web
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Execution de commande}
|
||||
\begin{itemize}
|
||||
\item RunCmd
|
||||
\item \$1 : commande
|
||||
\item \$2 : conteneur
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Execution de commande}
|
||||
\begin{itemize}
|
||||
\item tcpcheck
|
||||
\item \$1 : timeout
|
||||
\item \$2 : ip:port
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item RunCmd "echo mot" fichier
|
||||
\item test service : tcpcheck 2 192.0.2.52:80
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Gestion des locks}
|
||||
\begin{itemize}
|
||||
\item AddLock : ajout d'un lock
|
||||
\item DelLock : suppression d'un lock
|
||||
\item CheckAllLocks : vérifie la présence de lock système
|
||||
\begin{itemize}
|
||||
\item \$1 : nom du lock
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item AddLock test
|
||||
\item DelLock test
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Valeur du dictionnaire}
|
||||
\begin{itemize}
|
||||
\item . ParseDico
|
||||
\item dans l'environnement de l'utilisateur
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item echo \$adresse\_ip\_eth0
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Valeur du dictionnaire conteneur}
|
||||
\begin{itemize}
|
||||
\item . /etc/eole/containers.conf
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Pratique}
|
||||
\begin{itemize}
|
||||
\item echo \$container\_ip\_fichier
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
Loading…
Reference in New Issue