apacheconfig: améliorer l'affichage de l'aide et support du répertoire .apacheconfig
This commit is contained in:
parent
27f5f7a905
commit
13215c364a
142
apacheconfig
142
apacheconfig
|
@ -10,6 +10,14 @@ USAGE
|
|||
$scriptname [options]
|
||||
|
||||
OPTIONS
|
||||
--help-template
|
||||
Afficher toutes les options qui concernent la gestion des templates
|
||||
--help-files
|
||||
Afficher une description des fichiers qui peuvent se trouver dans le
|
||||
répertoire local
|
||||
--help-deploy
|
||||
Afficher l'aide sur les options avancées pour le déploiement
|
||||
|
||||
Les options suivantes servent à mettre à jour la configuration apache dans un
|
||||
répertoire de référence appelé répertoire local, avant son déploiement.
|
||||
-d, --destdir DESTDIR
|
||||
|
@ -21,35 +29,62 @@ répertoire de référence appelé répertoire local, avant son déploiement.
|
|||
Copier les templates spécifiés dans le répertoire local s'il n'y
|
||||
existent pas déjà. Les templates ayant l'extension '.template' doivent
|
||||
être demandés explicitement. Sinon, ils sont ignorés.
|
||||
|
||||
Les options suivantes permettent de déployer les fichiers du répertoire local.
|
||||
IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que
|
||||
sur debian
|
||||
-u, --update, --deploy
|
||||
Mettre à jour la configuration système à partir du répertoire local.
|
||||
Lors du déploiement de la configuration, les valeurs de variables
|
||||
dynamiques sont remplacées dans les fichiers destination.
|
||||
-r, --certsdir CERTSDIR
|
||||
Spécifier le cas échéant le répertoire contenant les certificats à
|
||||
déployer."
|
||||
}
|
||||
function __templatectl_display_help() { display_help; }
|
||||
function display_template_help() {
|
||||
uecho "\
|
||||
Les options suivantes servent à mettre à jour la configuration apache dans un
|
||||
répertoire de référence appelé répertoire local, avant son déploiement.
|
||||
|
||||
-d, --destdir DESTDIR
|
||||
Spécifier le répertoire local dans lequel copier la configuration apache.
|
||||
-l, --list
|
||||
Lister les templates disponibles.
|
||||
-m, --merge
|
||||
Copier les templates spécifiés dans le répertoire local s'il n'y existent
|
||||
pas déjà. Les templates ayant l'extension '.template' doivent être demandés
|
||||
explicitement. Sinon, ils sont ignorés.
|
||||
-z, --unmerge
|
||||
Supprimer les fichiers du répertoire local s'ils n'ont pas été modifiés
|
||||
par rapport aux templates.
|
||||
Supprimer les fichiers du répertoire local s'ils n'ont pas été modifiés par
|
||||
rapport aux templates.
|
||||
-C, --clean
|
||||
Supprimer les répertoires vides dans le répertoire local. Peut être
|
||||
utile après -z
|
||||
Supprimer les répertoires vides dans le répertoire local. Peut être utile
|
||||
après -z
|
||||
-g, --diff
|
||||
Afficher les différences entre les templates et les fichiers du
|
||||
répertoire local.
|
||||
Afficher les différences entre les templates et les fichiers du répertoire
|
||||
local.
|
||||
--list-vars
|
||||
Afficher pour information les valeurs par défaut des variables de
|
||||
template.
|
||||
Afficher pour information les valeurs par défaut des variables de template.
|
||||
--write-vars
|
||||
Ecrire dans le fichier .apacheconfig les valeurs par défaut des
|
||||
variables, ce qui permet après édition du fichier d'éviter de les
|
||||
spécifier à chaque fois avec l'option -v
|
||||
Ecrire dans le fichier .apacheconfig les valeurs par défaut des variables,
|
||||
ce qui permet après édition du fichier d'éviter de les spécifier à chaque
|
||||
fois avec l'option -v
|
||||
Le fichier n'est pas écrasé s'il existe déjà.
|
||||
-v, --var NAME=VALUE
|
||||
Spécifier la valeur d'une variable. Il est possible de spécifier des
|
||||
valeurs qui ne sont pas dans la liste prédéfinie. Par défaut, il s'agit
|
||||
d'une variable de template, utilisée pour mettre à jour la copie locale
|
||||
d'un template avec l'option --merge
|
||||
Dans le fichier .apacheconfig, les valeurs des variables de template
|
||||
n'est pas censée changer. Lors de la copie des templates avec --merge,
|
||||
chaque occurence de @@VAR@@ dans un template est remplacée dans la copie
|
||||
locale par la valeur de la variable de template VAR
|
||||
Les variables dynamiques sont remplacées lors du déploiement du fichier
|
||||
avec l'option --update
|
||||
|
||||
Spécifier la valeur d'une variable. Il est possible de spécifier des valeurs
|
||||
qui ne sont pas dans la liste prédéfinie. Par défaut, c'est une variable de
|
||||
template, utilisée pour mettre à jour la copie locale d'un template avec
|
||||
l'option --merge
|
||||
Dans le fichier .apacheconfig, les valeurs des variables de template n'est
|
||||
pas censée changer. Lors de la copie des templates avec --merge, chaque
|
||||
occurence de @@VAR@@ dans un template est remplacée dans la copie locale par
|
||||
la valeur de la variable de template VAR
|
||||
Les variables dynamiques sont remplacées lors du déploiement du fichier avec
|
||||
l'option --update"
|
||||
}
|
||||
function display_files_help() {
|
||||
uecho "\
|
||||
Le répertoire local peut contenir les fichiers et répertoires suivants, qui sont
|
||||
tous optionnels:
|
||||
|
||||
|
@ -83,48 +118,38 @@ tous optionnels:
|
|||
Les fichiers de ce répertoire sont de la forme NAME-certs.conf et chacun d'eux
|
||||
correspondant en principe à un fichier NAME.ssl.conf dans sites/
|
||||
- RewriteRules/ le répertoire qui contient la configuration de réécriture. Tous
|
||||
les fichiers RewriteRules*.conf de ce répertoire sont copiés dans /etc/apache2
|
||||
les fichiers RewriteRules*.conf de ce répertoire sont copiés dans /etc/apache2"
|
||||
}
|
||||
function display_deploy_help() {
|
||||
uecho "\
|
||||
Les options suivantes sont des options avancées pour le déploiment des fichiers:
|
||||
|
||||
Les options suivantes permettent de déployer les fichiers du répertoire local.
|
||||
IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que
|
||||
sur debian
|
||||
-u, --update, --deploy
|
||||
Mettre à jour la configuration système à partir du répertoire local.
|
||||
Lors du déploiement de la configuration, les valeurs de variables
|
||||
dynamiques sont remplacées dans les fichiers destination.
|
||||
-r, --certsdir CERTSDIR
|
||||
Spécifier le cas échéant le répertoire contenant les certificats à
|
||||
déployer.
|
||||
|
||||
OPTIONS AVANCEES
|
||||
--confdir CONFDIR
|
||||
Spécifier l'emplacement des fichiers de configuration apache ainsi que
|
||||
les fichiers 'modules.conf' et 'sites.conf'. Par défaut, prendre le
|
||||
répertoire local.
|
||||
Spécifier l'emplacement des fichiers de configuration apache ainsi que les
|
||||
fichiers 'modules.conf' et 'sites.conf'. Par défaut, prendre le répertoire
|
||||
local.
|
||||
--modulesdir MODULESDIR
|
||||
Spécifier l'emplacement des fichiers de configuration des modules. Par
|
||||
défaut, utiliser DESTDIR/modules si ce répertoire existe.
|
||||
--sitesdir SITESDIR
|
||||
Spécifier l'emplacement des fichiers de configuration des sites. Par
|
||||
défaut, utiliser DESTDIR/sites si ce répertoire existe.
|
||||
Spécifier l'emplacement des fichiers de configuration des sites. Par défaut,
|
||||
utiliser DESTDIR/sites si ce répertoire existe.
|
||||
--cgibindir CGIBINDIR
|
||||
Spécifier l'emplacement des scripts cgi à installer. Par défaut,
|
||||
utiliser DESTDIR/cgi-bin si ce répertoire existe.
|
||||
Spécifier l'emplacement des scripts cgi à installer. Par défaut, utiliser
|
||||
DESTDIR/cgi-bin si ce répertoire existe.
|
||||
--wwwdir WWWDIR
|
||||
Spécifier l'emplacement des fichiers du serveur web. Par défaut,
|
||||
utiliser DESTDIR/www si ce répertoire existe.
|
||||
Spécifier l'emplacement des fichiers du serveur web. Par défaut, utiliser
|
||||
DESTDIR/www si ce répertoire existe.
|
||||
--certsconfdir CERTSCONFDIR
|
||||
Spécifier l'emplacement des fichiers de configuration des certificats.
|
||||
Par défaut, utiliser DESTDIR/certsconf si ce répertoire existe. Il faut
|
||||
alors spécifier aussi CERTSDIR, l'emplacement des certificats à
|
||||
installer.
|
||||
Spécifier l'emplacement des fichiers de configuration des certificats. Par
|
||||
défaut, utiliser DESTDIR/certsconf si ce répertoire existe. Il faut alors
|
||||
spécifier aussi CERTSDIR, l'emplacement des certificats à installer.
|
||||
--rrdir RRDIR
|
||||
Spécifier l'emplacement des fichiers de réécriture. Par défaut,
|
||||
utiliser DESTDIR/RewriteRules si ce répertoire existe.
|
||||
Spécifier l'emplacement des fichiers de réécriture. Par défaut, utiliser
|
||||
DESTDIR/RewriteRules si ce répertoire existe.
|
||||
--no-restart
|
||||
Ne pas redémarrer apache en cas de modification de la configuration"
|
||||
}
|
||||
function __templatectl_display_help() { display_help; }
|
||||
|
||||
# Valeurs par défaut des variables de template
|
||||
DEFAULT_TEMPLATE_VARS=(
|
||||
|
@ -144,7 +169,7 @@ function parent_apacheconfig() {
|
|||
local dir="$(pwd)" dirname
|
||||
|
||||
while true; do
|
||||
dirname="$(basename -- "$dir")"
|
||||
setx dirname=basename -- "$dir"
|
||||
if [ "$dir" == / ]; then
|
||||
# s'arrêter à la racine
|
||||
return 1
|
||||
|
@ -154,8 +179,11 @@ function parent_apacheconfig() {
|
|||
elif [ "$dirname" == apacheconfig ]; then
|
||||
echo "$dir"
|
||||
return 0
|
||||
elif [ "$dirname" == .apacheconfig ]; then
|
||||
echo "$dir"
|
||||
return 0
|
||||
fi
|
||||
dir="$(dirname -- "$dir")"
|
||||
setx dir=dirname -- "$dir"
|
||||
done
|
||||
}
|
||||
|
||||
|
@ -204,6 +232,9 @@ __certsconfdir=
|
|||
__rrdir=
|
||||
__restart=1
|
||||
__TEMPLATECTL_SUPPLOPTS=(
|
||||
--help-template '$exit_with display_template_help'
|
||||
--help-files '$exit_with display_files_help'
|
||||
--help-deploy '$exit_with display_deploy_help'
|
||||
-v:,--var: __vars
|
||||
--list-vars __list_vars=1
|
||||
--write-vars __write_vars=1
|
||||
|
@ -219,8 +250,7 @@ __TEMPLATECTL_SUPPLOPTS=(
|
|||
--restart __restart=1
|
||||
--no-restart __restart=
|
||||
)
|
||||
__templatectl_parseopts "$@" && \
|
||||
set -- "${args[@]}" || die "$args"
|
||||
__templatectl_parseopts "$@" && set -- "${args[@]}" || die "$args"
|
||||
|
||||
# répertoire de template
|
||||
setx __templatectl_srcdir=templatesrc apacheconfig
|
||||
|
@ -230,6 +260,8 @@ __autocreate=
|
|||
if [ -z "$__templatectl_destdir" ]; then
|
||||
if [ -d apacheconfig ]; then
|
||||
__templatectl_destdir=apacheconfig
|
||||
elif [ -d .apacheconfig ]; then
|
||||
__templatectl_destdir=.apacheconfig
|
||||
elif setx __templatectl_destdir=parent_apacheconfig; then
|
||||
estepn "Sélection automatique de $(ppath "$__templatectl_destdir")"
|
||||
elif [ -e apacheconfig ]; then
|
||||
|
|
Loading…
Reference in New Issue