mise à jour formation tc1 et tc2

This commit is contained in:
Emmanuel Garette 2017-01-26 17:36:57 +01:00
parent c0bb8d8cfe
commit 09aa743b31
15 changed files with 324 additions and 168 deletions

View File

@ -187,46 +187,6 @@ Ajouter une variable pour activer/désactiver le service :
</creole>
\end{minted}
\chapter{Ajout du template}
Le fichier de configuration du service doit être "templatiser" par EOLE :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service>ircd-irc2</service>
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<file name='/etc/ircd/ircd.conf'/>
\end{minted}
\begin{minted}{xml}
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Ajout des variables}
Dans le template nous allons utiliser des variables définis dans le dictionnaire. Nous allons ajouter les variable pour configurer les M line et les K line :
@ -240,13 +200,12 @@ Dans le template nous allons utiliser des variables définis dans le dictionnair
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
<file name='/etc/ircd/ircd.conf'/>
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
@ -281,6 +240,57 @@ Dans le template nous allons utiliser des variables définis dans le dictionnair
</creole>
\end{minted}
\chapter{Ajout du template}
Le fichier de configuration du service doit être "templatiser" par EOLE :
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service>ircd-irc2</service>
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<file name='/etc/ircd/ircd.conf'/>
\end{minted}
\begin{minted}{xml}
</files>
<variables>
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
</variables>
<constraints>
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Désactivation des éléments}
Si "activer\_ircd" est à "non" le service ne devrait plus être démarré, la famille ne doit plus être accessible et le fichier de configuration ne doit plus être généré :
@ -351,11 +361,70 @@ Si "activer\_ircd" est à "non" le service ne devrait plus être démarré, la f
</creole>
\end{minted}
\chapter{Test du dictionnaire}
\chapter{Ajout du groupe}
Lancer gen\_config.Dans l'onglet service tester si l'onglet "Ircd" disparait bien si "Activer le serveur IRC" est à "non" et réapparait si la valeur est à "oui".
Il y a autant de message d'erreur que de nom d'hôte banni. Il est donc nécessaire de faire un groupe.
Renseigner la valeur de la variable "Nom de domaine utilisé pour accéder au serveur IRC" à "localhost.localdomaine".
\begin{minted}{xml}
<?xml version="1.0" encoding="utf-8"?>
<creole>
<files>
<package>ircd-irc2</package>
<service servicelist="ircd">ircd-irc2</service>
<service_access service='ircd-irc2'>
<port port_type="SymLinkOption">ircd_port</port>
</service_access>
<file filelist="ircd" name='/etc/ircd/ircd.conf'/>
</files>
<variables>
<family name='services'>
<variable name='activer_ircd' type='oui/non'
description="Activer le serveur IRC" >
<value>oui</value>
</variable>
</family>
<family name='ircd'>
<variable name='ircd_domaine' type='domain'
description="Nom de domaine utilisé pour accéder au serveur IRC"/>
<variable name='ircd_libelle' type='string'
description="Libellé du serveur IRC"/>
<variable name='ircd_port' type='port' description="Port du serveur IRC"
mode='expert'>
<value>6667</value>
</variable>
<variable name='ircd_banned_hostname' type='domain'
description="Hote banni sur le serveur IRC" multi="True"
mandatory="True"/>
<variable name='ircd_banned_comment' type='string'
description="Motif du bannissement du serveur IRC">
<value>Vous êtes banni, contacter votre administrateur</value>
</variable>
</family>
</variables>
<constraints>
<condition name='disabled_if_in' source='activer_ircd'>
<param>non</param>
<target type='filelist'>ircd</target>
<target type='servicelist'>ircd</target>
<target type='family'>ircd</target>
</condition>
\end{minted}
\begin{minted}[bgcolor=bg]{xml}
<group master="ircd_banned_hostname">
<slave>icd_banned_comment</slave>
</group>
\end{minted}
\begin{minted}{xml}
</constraints>
<help>
</help>
</creole>
\end{minted}
\chapter{Ajout d'aide à la variable d'activation}
@ -421,6 +490,12 @@ Ajouter de l'aide sur la variable activer\_ircd :
</creole>
\end{minted}
\chapter{Test du dictionnaire}
Lancer gen\_config.Dans l'onglet service tester si l'onglet "Ircd" disparait bien si "Activer le serveur IRC" est à "non" et réapparait si la valeur est à "oui".
Renseigner la valeur de la variable "Nom de domaine utilisé pour accéder au serveur IRC" à "localhost.localdomaine".
\chapter{Création du template}
Si le variable pour activer le serveur est maintenant bien présente, le service n'est toujours pas fonctionnel.
@ -495,9 +570,9 @@ L'administrateur a la possibilité d'ajouté plusieurs lignes de bannissement. I
# and instructions
# M-Line
M:%%ircd_domaine::%%ircd_libelle:%%ircd_port:000A
%for %%hostname in %%ircd_banned_hostname
\end{minted}
\begin{minted}[bgcolor=bg]{cpp}
%for %%hostname in %%ircd_banned_hostname
# K-Line
K:%%hostname:%%hostname.ircd_banned_comment:*:0:
%end for

