From 88fadde274c2847c46a97cb50fec83f36c41661a Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Tue, 8 Jan 2013 17:43:49 +0100 Subject: [PATCH] ajout de tronc-commun --- .../tronc-commun-1/01-gnu_linux.tex | 150 ++++ .../tronc-commun-1/02-application-zephir.tex | 92 +++ .../tronc-commun-1/03-lire-ecrire.tex | 60 ++ .../tronc-commun-1/04-commande-distance.tex | 44 ++ .../tronc-commun-1/05-resolution-probleme.tex | 41 + .../tronc-commun-1/06-application-zephir2.tex | 97 +++ .../07-interface-semi-graphique.tex | 21 + .../tronc-commun-1/08-interface-ead.tex | 69 ++ .../01-personnalisation-creole.tex | 157 ++++ .../tronc-commun-2/02-zephir.tex | 73 ++ modules_EOLE_envole/tronc-commun.tex | 726 +----------------- 11 files changed, 815 insertions(+), 715 deletions(-) create mode 100644 modules_EOLE_envole/tronc-commun-1/01-gnu_linux.tex create mode 100644 modules_EOLE_envole/tronc-commun-1/02-application-zephir.tex create mode 100644 modules_EOLE_envole/tronc-commun-1/03-lire-ecrire.tex create mode 100644 modules_EOLE_envole/tronc-commun-1/04-commande-distance.tex create mode 100644 modules_EOLE_envole/tronc-commun-1/05-resolution-probleme.tex create mode 100644 modules_EOLE_envole/tronc-commun-1/06-application-zephir2.tex create mode 100644 modules_EOLE_envole/tronc-commun-1/07-interface-semi-graphique.tex create mode 100644 modules_EOLE_envole/tronc-commun-1/08-interface-ead.tex create mode 100644 modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole.tex create mode 100644 modules_EOLE_envole/tronc-commun-2/02-zephir.tex diff --git a/modules_EOLE_envole/tronc-commun-1/01-gnu_linux.tex b/modules_EOLE_envole/tronc-commun-1/01-gnu_linux.tex new file mode 100644 index 0000000..8ac47cc --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-1/01-gnu_linux.tex @@ -0,0 +1,150 @@ +\section{Découverte de GNU/Linux} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-11},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Filesystem Hierarchy Standard (FHS)} + \begin{itemize} + \item / racine de l'arborescence sur laquelle sont raccrochés tous les sous-répertoires et fichiers. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filesystem Hierarchy Standard (FHS)} + \begin{itemize} + \item (s)bin/ : commandes liées au système ; + \item boot/ : noyau et initrd nécessaires au démarrage ; + \item dev/ : fichiers spéciaux effectuant le lien noyau / périphérique ; + \item etc/ : fichiers de configuration ; + \item home|root/ : répertoires de connexion ; + \item lib/ : librairies essentielles au démarrage et modules du noyau ; + \item mnt/ : contient les montages des périphériques ; + \item proc|sys/ : pseudo système de fichier représentant le noyau à un instant T|les processus ; + \item tmp/ : répertoire temporaire accessible à tous ; + \item usr/ : commandes utilisées par les utilisateurs (bin), l'administrateur (sbin), mais aussi ensemble du système graphique ; + \item var/ : ensemble des données variables du système (spools, logs, web, base de donnée, ...). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Chemin absolu/chemin relatif} + \begin{itemize} + \item Un fichier ou un répertoire peut être défini : + \begin{itemize} + \item soit par un chemin relatif à l'endroit où vous vous positionnez au moment T. + \item soit par un chemin absolu à partir de la racine de l'arborescence. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les différents types de fichier} + \begin{itemize} + \item - : fichier classique + \item d : répertoire + \item l : lien symbolique + \item c : périphérique de type caractère + \item b : périphérique de type bloc + \item p : pile fifo + \item s : socket + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les droits unix} + \begin{itemize} + \item Les droits standards : + \begin{itemize} + \item r : lecture + \item w : écriture + \item x : exécution + \end{itemize} + \item Autres droits : + \begin{itemize} + \item t/T : sticky bit : il interdit la suppression des fichiers qu'il contient à tout utilisateur autre que le propriétaire + \item s/S : setuid et setgid bits : permet d'exécuté avec les droits du propriétaire ou du groupe + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Description d'un fichier} + \begin{semiverbatim} +ls -li formation.pdf + \end{semiverbatim} + \begin{semiverbatim} +3794089 -rw-r--r-- 1 emmanuel eole 252151 2013-01-08 09:56 formation.pdf + \end{semiverbatim} + \begin{itemize} + \item inode + \item droit + \item compteur de lien physique + \item propriétaire + \item groupe + \item taille + \item date de dernière modification + \item nom du fichier + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les ACL} + \begin{itemize} + \item Les ACL s'ajoutent aux droits standards ; + \item possibilité de droit par défaut. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{La gestion des processus} + \begin{itemize} + \item Tous processus à : + \begin{itemize} + \item un PID ; + \item un PPID ; + \item un UID ; + \item un état : Actif, Exécutable, Endormi, Zombi. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Quelques commandes} + \begin{itemize} + \item se déplacer : pwd, cd ; + \item lister : ls, getfacl ; + \item créer/supprimer un répertoire : mkdir, rmdir ; + \item copier/renommer/déplacer : cp, mv ; + \item lien : ln ; + \item les droits : chmod, chown, chgrp, setfacl ; + \item processus actif : ps, top ; + \item tuer un processus : kill ; + \item changer le mot de passe : passwd ; + \item lire le manuel : man . + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique : quelques commandes} + \begin{itemize} + \item sur Scribe1, se logguer en root ; + \item changer le mot de passe de l'utilisateur scribe ; + \item créer le répertoire /home/test ; + \item renommer le en /home/eole ; + \item mettre les droits de rwx pour l'utilisateur et le groupe mais --- pour autre ; + \item vérifier les droits ; + \item lire le man de setfacl ; + \item ajouter la "lecture" de type ACLs pour le groupe "scribe" ; + \item lister les droits ; + \item lister la liste des processus ; + \item tuer le processus "proftpd". + \end{itemize} +\end{frame} diff --git a/modules_EOLE_envole/tronc-commun-1/02-application-zephir.tex b/modules_EOLE_envole/tronc-commun-1/02-application-zephir.tex new file mode 100644 index 0000000..fc68996 --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-1/02-application-zephir.tex @@ -0,0 +1,92 @@ +\section{L'application Zéphir} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-11},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Gestion des utilisateurs} + \begin{itemize} + \item Utilisation d'un serveur LDAP local ou distant + \item LDAP local : scripts (/usr/share/zephir/utils) : + \begin{itemize} + \item add\_user.py + \item del\_user.py + \item list\_users.py + \end{itemize} + \item Un utilisateur = des affectations + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Modules, établissements et serveurs} + \begin{itemize} + \item Module : distribution spécifique + variantes + \item Etablissement scolaire : lieu physique + \item Serveur : un module dans un établissement + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Enregistrement Zéphir} + \begin{itemize} + \item Processus obligatoire et manuel + \item Création dans la base + lien sécurisé + \item Lancer : enregistrement\_zephir + \begin{itemize} + \item Connexion au réseau + \item Connexion à Zéphir + \item Création ou choix du serveur + \item Gestion des configurations : + \begin{itemize} + \item nouveau serveur : "récupérer les fichiers de la variante" ; + \item serveur configuré en mode autonome : "sauver la configuration actuelle" ; + \item serveur configuré en mode Zéphir : "utiliser la configuration définie sur Zéphir". + \end{itemize} + \end{itemize} + \item Sauvegarde de Zéphir : sauvegarde.sh + \end{itemize} +\end{frame} + +%%\begin{frame} +%% \frametitle{Configuration Zéphir de Scribe1} +%% \begin{itemize} +%% \item Création d'un nouvel utilisateur ; +%% \item affecter tous les droits à l'utilisateur ; +%% \item se reconnecter avec ce nouvel utilisateur ; +%% \item ajouter un nouvel établissement ; +%% \item ajouter un serveur : +%% \begin{itemize} +%% \item le module : scribe-2.2 ; +%% \item descriptif : Scribe1 ; +%% \item configurer : état actuel/générer ; +%% \item "Sauver sur Zéphir" +%% \end{itemize} +%% \item enregistrement Zéphir ; +%% \item instanciation du serveur (ne pas remonter la configuration et ne pas faire la mise à jour). +%% \end{itemize} +%%\end{frame} + +\begin{frame} + \frametitle{Pratique : enregistrement Zéphir de Scribe1} + \begin{itemize} + \item Configuration de Zephir1 : + \begin{itemize} + \item création d'un nouvel utilisateur ; + \item affecter tous les droits à l'utilisateur ; + \item se reconnecter avec ce nouvel utilisateur ; + \item ajouter un nouvel établissement ; + \end{itemize} + \item lancer gen\_config sur Scribe1 et configurer ; + \item enregistrement Zéphir sur Scribe1 ; + \item instanciation du serveur (ne pas remonter la configuration et ne pas faire la mise à jour). + \end{itemize} +\end{frame} + + diff --git a/modules_EOLE_envole/tronc-commun-1/03-lire-ecrire.tex b/modules_EOLE_envole/tronc-commun-1/03-lire-ecrire.tex new file mode 100644 index 0000000..3849fa4 --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-1/03-lire-ecrire.tex @@ -0,0 +1,60 @@ +\section{Lire/éditer des fichiers} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-11},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Lire un fichier} + \begin{itemize} + \item Lire un fichier complet : less, cat ; + \item lire le début d'un fichier : head ; + \item lire la fin d'un fichier : tail (avec option -f) ; + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Editer un fichier : vim} + \begin{itemize} + \item Les modes : + \begin{itemize} + \item le mode normal : Esc ; + \item le mode insertion : i ; + \item le mode visuel : v. + \end{itemize} + \item Les fichiers : + \begin{itemize} + \item :e fichier.txt : editer le fichier ; + \item :w : ecrire dans le fichier ; + \item :q : quitter le fichier. + \end{itemize} + \item Autre : + \begin{itemize} + \item annuler, refaire : u; ctrl r ; + \item couper, copier, coller : d, y, p ; + \item caractère, mot, ligne : l, w, 1. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item lire la fin du fichier /var/log/syslog ; + \item lire le début du fichier /var/log/messages ; + \begin{itemize} + \item passage de mode à un autre ; + \item taper un peu de texte ; + \item faire des couper/copier/coller ; + \item annuler/refaire. + \end{itemize} + \end{itemize} +\end{frame} + + diff --git a/modules_EOLE_envole/tronc-commun-1/04-commande-distance.tex b/modules_EOLE_envole/tronc-commun-1/04-commande-distance.tex new file mode 100644 index 0000000..3acf69b --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-1/04-commande-distance.tex @@ -0,0 +1,44 @@ +\section{Les commandes à distances} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-11},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Le protocole ssh} + \begin{itemize} + \item protocole de communication sécurisé ; + \item ouvrir une connexion : ssh utilisateur@ip\_serveur ; + \item ouvrir une connexion pour commande graphique : ssh -X utilisateur@ip\_serveur ; + \item transfert de fichier : scp fichier.txt utilisateur@ip\_serveur:. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Screen} + \begin{itemize} + \item si la connexion se coupe, impossible de récupérer la session ; + \item screen permet de détacher un shell et le récupérer ; + \item pour le lancer : screen ; + \item pour détacher : ctrl a d ; + \item attention déconnexion automatique : unset TMOUT ; + \item pour reprendre un screen : screen -rd + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique : connexion ssh} + \begin{itemize} + \item Se connecter sur le serveur Scribe1 en ssh ; + \item copier un fichier ; + \item lancer gen\_config à travers ssh ; + \item utiliser screen. + \end{itemize} +\end{frame} + diff --git a/modules_EOLE_envole/tronc-commun-1/05-resolution-probleme.tex b/modules_EOLE_envole/tronc-commun-1/05-resolution-probleme.tex new file mode 100644 index 0000000..4c1073c --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-1/05-resolution-probleme.tex @@ -0,0 +1,41 @@ +\section{Résolution des problèmes} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-11},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Trouver de l'information sur le serveur} + \begin{itemize} + \item Lecture des journaux d'activité : + \begin{itemize} + \item /var/log/messages : contient tous les messages d'ordre général concernant la plupart des services et démons ; + \item /var/log/syslog : est plus complet que /var/log/messages, il contient tous les messages, hormis les connexions des utilisateurs ; + \item /var/log/auth : contient les connexions des utilisateurs ; + \item /var/log/mail.log : contient les envois et réception de mails ; + \item /var/log/cron : fichier log du service cron (planificateur système). + \end{itemize} + \item diagnose ; + \item gen\_rpt. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Trouver des informations sur Internet} + \begin{itemize} + \item la documentation ; + \item les FAQ ; + \item les archives des listes de diffusion ; + \item le Wiki EOLE ; + \item recherche sur Internet ; + \item équipes d'assistance académiques. + \end{itemize} +\end{frame} + + diff --git a/modules_EOLE_envole/tronc-commun-1/06-application-zephir2.tex b/modules_EOLE_envole/tronc-commun-1/06-application-zephir2.tex new file mode 100644 index 0000000..b62003b --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-1/06-application-zephir2.tex @@ -0,0 +1,97 @@ +\section{L'application Zéphir 2} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-11},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Préférence des utilisateurs} + \begin{itemize} + \item Contient les informations sur l'utilisateur (nom, prénom et mail) ; + \item activer les alertes par mail ; + \item envoyer un clef ssh. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Configurer l'utilisateur "eole" ; + \item créé une clef ssh : + \begin{itemize} + \item ssh-keygen -t rsa + \item récupérer le fichier /.ssh/id\_rsa.pub + \end{itemize} + \item ajouter la clef à l'utilisateur. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Surveillance des serveurs} + \begin{itemize} + \item Sur la page d'accueil ; + \item sur chaque serveur : page Etat ; + \item surveillance des serveurs ; + \item état d'un groupe de serveur. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Alertes} + \begin{itemize} + \item Envoi d'un mail en cas de détection d'un problème : + \begin{itemize} + \item remontée par le serveur d'un erreur ; + \item un serveur n'a pas contacté Zéphir ; + \item une opération s'est mal déroulée + \end{itemize} + \item A la selection d'un groupe enregistré : cocher "surveiller ce groupe" + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Actions} + \begin{itemize} + \item Zéphir agit à distance par des actions + \item Elles sont mises en file d'attente + \item C'est le serveur qui se connecte au Zéphir + \item Exemple d'action : envoi de la configuration, mise à jour, sauvegarde l'état + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Lancer l'action de remonté de la configuration ; + \item forcer la synchronisation : synchro\_zephir ; + \item restaurer Scribe1. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Groupe de serveurs} + \begin{itemize} + \item Les variantes ne servent qu'à la configuration initial ; + \item changement sur plusieurs serveurs : groupe de serveurs ; + \item sélectionner les serveurs suivants différents critères ; + \item sauvegarde du groupe ; + \item possibilité d'ajout ultérieur de machine ; + \item actions supplémentaires. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Créer un groupe de serveur ; + \item autoriser l'utilisation à se connecté par clef SSH. + \end{itemize} +\end{frame} + + diff --git a/modules_EOLE_envole/tronc-commun-1/07-interface-semi-graphique.tex b/modules_EOLE_envole/tronc-commun-1/07-interface-semi-graphique.tex new file mode 100644 index 0000000..acc21fa --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-1/07-interface-semi-graphique.tex @@ -0,0 +1,21 @@ +\section{L'interface d'administration semi-graphique} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-11},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{L'interface semi-graphique} + \begin{itemize} + \item L'interface semi-graphique est disponible sur différent module ; + \item permet d'exécuter quelques tâches simple d'administration du serveur. + \end{itemize} +\end{frame} + + diff --git a/modules_EOLE_envole/tronc-commun-1/08-interface-ead.tex b/modules_EOLE_envole/tronc-commun-1/08-interface-ead.tex new file mode 100644 index 0000000..3bf4913 --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-1/08-interface-ead.tex @@ -0,0 +1,69 @@ +\section{L'interface d'administration EAD} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-11},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Présentation général} + \begin{itemize} + \item serveur de commande ead-server (activé et non désactivable) : + \item interface ead-web : https://:4200/ (activé et désactivable) : + \begin{itemize} + \item gondole d'administration, + \item menu action, + \item les onglets, + \item la partie centrale. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Se connecter} + \begin{itemize} + \item Ajouter ou supprimer des onglets pour communiquer avec d'autres serveurs de commande ; + \item authentification locale ; + \item authentification SSO. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Fonction de base} + \begin{itemize} + \item Redémarrer, arrêter et reconfigurer ; + \item mise à jour ; + \item arrêt et redémarrage de service : + \begin{itemize} + \item mode expert, + \item mode normal ; + \end{itemize} + \item listing matériel ; + \item bande passante. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Gestion des rôles} + \begin{itemize} + \item Rôle par défaut (administrateur sur tous les modules, professeur/eleve/administrateur de classe sur Scribe, administrateur du réseau pédagogique sur Amon) ; + \item création de rôle personnalisé ; + \item association de rôle : + \begin{itemize} + \item pour l'authentification locale : sur le login, + \item pour l'authentification SSO : + \begin{itemize} + \item groupe d'utilisateur ; + \item valeur de la clef typeadmin (professeur principal) ; + \item login de l'utilisateur. + \end{itemize} + \end{itemize} + \end{itemize} +\end{frame} + + diff --git a/modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole.tex b/modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole.tex new file mode 100644 index 0000000..a7a7b5e --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole.tex @@ -0,0 +1,157 @@ +\section{Personnalisation du serveur à l'aide de Creole} +\begin{frame}{Plan} + \small \tableofcontents[currentsection, hideothersubsections] +\end{frame} + +\begin{frame} + \frametitle{Création de patch} + \begin{itemize} + \item Génération normal : /usr/share/eole/creole/distrib => /etc + \item Génération avec patch : /usr/share/eole/creole/distrib + /usr/share/eole/creole/patch => /var/lib/creole => /etc + \item Créer un patch : + \begin{itemize} + \item copie du fichier original /usr/share/eole/creole/distrib => /usr/share/eole/creole/modif ; + \item modification du fichier dans /usr/share/eole/creole/modif ; + \item exécution "gen\_patch" ; + \item reconfiguration. + \end{itemize} + \item Désactiver un patch : supprimer le fichier dans /usr/share/eole/creole/patch. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item ClamAV à le paramètre suivant : LogFileMaxSize 2M ; + \item il faut la valeur 10M. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Ajout de dictionnaires locaux} + \begin{itemize} + \item Permet d'ajouter des spécificités ou de nouveau template ; + \item les dictionnaires locaux sont dans /usr/share/eole/creole/dicos/local/ ; + \item les templates locaux sont dans /usr/share/eole/creole/distrib/ ; + \item un dictionnaire est un fichier XML Creole ; + \item un template utilise le langage de template Creole. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Syntaxe XML Creole} + \begin{itemize} + \item Entête XML : ; + \item Première balise + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Syntaxe XML Creole : conteneur} + \begin{itemize} + \item master : , slave ; + \item fichier template : : + \begin{itemize} + \item name (obligatoire) : nom du fichier template ; + \item source : si le nom de fichier source est différent de la destination ; + \item mode, owner, group : droits sur fichier appliquer au fichier ; + \item mkdir : création du répertoire de destination si nécessaire. + \end{itemize} + \item service : \ldots ; + \item package : \ldots. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Syntaxe XML Creole : variable} + \begin{itemize} + \item Ensemble de famille et séparateur : ; + \begin{itemize} + \item Famille de variables : : + \begin{itemize} + \item Les variables : + \item Les variables ... : + \end{itemize} + \item Les séparateurs : + \begin{itemize} + \item name : nom de variable en dessous du séparateur ; + \item description affiché à l'intérieur de la balise. + \end{itemize} + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Syntaxe XML Creole : contrainte} + \begin{itemize} + \item Le contraintes : : pour tester/remplir/grouper/conditionner des variables ; + \begin{itemize} + \item calcul automatique avec fonction personnalisé : ... ; + \item calcul automatique non modifiable ; + \item choix de réponse ... ; + \item cacher des variables suivant des contraintes ... : + \begin{itemize} + \item valeur de la variable testé : ... ; + \item affecte nom : + \end{itemize} + \item Lien entre variable : ... : + \begin{itemize} + \item si le maître à une valeur, les autres aussi ; + \item si le maître est multi-évalué, les autres aussi ; + \item les esclaves : . + \end{itemize} + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Syntaxe XML Creole : aide} + \begin{itemize} + \item Afficher de l'aide dans l'interface : . + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Installer le paquet ircd-irc2 ; + \item ajouter un service ; + \item dans la famille "services" ajouter la variable "activate\_ircd" ayant pour valeur possible "oui" et "non" ; + \item tester gen\_config. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Langague de template Creole} + \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{Pratique 1} + \begin{itemize} + \item Installer phpldapadmin ; + \item créer un dicos pour demander l'activation ou non (variable "activate\_phpldapadmin") ; + \item si oui, activer une nouvelle famille "phpldapadmin" ; + \item demander l'adresse IP (phpldapadmin\_host) et le nom du serveur (phpldapadmin\_name) ; + \item copier les templates /etc/phpldapadmin/config.php et /etc/phpldapadmin/apache.conf dans /usr/share/eole/creole/distrib/ ; + \item le template config.php sera renommé en phpldapadmin.php ; + \item si le nom n'est pas spécifié, le serveur : "Serveur LDAP" ; + \item supprimer la configuration du TLS dans phpldapadmin ; + \item tester sans reconfigurer : /usr/share/creole/creolecat.py -o config.php /usr/share/eole/creole/distrib/phpldapadmin.php + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique 2} + \begin{itemize} + \item Ajouter la possibilité d'activer ou non le TLS ; + \item possibilité d'ajouter plusieurs serveurs. + \end{itemize} +\end{frame} + diff --git a/modules_EOLE_envole/tronc-commun-2/02-zephir.tex b/modules_EOLE_envole/tronc-commun-2/02-zephir.tex new file mode 100644 index 0000000..bb0d662 --- /dev/null +++ b/modules_EOLE_envole/tronc-commun-2/02-zephir.tex @@ -0,0 +1,73 @@ +\section{Zéphir} +\begin{frame}{Plan} + \small \tableofcontents[currentsection, hideothersubsections] +\end{frame} + +\begin{frame} + \frametitle{Personnalisation d'un serveur} + \begin{itemize} + \item Liste des fichiers sauvegardés : + \begin{itemize} + \item dictionnaires additionnels + \item fichier appartenant aux dictionnaires additionnels + \item fichier spécifique (exemple généré par EAD) + \item les patches + \item les paquets additionnels + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Ajouter les fichiers personnalisés dans l'application Zéphir pour Scribe2 ; + \item ajouter la dépendance pour les paquets ; + \item envoyer la configuration. + \end{itemize} +\end{frame} + + +\begin{frame} + \frametitle{Variante} + \begin{itemize} + \item Variante : configuration identique applicable à plusieurs serveurs + \item Par défaut chaque module est dans la variante "standard" + \item Création des templates, patchs et dicos éventuels + \item Déplacement dans /etc/eole/patch/variante et /etc/eole/dicos/variante + \item Fichiers ou paquets pas référencés : /usr/share/zephir/zephir\_conf/fichiers\_variante + \item Dans /usr/share/zephir/scripts : ./creation\_variante + \item Mettre à jour une variante : ./maj\_variante + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Créer une variante ; + \item mettre Scribe2 dans la variante ; + \item enregistrer Scribe2 dans Zéphir. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Exécuter un script} + \begin{itemize} + \item Exécution sur un serveur ou un groupe de serveurs ; + \item les scripts doivent être dans /usr/share/zephir/scripts/ ; + \item ils doivent avoir l'extension .zephir ; + \item ne pas spécifier l'extension lors de l'exécuxion ; + \item fonctionseole.init\_proc : permet de vérifier si l'action est bloqué ; + \item fonctionseole.zephir(, , ) : log envoyer au Zéphir ; + \item les scripts sont lancés en tant que uucp, si besoin utiliser sudo\_script('monscript.zephir'). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Créer un script personnalisé permettant un supprimer un fichier dont le nom est en paramètre. + \end{itemize} +\end{frame} + +\end{document} + diff --git a/modules_EOLE_envole/tronc-commun.tex b/modules_EOLE_envole/tronc-commun.tex index 862c74f..b68626a 100644 --- a/modules_EOLE_envole/tronc-commun.tex +++ b/modules_EOLE_envole/tronc-commun.tex @@ -483,720 +483,16 @@ \end{itemize} \end{frame} -\section{Découverte de GNU/Linux} -\begin{frame}{Plan} - \begin{columns}[t] - \begin{column}{5cm} - \tableofcontents[sections={1-6},currentsection, hideothersubsections] - \end{column} - \begin{column}{5cm} - \tableofcontents[sections={7-11},currentsection,hideothersubsections] - \end{column} - \end{columns} -\end{frame} - -\begin{frame} - \frametitle{Filesystem Hierarchy Standard (FHS)} - \begin{itemize} - \item / racine de l'arborescence sur laquelle sont raccrochés tous les sous-répertoires et fichiers. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Filesystem Hierarchy Standard (FHS)} - \begin{itemize} - \item (s)bin/ : commandes liées au système ; - \item boot/ : noyau et initrd nécessaires au démarrage ; - \item dev/ : fichiers spéciaux effectuant le lien noyau / périphérique ; - \item etc/ : fichiers de configuration ; - \item home|root/ : répertoires de connexion ; - \item lib/ : librairies essentielles au démarrage et modules du noyau ; - \item mnt/ : contient les montages des périphériques ; - \item proc|sys/ : pseudo système de fichier représentant le noyau à un instant T|les processus ; - \item tmp/ : répertoire temporaire accessible à tous ; - \item usr/ : commandes utilisées par les utilisateurs (bin), l'administrateur (sbin), mais aussi ensemble du système graphique ; - \item var/ : ensemble des données variables du système (spools, logs, web, base de donnée, ...). - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Adresse absolue / adresse relative} - \begin{itemize} - \item Un fichier ou un répertoire peut être défini : - \begin{itemize} - \item soit par un chemin relatif à l'endroit où vous vous positionnez au moment T. - \item soit par un chemin absolu à partir de la racine de l'arborescence. - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Les différents types de fichier} - \begin{itemize} - \item - : fichier classique - \item d : répertoire - \item l : lien symbolique - \item c : périphérique de type caractère - \item b : périphérique de type bloc - \item p : pile fifo - \item s : socket - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Les droits unix} - \begin{itemize} - \item Les droits standards : - \begin{itemize} - \item r : lecture - \item w : écriture - \item x : exécution - \end{itemize} - \item Autres droits : - \begin{itemize} - \item t/T : sticky bit : il interdit la suppression des fichiers qu'il contient à tout utilisateur autre que le propriétaire - \item s/S : setuid et setgid bits : permet d'exécuté avec les droits du propriétaire ou du groupe - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Description d'un fichier} - \begin{semiverbatim} -ls -li formation.pdf - \end{semiverbatim} - \begin{semiverbatim} -3794089 -rw-r--r-- 1 emmanuel eole 252151 2009-11-13 09:56 formation.pdf - \end{semiverbatim} - \begin{itemize} - \item inode - \item droit - \item compteur de lien physique - \item propriétaire - \item groupe - \item taille - \item date de dernière modification - \item nom du fichier - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Les ACLs} - \begin{itemize} - \item Les ACLs s'ajoutent aux droits standards ; - \item possibilité de droit par défaut. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{La gestion des processus} - \begin{itemize} - \item Tous processus à : - \begin{itemize} - \item un PID ; - \item un PPID ; - \item un UID ; - \item un état : Actif, Exécutable, Endormi, Zombi. - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Quelques commandes} - \begin{itemize} - \item se déplacer : pwd, cd ; - \item lister : ls, getfacl ; - \item créer/supprimer un répertoire : mkdir, rmdir ; - \item copier/renommer/déplacer : cp, mv ; - \item lien : ln ; - \item les droits : chmod, chown, chgrp, setfacl ; - \item processus actif : ps, top ; - \item tuer un processus : kill ; - \item changer le mot de passe : passwd ; - \item lire le manuel : man . - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique : quelques commandes} - \begin{itemize} - \item sur Scribe1, se logguer en root ; - \item changer le mot de passe de l'utilisateur scribe ; - \item créer le répertoire /home/test ; - \item renommer le en /home/eole ; - \item mettre les droits de rwx pour l'utilisateur et le groupe mais --- pour autre ; - \item vérifier les droits ; - \item lire le man de setfacl ; - \item ajouter la "lecture" de type ACLs pour le groupe "scribe" ; - \item lister les droits ; - \item lister la liste des processus ; - \item tuer le processus "proftpd". - \end{itemize} -\end{frame} - -\section{Lire/éditer des fichiers} -\begin{frame}{Plan} - \begin{columns}[t] - \begin{column}{5cm} - \tableofcontents[sections={1-6},currentsection, hideothersubsections] - \end{column} - \begin{column}{5cm} - \tableofcontents[sections={7-11},currentsection,hideothersubsections] - \end{column} - \end{columns} -\end{frame} - -\begin{frame} - \frametitle{Lire un fichier} - \begin{itemize} - \item Lire un fichier complet : less, cat ; - \item lire le début d'un fichier : head ; - \item lire la fin d'un fichier : tail (avec option -f) ; - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Editer un fichier : vim} - \begin{itemize} - \item Les modes : - \begin{itemize} - \item le mode normal : Esc ; - \item le mode insertion : i ; - \item le mode visuel : v. - \end{itemize} - \item Les fichiers : - \begin{itemize} - \item :e fichier.txt : editer le fichier ; - \item :w : ecrire dans le fichier ; - \item :q : quitter le fichier. - \end{itemize} - \item Autre : - \begin{itemize} - \item annuler, refaire : u; ctrl r ; - \item couper, copier, coller : d, y, p ; - \item caractère, mot, ligne : l, w, 1. - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item lire la fin du fichier /var/log/syslog ; - \item lire le début du fichier /var/log/messages ; - \begin{itemize} - \item passage de mode à un autre ; - \item taper un peu de texte ; - \item faire des couper/copier/coller ; - \item annuler/refaire. - \end{itemize} - \end{itemize} -\end{frame} - -\section{Les commandes à distances} -\begin{frame}{Plan} - \begin{columns}[t] - \begin{column}{5cm} - \tableofcontents[sections={1-6},currentsection, hideothersubsections] - \end{column} - \begin{column}{5cm} - \tableofcontents[sections={7-11},currentsection,hideothersubsections] - \end{column} - \end{columns} -\end{frame} - -\begin{frame} - \frametitle{Le protocole ssh} - \begin{itemize} - \item protocole de communication sécurisé ; - \item ouvrir une connexion : ssh utilisateur@ip\_serveur ; - \item ouvrir une connexion pour commande graphique : ssh -X utilisateur@ip\_serveur ; - \item transfert de fichier : scp fichier.txt utilisateur@ip\_serveur:. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Screen} - \begin{itemize} - \item si la connexion se coupe, impossible de récupérer la session ; - \item screen permet de détacher un shell et le récupérer ; - \item pour le lancer : screen ; - \item pour détacher : ctrl a d ; - \item attention déconnexion automatique : unset TMOUT ; - \item pour reprendre un screen : screen -rd - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique : connexion ssh} - \begin{itemize} - \item Se connecter sur le serveur Scribe1 en ssh ; - \item copier un fichier ; - \item lancer gen\_config à travers ssh ; - \item utiliser screen. - \end{itemize} -\end{frame} - -\section{Résolution des problèmes} -\begin{frame}{Plan} - \begin{columns}[t] - \begin{column}{5cm} - \tableofcontents[sections={1-6},currentsection, hideothersubsections] - \end{column} - \begin{column}{5cm} - \tableofcontents[sections={7-11},currentsection,hideothersubsections] - \end{column} - \end{columns} -\end{frame} - -\begin{frame} - \frametitle{Trouver de l'information sur le serveur} - \begin{itemize} - \item Lecture des journaux d'activité : - \begin{itemize} - \item /var/log/messages : contient tous les messages d'ordre général concernant la plupart des services et démons ; - \item /var/log/syslog : est plus complet que /var/log/messages, il contient tous les messages, hormis les connexions des utilisateurs ; - \item /var/log/auth : contient les connexions des utilisateurs ; - \item /var/log/mail.log : contient les envois et réception de mails ; - \item /var/log/cron : fichier log du service cron (planificateur système). - \end{itemize} - \item diagnose ; - \item gen\_rpt. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Trouver des informations sur Internet} - \begin{itemize} - \item la documentation ; - \item les FAQ ; - \item les archives des listes de diffusion ; - \item le Wiki EOLE ; - \item recherche sur Internet ; - \item équipes d'assistance académiques. - \end{itemize} -\end{frame} - -\section{L'application Zéphir 2} -\begin{frame}{Plan} - \begin{columns}[t] - \begin{column}{5cm} - \tableofcontents[sections={1-6},currentsection, hideothersubsections] - \end{column} - \begin{column}{5cm} - \tableofcontents[sections={7-11},currentsection,hideothersubsections] - \end{column} - \end{columns} -\end{frame} - -\begin{frame} - \frametitle{Préférence des utilisateurs} - \begin{itemize} - \item Contient les informations sur l'utilisateur (nom, prénom et mail) ; - \item activer les alertes par mail ; - \item envoyer un clef ssh. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Configurer l'utilisateur "eole" ; - \item créé une clef ssh : - \begin{itemize} - \item ssh-keygen -t rsa - \item récupérer le fichier /.ssh/id\_rsa.pub - \end{itemize} - \item ajouter la clef à l'utilisateur. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Surveillance des serveurs} - \begin{itemize} - \item Sur la page d'accueil ; - \item sur chaque serveur : page Etat ; - \item surveillance des serveurs ; - \item état d'un groupe de serveur. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Les alertes} - \begin{itemize} - \item Envoi d'un mail en cas de détection d'un problème : - \begin{itemize} - \item remontée par le serveur d'un erreur ; - \item un serveur n'a pas contacté Zéphir ; - \item une opération s'est mal déroulée - \end{itemize} - \item A la selection d'un groupe enregistré : cocher "surveiller ce groupe" - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Actions} - \begin{itemize} - \item Zéphir agit à distance par des actions - \item Elles sont mises en file d'attente - \item C'est le serveur qui se connecte au Zéphir - \item Exemple d'action : envoi de la configuration, mise à jour, sauvegarde l'état - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Lancer l'action de remonté de la configuration ; - \item forcer la synchronisation : synchro\_zephir ; - \item restaurer Scribe1. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Groupe de serveurs} - \begin{itemize} - \item Les variantes ne servent qu'à la configuration initial ; - \item changement sur plusieurs serveurs : groupe de serveurs ; - \item sélectionner les serveurs suivants différents critères ; - \item sauvegarde du groupe ; - \item possibilité d'ajout ultérieur de machine ; - \item actions supplémentaires. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Créer un groupe de serveur ; - \item autoriser l'utilisation à se connecté par clef SSH. - \end{itemize} -\end{frame} - -\section{L'interface d'administration semi-graphique} -\begin{frame}{Plan} - \begin{columns}[t] - \begin{column}{5cm} - \tableofcontents[sections={1-6},currentsection, hideothersubsections] - \end{column} - \begin{column}{5cm} - \tableofcontents[sections={7-11},currentsection,hideothersubsections] - \end{column} - \end{columns} -\end{frame} - -\begin{frame} - \frametitle{L'interface semi-graphique} - \begin{itemize} - \item L'interface semi-graphique est disponible sur différent module ; - \item permet d'exécuter quelques tâches simple d'administration du serveur. - \end{itemize} -\end{frame} - -\section{L'interface d'administration EAD} -\begin{frame}{Plan} - \begin{columns}[t] - \begin{column}{5cm} - \tableofcontents[sections={1-6},currentsection, hideothersubsections] - \end{column} - \begin{column}{5cm} - \tableofcontents[sections={7-11},currentsection,hideothersubsections] - \end{column} - \end{columns} -\end{frame} - -\begin{frame} - \frametitle{Présentation général} - \begin{itemize} - \item serveur de commande ead-server (activé et non désactivable) : - \item interface ead-web : https://:4200/ (activé et désactivable) : - \begin{itemize} - \item gondole d'administration, - \item menu action, - \item les onglets, - \item la partie centrale. - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Se connecter} - \begin{itemize} - \item Ajouter ou supprimer des onglets pour communiquer avec d'autres serveurs de commande ; - \item authentification locale ; - \item authentification SSO. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Fonction de base} - \begin{itemize} - \item Redémarrer, arrêter et reconfigurer ; - \item mise à jour ; - \item arrêt et redémarrage de service : - \begin{itemize} - \item mode expert, - \item mode normal ; - \end{itemize} - \item listing matériel ; - \item bande passante. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Gestion des rôles} - \begin{itemize} - \item Rôle par défaut (administrateur sur tous les modules, professeur/eleve/administrateur de classe sur Scribe, administrateur du réseau pédagogique sur Amon) ; - \item création de rôle personnalisé ; - \item association de rôle : - \begin{itemize} - \item pour l'authentification locale : sur le login, - \item pour l'authentification SSO : - \begin{itemize} - \item groupe d'utilisateur ; - \item valeur de la clef typeadmin (professeur principal) ; - \item login de l'utilisateur. - \end{itemize} - \end{itemize} - \end{itemize} -\end{frame} - -\section{Personnalisation du serveur à l'aide de Creole} -\begin{frame}{Plan} - \small \tableofcontents[currentsection, hideothersubsections] -\end{frame} - -\begin{frame} - \frametitle{Création de patch} - \begin{itemize} - \item Génération normal : /etc/eole/distrib => /etc - \item Génération avec patch : /etc/eole/distrib + /etc/eole/patch => /etc/eole/templates => /etc - \item Créer un patch : - \begin{itemize} - \item copie du fichier original /etc/eole/distrib => /etc/eole/modif ; - \item modification du fichier dans /etc/eole/modif ; - \item exécution "gen\_patch" ; - \item reconfiguration. - \end{itemize} - \item Désactiver un patch : supprimer le fichier dans /etc/eole/patch. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item ClamAV à le paramètre suivant : LogFileMaxSize 2M ; - \item il faut la valeur 10M. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Ajout de dictionnaires locaux} - \begin{itemize} - \item Permet d'ajouter des spécificités ou de nouveau template ; - \item les dictionnaires locaux sont dans /etc/eole/dicos/local/ ; - \item les templates locaux sont dans /etc/eole/distrib/ ; - \item un dictionnaire est un fichier XML Creole ; - \item un template utilise le langage de template Creole. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Syntaxe XML Creole} - \begin{itemize} - \item Entête XML : ; - \item Première balise - \begin{itemize} - \item Inclusion de fichiers templates : : - \begin{itemize} - \item name (obligatoire) : nom du fichier template ; - \item source : si le nom de fichier source est différent de la destination ; - \item mode, owner, group : droits sur fichier appliquer au fichier ; - \item mkdir : création du répertoire de destination si nécessaire. - \end{itemize} - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Syntaxe XML Creole : les variables} - \begin{itemize} - \item Ensemble de famille et séparateur : ; - \begin{itemize} - \item Famille de variables : : - \begin{itemize} - \item Les variables : - \item Les variables ... : - \end{itemize} - \item Les séparateurs : - \begin{itemize} - \item name : nom de variable en dessous du séparateur ; - \item description affiché à l'intérieur de la balise. - \end{itemize} - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Syntaxe XML Creole : les contraintes} - \begin{itemize} - \item Le contraintes : : pour tester/remplir/grouper/conditionner des variables ; - \begin{itemize} - \item calcul automatique avec fonction personnalisé : ... ; - \item calcul automatique non modifiable ; - \item choix de réponse ... ; - \item cacher des variables suivant des contraintes ... : - \begin{itemize} - \item valeur de la variable testé : ... ; - \item affecte nom : - \end{itemize} - \item Lien entre variable : ... : - \begin{itemize} - \item si le maître à une valeur, les autres aussi ; - \item si le maître est multi-évalué, les autres aussi ; - \item les esclaves : . - \end{itemize} - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Syntaxe XML Creole : l'aide} - \begin{itemize} - \item Afficher de l'aide dans l'interface : . - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Installer le paquet ircd-irc2 ; - \item créer un dicos pour générer le fichier /etc/sysconfig/eole/services/4\_ircd.srv ; - \item dans la famille "services" ajouter la variable "activate\_ircd" ayant pour valeur possible "oui" et "non" ; - \item tester gen\_config. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Langague de template Creole} - \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{Les services Creole} - \begin{itemize} - \item les services non-gérés : les services non référencés dans le système de gestion des services ; - \item les services désactivés : retiré du démarrage et arrêté à l'instance/reconfigure : /etc/sysconfig/eole/disabled.srv ; - \item les services activés : mis au démarrage et redémarré à l'instance/reconfigure : /etc/sysconfig/eole/services/*.srv. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique 1} - \begin{itemize} - \item Faire le template /etc/sysconfig/eole/services/4\_ircd.srv ; - \item tester les différentes valeurs et faire reconfigure. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique 2} - \begin{itemize} - \item Installer phpldapadmin ; - \item créer un dicos pour demander l'activation ou non (variable "activate\_phpldapadmin") ; - \item si oui, activer une nouvelle famille "phpldapadmin" ; - \item demander l'adresse IP (phpldapadmin\_host) et le nom du serveur (phpldapadmin\_name) ; - \item copier les templates /etc/phpldapadmin/config.php et /etc/phpldapadmin/apache.conf dans /etc/eole/distrib/ ; - \item le template config.php sera renommé en phpldapadmin.php ; - \item si le nom n'est pas spécifié, le serveur : "Serveur LDAP" ; - \item supprimer la configuration du TLS dans phpldapadmin ; - \item tester sans reconfigurer : /usr/share/creole/creolecat.py -i /etc/eole/config.eol -o config.php /etc/eole/distrib/phpldapadmin.php - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique 3} - \begin{itemize} - \item Ajouter la possibilité d'activer ou non le TLS ; - \item possibilité d'ajouter plusieurs serveurs. - \end{itemize} -\end{frame} - -\section{Zéphir} -\begin{frame}{Plan} - \small \tableofcontents[currentsection, hideothersubsections] -\end{frame} - -\begin{frame} - \frametitle{Personnalisation d'un serveur} - \begin{itemize} - \item Liste des fichiers sauvegardés : - \begin{itemize} - \item dictionnaires additionnels - \item fichier appartenant aux dictionnaires additionnels - \item fichier spécifique (exemple généré par EAD) - \item les patches - \item les paquets additionnels - \end{itemize} - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Ajouter les fichiers personnalisés dans l'application Zéphir pour Scribe2 ; - \item ajouter la dépendance pour les paquets ; - \item envoyer la configuration. - \end{itemize} -\end{frame} - - -\begin{frame} - \frametitle{Les variantes} - \begin{itemize} - \item Variante : configuration identique applicable à plusieurs serveurs - \item Par défaut chaque module est dans la variante "standard" - \item Création des templates, patchs et dicos éventuels - \item Déplacement dans /etc/eole/patch/variante et /etc/eole/dicos/variante - \item Fichiers ou paquets pas référencés : /usr/share/zephir/zephir\_conf/fichiers\_variante - \item Dans /usr/share/zephir/scripts : ./creation\_variante - \item Mettre à jour une variante : ./maj\_variante - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Créer une variante ; - \item mettre Scribe2 dans la variante ; - \item enregistrer Scribe2 dans Zéphir. - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Exécuter un script sur le client} - \begin{itemize} - \item Exécution sur un serveur ou un groupe de serveurs ; - \item les scripts doivent être dans /usr/share/zephir/scripts/ ; - \item ils doivent avoir l'extension .zephir ; - \item ne pas spécifier l'extension lors de l'exécuxion ; - \item fonctionseole.init\_proc : permet de vérifier si l'action est bloqué ; - \item fonctionseole.zephir(, , ) : log envoyer au Zéphir ; - \item les scripts sont lancés en tant que uucp, si besoin utiliser sudo\_script('monscript.zephir'). - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Pratique} - \begin{itemize} - \item Créer un script personnalisé permettant un supprimer un fichier dont le nom est en paramètre. - \end{itemize} -\end{frame} +\include{commun/00-intro} +\include{tronc-commun-1/01-gnu_linux} +\include{tronc-commun-1/02-application-zephir} +\include{tronc-commun-1/03-lire-ecrire} +\include{tronc-commun-1/04-commande-distance} +\include{tronc-commun-1/05-resolution-probleme} +\include{tronc-commun-1/06-application-zephir2} +\include{tronc-commun-1/07-interface-semi-graphique} +\include{tronc-commun-1/08-interface-ead} +\include{tronc-commun-2/01-personnalisation-creole} +\include{tronc-commun-2/02-zephir} \end{document}