apacheconfig: améliorer l'affichage de l'aide et support du répertoire .apacheconfig
This commit is contained in:
parent
27f5f7a905
commit
13215c364a
170
apacheconfig
170
apacheconfig
|
@ -10,6 +10,14 @@ USAGE
|
||||||
$scriptname [options]
|
$scriptname [options]
|
||||||
|
|
||||||
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
|
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.
|
répertoire de référence appelé répertoire local, avant son déploiement.
|
||||||
-d, --destdir DESTDIR
|
-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
|
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
|
existent pas déjà. Les templates ayant l'extension '.template' doivent
|
||||||
être demandés explicitement. Sinon, ils sont ignorés.
|
ê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.
|
|
||||||
-C, --clean
|
|
||||||
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.
|
|
||||||
--list-vars
|
|
||||||
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
|
|
||||||
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
|
|
||||||
|
|
||||||
|
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.
|
||||||
|
-C, --clean
|
||||||
|
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.
|
||||||
|
--list-vars
|
||||||
|
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
|
||||||
|
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, 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
|
Le répertoire local peut contenir les fichiers et répertoires suivants, qui sont
|
||||||
tous optionnels:
|
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
|
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/
|
correspondant en principe à un fichier NAME.ssl.conf dans sites/
|
||||||
- RewriteRules/ le répertoire qui contient la configuration de réécriture. Tous
|
- 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.
|
--confdir CONFDIR
|
||||||
IMPORTANT: les fonctions de déploiement ne sont pour le moment supportées que
|
Spécifier l'emplacement des fichiers de configuration apache ainsi que les
|
||||||
sur debian
|
fichiers 'modules.conf' et 'sites.conf'. Par défaut, prendre le répertoire
|
||||||
-u, --update, --deploy
|
local.
|
||||||
Mettre à jour la configuration système à partir du répertoire local.
|
--modulesdir MODULESDIR
|
||||||
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.
|
|
||||||
--modulesdir MODULESDIR
|
|
||||||
Spécifier l'emplacement des fichiers de configuration des modules. Par
|
Spécifier l'emplacement des fichiers de configuration des modules. Par
|
||||||
défaut, utiliser DESTDIR/modules si ce répertoire existe.
|
défaut, utiliser DESTDIR/modules si ce répertoire existe.
|
||||||
--sitesdir SITESDIR
|
--sitesdir SITESDIR
|
||||||
Spécifier l'emplacement des fichiers de configuration des sites. Par
|
Spécifier l'emplacement des fichiers de configuration des sites. Par défaut,
|
||||||
défaut, utiliser DESTDIR/sites si ce répertoire existe.
|
utiliser DESTDIR/sites si ce répertoire existe.
|
||||||
--cgibindir CGIBINDIR
|
--cgibindir CGIBINDIR
|
||||||
Spécifier l'emplacement des scripts cgi à installer. Par défaut,
|
Spécifier l'emplacement des scripts cgi à installer. Par défaut, utiliser
|
||||||
utiliser DESTDIR/cgi-bin si ce répertoire existe.
|
DESTDIR/cgi-bin si ce répertoire existe.
|
||||||
--wwwdir WWWDIR
|
--wwwdir WWWDIR
|
||||||
Spécifier l'emplacement des fichiers du serveur web. Par défaut,
|
Spécifier l'emplacement des fichiers du serveur web. Par défaut, utiliser
|
||||||
utiliser DESTDIR/www si ce répertoire existe.
|
DESTDIR/www si ce répertoire existe.
|
||||||
--certsconfdir CERTSCONFDIR
|
--certsconfdir CERTSCONFDIR
|
||||||
Spécifier l'emplacement des fichiers de configuration des certificats.
|
Spécifier l'emplacement des fichiers de configuration des certificats. Par
|
||||||
Par défaut, utiliser DESTDIR/certsconf si ce répertoire existe. Il faut
|
défaut, utiliser DESTDIR/certsconf si ce répertoire existe. Il faut alors
|
||||||
alors spécifier aussi CERTSDIR, l'emplacement des certificats à
|
spécifier aussi CERTSDIR, l'emplacement des certificats à installer.
|
||||||
installer.
|
--rrdir RRDIR
|
||||||
--rrdir RRDIR
|
Spécifier l'emplacement des fichiers de réécriture. Par défaut, utiliser
|
||||||
Spécifier l'emplacement des fichiers de réécriture. Par défaut,
|
DESTDIR/RewriteRules si ce répertoire existe.
|
||||||
utiliser DESTDIR/RewriteRules si ce répertoire existe.
|
--no-restart
|
||||||
--no-restart
|
|
||||||
Ne pas redémarrer apache en cas de modification de la configuration"
|
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
|
# Valeurs par défaut des variables de template
|
||||||
DEFAULT_TEMPLATE_VARS=(
|
DEFAULT_TEMPLATE_VARS=(
|
||||||
|
@ -144,7 +169,7 @@ function parent_apacheconfig() {
|
||||||
local dir="$(pwd)" dirname
|
local dir="$(pwd)" dirname
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
dirname="$(basename -- "$dir")"
|
setx dirname=basename -- "$dir"
|
||||||
if [ "$dir" == / ]; then
|
if [ "$dir" == / ]; then
|
||||||
# s'arrêter à la racine
|
# s'arrêter à la racine
|
||||||
return 1
|
return 1
|
||||||
|
@ -154,8 +179,11 @@ function parent_apacheconfig() {
|
||||||
elif [ "$dirname" == apacheconfig ]; then
|
elif [ "$dirname" == apacheconfig ]; then
|
||||||
echo "$dir"
|
echo "$dir"
|
||||||
return 0
|
return 0
|
||||||
|
elif [ "$dirname" == .apacheconfig ]; then
|
||||||
|
echo "$dir"
|
||||||
|
return 0
|
||||||
fi
|
fi
|
||||||
dir="$(dirname -- "$dir")"
|
setx dir=dirname -- "$dir"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,6 +232,9 @@ __certsconfdir=
|
||||||
__rrdir=
|
__rrdir=
|
||||||
__restart=1
|
__restart=1
|
||||||
__TEMPLATECTL_SUPPLOPTS=(
|
__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
|
-v:,--var: __vars
|
||||||
--list-vars __list_vars=1
|
--list-vars __list_vars=1
|
||||||
--write-vars __write_vars=1
|
--write-vars __write_vars=1
|
||||||
|
@ -219,8 +250,7 @@ __TEMPLATECTL_SUPPLOPTS=(
|
||||||
--restart __restart=1
|
--restart __restart=1
|
||||||
--no-restart __restart=
|
--no-restart __restart=
|
||||||
)
|
)
|
||||||
__templatectl_parseopts "$@" && \
|
__templatectl_parseopts "$@" && set -- "${args[@]}" || die "$args"
|
||||||
set -- "${args[@]}" || die "$args"
|
|
||||||
|
|
||||||
# répertoire de template
|
# répertoire de template
|
||||||
setx __templatectl_srcdir=templatesrc apacheconfig
|
setx __templatectl_srcdir=templatesrc apacheconfig
|
||||||
|
@ -230,6 +260,8 @@ __autocreate=
|
||||||
if [ -z "$__templatectl_destdir" ]; then
|
if [ -z "$__templatectl_destdir" ]; then
|
||||||
if [ -d apacheconfig ]; then
|
if [ -d apacheconfig ]; then
|
||||||
__templatectl_destdir=apacheconfig
|
__templatectl_destdir=apacheconfig
|
||||||
|
elif [ -d .apacheconfig ]; then
|
||||||
|
__templatectl_destdir=.apacheconfig
|
||||||
elif setx __templatectl_destdir=parent_apacheconfig; then
|
elif setx __templatectl_destdir=parent_apacheconfig; then
|
||||||
estepn "Sélection automatique de $(ppath "$__templatectl_destdir")"
|
estepn "Sélection automatique de $(ppath "$__templatectl_destdir")"
|
||||||
elif [ -e apacheconfig ]; then
|
elif [ -e apacheconfig ]; then
|
||||||
|
|
Loading…
Reference in New Issue