View File

@ -15,7 +15,7 @@
\item Horus
\item Scribe
\item Seth
\item Shpynx
\item Sphynx
\item Zéphir
\end{itemize}
\end{frame}

View File

@ -42,6 +42,7 @@
\item les variables multi,
\item les variables groupées,
\item les variables avec choix (imposés ou ouverts)
\item les variables cachées
\end{itemize}
\end{itemize}
\end{frame}

View File

@ -3,7 +3,7 @@
\begin{itemize}
\item Pour installer un module, il suffit de :
\begin{enumerate}
\item démarrer sur l'iso téléchargée sur le site d'EOLE (gravée sur CD-ROM ou copiée sur clé USB),
\item démarrer sur l'iso téléchargée sur le site d'EOLE (gravée sur CD-ROM ou copiée sur clé USB),
\item sélectionner le module à installer parmi ceux proposés et valider,
\item possibilité de partitionner le serveur (obligatoire sur eolebase et avec serveur ayant plus d'un disque),
% \item installer manuellement des modules noyaux DKMS si nécessaire,

View File

@ -92,22 +92,6 @@
\end{columns}
\end{frame}
\section{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-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-1/20-gnu_linux}
\include{modules_EOLE_envole/tronc-commun-1/20-tcpdump-tshark}
\include{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire}
\include{modules_EOLE_envole/tronc-commun-1/22-commande-distance}
\include{modules_EOLE_envole/commun/00-intro}
%\include{modules_EOLE_envole/commun/01-nouveaute23}
\include{modules_EOLE_envole/commun/01-nouveaute24}
@ -200,6 +184,21 @@
\end{frame}
\include{modules_EOLE_envole/tronc-commun-1/10-application-zephir}
\section{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-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-1/20-gnu_linux}
\include{modules_EOLE_envole/tronc-commun-1/20-tcpdump-tshark}
\include{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire}
\include{modules_EOLE_envole/tronc-commun-1/22-commande-distance}
\section{Application Zéphir 2}
\begin{frame}{Plan}
@ -215,7 +214,7 @@
\include{modules_EOLE_envole/tronc-commun-1/11-application-zephir2}
%FIXME a revoir !
%\include{modules_EOLE_envole/tronc-commun-1/99-migration-zephir}
\include{modules_EOLE_envole/tronc-commun-1/99-migration-zephir}
\subject{Talks}
\begin{frame}

View File

@ -1,14 +1,14 @@
%\begin{frame}
% \frametitle{Eclair}
% \begin{itemize}
% \item Eclair, serveur 2.3 de clients légers sous GNU/Linux :
% \begin{itemize}
% \item serveur de clients légers ;
% \item compatible partage de fichiers Scribe et Horus ;
% \item support de Gaspacho.
% \end{itemize}
% \end{itemize}
%\end{frame}
\begin{frame}
\frametitle{Eclair}
\begin{itemize}
\item Eclair, serveur de clients légers sous GNU/Linux :
\begin{itemize}
\item serveur de clients légers ;
\item compatible partage de fichiers Scribe et Horus ;
\item support de Gaspacho.
\end{itemize}
\end{itemize}
\end{frame}
\begin{frame}
%\frametitle{Zéphir/Sentinelle}
@ -38,7 +38,7 @@
\begin{frame}
\frametitle{Seshat}
\begin{itemize}
\item le relais de messagerie pour les domaines intra-académiques des Scribe ;
\item Le relais de messagerie pour les domaines intra-académiques des Scribe ;
\item annuaire centralisé avec alimentation décentralisée.
\end{itemize}
\end{frame}
@ -46,13 +46,20 @@
\begin{frame}
\frametitle{Thot}
\begin{itemize}
\item annuaire centralisé avec alimentation centralisée.
\item Annuaire centralisé avec alimentation centralisée.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Seth}
\begin{itemize}
\item Contrôleur de domaine de type AD.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Hapy}
\begin{itemize}
\item serveur de solution virtuelle un nœud ou multiple nœuds.
\item Serveur de solution virtuelle un nœud ou multiple nœuds.
\end{itemize}
\end{frame}

