Line 3: |
Line 3: |
| | | |
| Ce document est destiné à servir de description en « langage clair » du système de gabarit (template) du serveur Koozali SME. Reportez-vous à la page [[SME_Server:Documentation:Developers_Manual#Configuration_file_templates|gabarit (template) de fichiers de configuration]] du [[SME_Server:Documentation:Developers_Manual|guide du dévelopeur pour le serveur SME,]] pour une description plus technique. | | Ce document est destiné à servir de description en « langage clair » du système de gabarit (template) du serveur Koozali SME. Reportez-vous à la page [[SME_Server:Documentation:Developers_Manual#Configuration_file_templates|gabarit (template) de fichiers de configuration]] du [[SME_Server:Documentation:Developers_Manual|guide du dévelopeur pour le serveur SME,]] pour une description plus technique. |
| + | |
| + | {{Note box|type=Note : |le terme anglais « template » a été traduit par « gabarit » ou « modèle » selon les pages du wiki.}} |
| | | |
| Le système de gabarit est unique au serveur SME. Il est utilisé pour créer les fichiers de configuration standard dans /etc/... en conjonction avec l'événement ''expand-template''. | | Le système de gabarit est unique au serveur SME. Il est utilisé pour créer les fichiers de configuration standard dans /etc/... en conjonction avec l'événement ''expand-template''. |
Line 51: |
Line 53: |
| ===Pourquoi tout cela dans la conception de SME ?=== | | ===Pourquoi tout cela dans la conception de SME ?=== |
| | | |
− | Afin d'avoir des réglages par défaut robustes qui peuvent être facilement remis à leur paramètres de départ en effacement simplement les fragments personnalisés puis appliquer le gabarit et enfin redémarrer le service. Le système reviendra alors à une configuration fonctionnelle. | + | Afin d'avoir des réglages par défaut robustes qui peuvent être facilement remis à leur paramètres d'origine en effaçant simplement les fragments personnalisés puis en appliquant le gabarit et enfin en redémarrant le service. Le système reviendra alors à une configuration fonctionnelle. |
| + | |
| + | C'est pour cela que les gabarits principaux ne doivent JAMAIS être modifiés afin que tous les fragments de code par défaut restent inchangés et intacts. |
| + | |
| + | Vous devrez localiser les fragments du gabarit qui vous intéresse et en lire le code afin de décider quel fragment vous voulez copier et modifier. Vous pouvez généralement déduire ceci du fichier de configuration que vous essayez de modifier /etc/xxxx c'est-à-dire que l'un est lié à l'autre. |
| + | |
| + | Veuillez faire le tour des différents tutoriels (HowTo) et articles du wiki des Contributions qui ont ces types de modification de configuration décrits, vous y trouverez ainsi des exemples détaillés pas à pas qui pourront être appliqués à un besoin particulier (en changeant le nom du service et du fragment et les commandes d'application des gabarits évidemment). Vous pouvez aussi rechercher « expand-template » sur le forum pour de nombreux exemples. |
| + | |
| + | ===Code de fragment de gabarit - perl vs text=== |
| + | |
| + | Certains gabarits sont insérés sous forme de texte littéral dans les fichiers de sortie, et certains gabarits exécutent en fait du code perl pour générer le texte de sortie. |
| + | |
| + | Les fragments de gabarit utilisant du code perl incluent des accolades ("{" et "}") et contiendront probablement des lignes commençant par : |
| + | |
| + | $OUT .= "bla, bla, bla"; |
| + | |
| + | Si le gabarit que vous avez copié inclut du code perl, vous devrez écrire le code perl approprié pour créer votre nouvelle sortie, ou placer vos modifications de texte après l'accolade fermante finale ("}") des commandes perl. |
| + | |
| + | ===templates.metadata=== |
| + | L'emplacement du fichier de sortie du gabarit, la propriété et d'autres métadonnées peuvent également être contrôlés par les paramètres de configuration stockés sous /etc/e-smith/templates.metadata. |
| | | |
− | C'est pour cela que le gabarit principal ne doit JAMAIS être modifié directement, afin que les tous les fragments de code par défaut restent inchangés et intacts.
| + | Alors que l'emplacement de sortie par défaut pour la plupart des fichiers de configuration fondés sur des gabarits correspond au chemin d'accès à la collection de fragments de gabarits, il est également possible de spécifier un nom de fichier de sortie différent à l'aide d'une entrée dans le dossier /etc/e-smith/templates.metadata. |
| | | |
− | Vous aurez besoin de localiser les fragments du gabarit d’intérêt et d'en lire le code afin de décider quel fragment vous voulez copier et modifier. Vous pouvez généralement déduire ceci du fichier de configuration que vous essayez de modifier /etc/xxxx c'est à dire que l'un est lié à l'autre.
| + | ====/var/service/qpsmtpd/config/peers/0==== |
| + | Les directives qpsmtpd 'plugins' dans /etc/e-smith/templates/var/service/qpsmtpd/config/plugins n'affectent PAS le contenu de /var/service/qpsmtpd/plugins comme prévu. |
| | | |
− | S'il vous plaît, faites le tour des différents tutoriels (HowTo) et articles du wiki pour les Contributions qui ont ce type de modification de configuration décrits, vous y trouverez ainsi des exemples détaillés pas à pas qui pourront être appliqués à un besoin particulier (en changeant le nom de service et de fragment et les commandes d'application des gabarits évidemment). Vous pouvez aussi rechercher sur le forum "expand-template" pour de nombreux exemples.
| + | Au lieu de cela, en raison de cette ligne dans /etc/e-smith/'''templates.metadata'''/var/service/qpsmtpd/config/plugins : |
| + | OUTPUT_FILENAME="/var/service/qpsmtpd/config/peers/0" |
| + | |
| + | cette commande : |
| + | expand-template /var/service/qpsmtpd/config/plugins |
| + | |
| + | mettra à jour le contenu de /var/service/qpsmtpd/config/peers/0. |
| + | |
| + | Remarque : /var/service/qpsmtpd/config/plugins n'est pas modélisé (templated) pour le moment. |
| + | |
| + | ====/etc/samba/smb.cnf==== |
| + | /etc/samba/smb.cnf est mis à jour en fonction des fragments de gabarit placés dans /etc/e-smith/templates/etc/smb.cnf. |
| | | |
| ===Exemples pratiques spécifiques=== | | ===Exemples pratiques spécifiques=== |
| | | |
− | Ce qui suit n'est qu'une suite d'exemples, assurez-vous de définir et utiliser les réglages et fragments de gabarit appropriés. | + | Ce qui suit n'est qu'une suite d'exemples, assurez-vous de définir et d'utiliser les réglages et les fragments de gabarit appropriés. |
| | | |
| ====dhcpd.conf==== | | ====dhcpd.conf==== |
Line 68: |
Line 101: |
| Disons que vous voulez modifier une valeur qui est dans le fragment 25DomainNameServers (pour les réglages du serveur de DNS), et dans le fragment 25Routers (pour le réglage de passerelle/routeur). | | Disons que vous voulez modifier une valeur qui est dans le fragment 25DomainNameServers (pour les réglages du serveur de DNS), et dans le fragment 25Routers (pour le réglage de passerelle/routeur). |
| | | |
− | Copiez les fragments dans l'arborescence de gabarits personnalisés (templates-custom) | + | Copiez les fragments dans l'arborescence des gabarits personnalisés (templates-custom) : |
| mkdir -p /etc/e-smith/templates-custom/etc/dhcpd.conf | | mkdir -p /etc/e-smith/templates-custom/etc/dhcpd.conf |
| echo "option domain-name-servers 4.2.2.1;" > /etc/e-smith/templates-custom/etc/dhcpd.conf/25DomainNameServers | | echo "option domain-name-servers 4.2.2.1;" > /etc/e-smith/templates-custom/etc/dhcpd.conf/25DomainNameServers |
| echo "option routers 192.168.1.4;" > /etc/e-smith/templates-custom/etc/dhcpd.conf/25Routers | | echo "option routers 192.168.1.4;" > /etc/e-smith/templates-custom/etc/dhcpd.conf/25Routers |
− | Appliquez le gabarit et redémarrez dhcpd | + | Appliquez le gabarit et redémarrez dhcpd : |
| expand-template /etc/dhcpd.conf | | expand-template /etc/dhcpd.conf |
| + | <tabs container style="display: inline-block;"><tab name="Pour SME 10"> |
| + | systemctl restart dhcpd |
| + | </tab><tab name="Pour SME 9 et avant"> |
| sv t /service/dhcpd | | sv t /service/dhcpd |
| + | </tab> |
| + | </tabs> |
| | | |
| Examinez /etc/dhcpd.conf afin de vérifier si vos changements ont été appliqués. | | Examinez /etc/dhcpd.conf afin de vérifier si vos changements ont été appliqués. |
Line 80: |
Line 118: |
| ====masq==== | | ====masq==== |
| | | |
− | Examinez les fragments du gabarit dans /etc/e-smith/templates/etc/rc.d/init.d/masq | + | Examinez les fragments du gabarit dans /etc/e-smith/templates/etc/rc.d/init.d/masq. |
| | | |
| Disons que vous voulez bloquer l'accès à votre serveur depuis une adresse IP externe et qu'il n'y a pas de fragments qui correspond à vos souhaits. Referez-vous à http://forums.contribs.org/index.php/topic,45495.0.html . Dans ce cas créer un fragment. | | Disons que vous voulez bloquer l'accès à votre serveur depuis une adresse IP externe et qu'il n'y a pas de fragments qui correspond à vos souhaits. Referez-vous à http://forums.contribs.org/index.php/topic,45495.0.html . Dans ce cas créer un fragment. |
| | | |
− | Créez un nouveau fragment de gabarit | + | Créez un nouveau fragment de gabarit : |
− | mkdir -p /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/
| |
| nano -w /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/40DenyZombies | | nano -w /etc/e-smith/templates-custom/etc/rc.d/init.d/masq/40DenyZombies |
− | Ajoutez ceci au fragment | + | Ajoutez ceci au fragment : |
| /sbin/iptables -A INPUT -s 24.71.223.10/32 -j DROP # gaspillage d'espace IP | | /sbin/iptables -A INPUT -s 24.71.223.10/32 -j DROP # gaspillage d'espace IP |
| /sbin/iptables -A INPUT -s 24.64.0.0/13 -j DROP # soutien Telco | | /sbin/iptables -A INPUT -s 24.64.0.0/13 -j DROP # soutien Telco |
− | Puis sauvegardez et quittez | + | Puis sauvegardez et quittez : |
| Ctrl x | | Ctrl x |
| yes | | yes |
− | Appliquez le gabarit et redémarrez masq (masquerading) | + | Appliquez le gabarit et redémarrez masq (masquerading) : |
| expand-template /etc/rc.d/init.d/masq | | expand-template /etc/rc.d/init.d/masq |
| + | <tabs container style="display: inline-block;"><tab name="Pour SME 10"> |
| + | systemctl restart masq |
| + | </tab><tab name="Pour SME 9 et avant"> |
| /etc/init.d/masq restart | | /etc/init.d/masq restart |
| + | </tab> |
| + | </tabs> |
| | | |
| Vérifiez que vos modifications sont fonctionnelles. | | Vérifiez que vos modifications sont fonctionnelles. |