\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 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} \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}