View File

@ -7,6 +7,7 @@
\item configure firewall et tcpwrapper ;
\item si Era n'est pas installé, possibilité de désactiver ;
\item pour ouvrir le firewall ouvre.firewall ;
\item pour fermer le firewall ferme.firewall ;
\item recharger les règles de firewall : service bastion restart ;
\item pour connaître la liste des règles : iptables-save.
\end{itemize}

View File

@ -5,7 +5,7 @@
\item ouvrir le firewall et revérifier les règles ;
\item refermer le firewall ;
\item lister les tâches du schedule, désactiver une tâche et la réactiver ;
\item activer la sauvegarde pour cette nuit.
\item activer une mise à jour pour cette nuit.
\end{itemize}
\end{frame}

View File

@ -18,6 +18,9 @@
\item ups.status: OL
\item TIMER 10
\item ups.status: OB
\item TIMER 10
\item ups.status: LB
\item TIMER 10
\end{itemize}
\item reconfigurer, toutes les 10 secondes le status change d'état.
\end{itemize}

View File

@ -20,7 +20,6 @@
\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}

View File

@ -21,42 +21,86 @@
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique : configuration Zéphir du serveur}
\begin{itemize}
\item Création d'un nouvel utilisateur "eole" ;
\item affecter tous les droits à l'utilisateur ;
\item se reconnecter avec ce nouvel utilisateur ;
\item ajouter un nouvel é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 Processus obligatoire et manuel ;
\item création dans la base + lien sécurisé ;
\item lancer : enregistrement\_zephir :
\item connexion au réseau,
\item connexion à Zéphir,
\item création ou choix du serveur,
\item gestion des configurations :
\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}
\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}
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Enregistrement Zéphir : les contraintes 2.6}
\begin{itemize}
\item L'enregistrement ne fonctionne qu'avec un nom de domaine (pas une IP !) ;
\item il est nécessaire que la clef publique du Zéphir soit validé.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique : l'enregistrement Zéphir}
\begin{itemize}
\item Configure le serveur Scribe :
\begin{itemize}
\item aller dans gen\_config onglet expert "Réseau avancé" ;
\item "Déclarer des noms d'hôtes supplémentaires" : "oui" ;
\item "Adresse IP de l'hôte"
\item "Nom long de l'hôte"
\end{itemize}
\item reconfigurer le serveur ;
\item copier la clef publique : scp root@<ip\_zephir>:/etc/eole/certs/ca\_local.crt /usr/local/share/ca-certificates/
\item update-ca-certificates
\item enregistrement du serveur sur le Zéphir en remontant la configuration.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique : créer un nouveau serveur}
\begin{itemize}
\item Dans la page de l'établissement, créer un nouveau serveur ;
\item générer la configuration.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Modification de la configuration dans l'application Zéphir}
\begin{itemize}
\item La configuration du serveur peut être renseignée sur Zéphir ;
\item même interface sur que le module ;
\item la configuration n'est pas envoyer immédiatement sur le serveur ;
\item gen\_config sur le serveur peut récupérer les modifications.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique : configuration Zéphir du serveur}
\frametitle{Pratique}
\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 : choisir le module et la version,
% \item descriptif : serveur,
% \item configurer : état actuel/générer,
% \item "Sauver sur Zéphir" ;
% \end{itemize}
% \item enregistrement Zéphir ;
\item enregistrement du serveur sur le Zéphir en remontant la configuration.
\item Dans la page d'état du serveur "modifier" la configuration du Scribe ;
\item modifier une valeur ;
\item enregistrer la configuration ;
\item sur le serveur Scribe lancer gen\_config et se logger sur le serveur Zéphir.
\end{itemize}
\end{frame}

View File

@ -14,7 +14,7 @@
\item créer une clef SSH :
\begin{enumerate}
\item \emph{ssh-keygen -t rsa},
\item récupérer le fichier ~/.ssh/id\_rsa.pub.
\item récupérer le fichier \~/.ssh/id\_rsa.pub.
\end{enumerate}
\item ajouter la clef à l'utilisateur.
\end{itemize}
@ -82,8 +82,37 @@
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Lancer l'action de remontée de la configuration ;
\item Dans la page d'état du serveur "modifier" une valeur de la configuration du Scribe ;
\item lancer l'action "Envoyer la configuration au serveur" ;
\item forcer la synchronisation : synchro\_zephir ;
\item restaurer le serveur dans VirtualBox et redescendre la configuration.
\item vérifier que la configuration est bien redescendu.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Gestion de la file d'attente des actions}
\begin{itemize}
\item Zéphir ne se connecte pas au Scribe ;
\item en attendant la connexion, les actions sont stockés dans la file ;
\item dans la page d'état du serveur, "liste des commandes en attente".
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Lancer une action ;
\item annuler l'action.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Restaurer le serveur dans VirtualBox ;
\item configurer le réseau avec la commande network\_zephir ;
\item récupérer la clef publique du Zéphir ;
\item enregistrer le serveur ;
\item redescendre la configuration.
\end{itemize}
\end{frame}

View File

@ -63,13 +63,11 @@
\end{frame}
\begin{frame}
\frametitle{Migration Horus/Scribe 2.X.Y vers une release supérieure}
\frametitle{Migration 2.X.Y vers une release supérieure}
\begin{itemize}
\item Utilisation du script Maj-Release
\item
\item
\item
\item
\item Permet de profiter des dernières corrections fonctionnelles sans changer de version ;
\item utilisation du script Maj-Release ;
\item migration du serveur dans le Zéphir en fin de procédure.
\end{itemize}
\end{frame}

View File

@ -107,58 +107,58 @@
\include{modules_EOLE_envole/tronc-commun-2/02-zephir}
\include{modules_EOLE_envole/tronc-commun-2/03-zephir_script}
\section{API Python}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-2/20-api}
%\section{API Python}
%\begin{frame}{Plan}
% \begin{columns}[t]
% \begin{column}{5cm}
% \tableofcontents[sections={1-6},currentsection, hideothersubsections]
% \end{column}
% \begin{column}{5cm}
% \tableofcontents[sections={7-12},currentsection,hideothersubsections]
% \end{column}
% \end{columns}
%\end{frame}
%\include{modules_EOLE_envole/tronc-commun-2/20-api}
%%
%\section{API Bash}
%\begin{frame}{Plan}
% \begin{columns}[t]
% \begin{column}{5cm}
% \tableofcontents[sections={1-6},currentsection, hideothersubsections]
% \end{column}
% \begin{column}{5cm}
% \tableofcontents[sections={7-12},currentsection,hideothersubsections]
% \end{column}
% \end{columns}
%\end{frame}
%\include{modules_EOLE_envole/tronc-commun-2/30-api_bash}
%
\section{API Bash}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-2/30-api_bash}
%
\section{Personnalisation avancée}
\begin{frame}{Plan}
\begin{columns}[t]
\begin{column}{5cm}
\tableofcontents[sections={1-6},currentsection, hideothersubsections]
\end{column}
\begin{column}{5cm}
\tableofcontents[sections={7-12},currentsection,hideothersubsections]
\end{column}
\end{columns}
\end{frame}
\include{modules_EOLE_envole/tronc-commun-2/04-diagnose}
\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure}
\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure-pratique}
\include{modules_EOLE_envole/tronc-commun-2/06-montage-conteneur}
\include{modules_EOLE_envole/tronc-commun-2/07-eole-firewall}
\include{modules_EOLE_envole/tronc-commun-2/08-schedule}
\include{modules_EOLE_envole/tronc-commun-2/09-host}
\include{modules_EOLE_envole/tronc-commun-2/11-mysql}
\include{modules_EOLE_envole/tronc-commun-2/12-interface}
\include{modules_EOLE_envole/tronc-commun-2/13-disknod}
\include{modules_EOLE_envole/tronc-commun-2/14-sso}
\include{modules_EOLE_envole/tronc-commun-2/15-script-ead}
\include{modules_EOLE_envole/tronc-commun-2/16-sauvegarde}
\include{modules_EOLE_envole/tronc-commun-2/17-conteneur_groupe_conteneur}
\include{modules_EOLE_envole/tronc-commun-2/18-cert}
%\section{Personnalisation avancée}
%\begin{frame}{Plan}
% \begin{columns}[t]
% \begin{column}{5cm}
% \tableofcontents[sections={1-6},currentsection, hideothersubsections]
% \end{column}
% \begin{column}{5cm}
% \tableofcontents[sections={7-12},currentsection,hideothersubsections]
% \end{column}
% \end{columns}
%\end{frame}
%\include{modules_EOLE_envole/tronc-commun-2/04-diagnose}
%\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure}
%\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure-pratique}
%\include{modules_EOLE_envole/tronc-commun-2/06-montage-conteneur}
%\include{modules_EOLE_envole/tronc-commun-2/07-eole-firewall}
%\include{modules_EOLE_envole/tronc-commun-2/08-schedule}
%\include{modules_EOLE_envole/tronc-commun-2/09-host}
%\include{modules_EOLE_envole/tronc-commun-2/11-mysql}
%\include{modules_EOLE_envole/tronc-commun-2/12-interface}
%\include{modules_EOLE_envole/tronc-commun-2/13-disknod}
%\include{modules_EOLE_envole/tronc-commun-2/14-sso}
%\include{modules_EOLE_envole/tronc-commun-2/15-script-ead}
%\include{modules_EOLE_envole/tronc-commun-2/16-sauvegarde}
%\include{modules_EOLE_envole/tronc-commun-2/17-conteneur_groupe_conteneur}
%\include{modules_EOLE_envole/tronc-commun-2/18-cert}
\subject{Talks}
\begin{frame}

View File

@ -62,7 +62,7 @@
\frametitle{Dictionnaire Creole : les services}
\begin{itemize}
\item Services fonctionnent sur le maitre ou dans un conteneur ;
\item différentes méthodes : service, upstart ou apache.
\item différentes méthodes : service, upstart (version EOLE inférieur à 2.6) ou apache.
\end{itemize}
\end{frame}