From e3b0ad0c95f4c6e5e1ad7f5abee91762b44f8f7d Mon Sep 17 00:00:00 2001 From: Steven Mondji-Lerider Date: Tue, 19 Feb 2013 14:10:39 +0000 Subject: [PATCH] Templatizing apache envvars file to use AlternC environement variable in sendmail script. --- .gitattributes | 1 + etc/alternc/templates/apache2/envvars | 36 +++++++++++++++++++++++++++ install/alternc.install | 2 +- src/sendmail | 3 ++- 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 etc/alternc/templates/apache2/envvars diff --git a/.gitattributes b/.gitattributes index 0bee1c60..c2795c56 100644 --- a/.gitattributes +++ b/.gitattributes @@ -461,6 +461,7 @@ etc/alternc/templates/alternc/apache_logformat.conf -text etc/alternc/templates/alternc/bureau.conf -text etc/alternc/templates/alternc/postfix/postfix-slave.cf -text etc/alternc/templates/alternc/postfix/postfix.cf -text +etc/alternc/templates/apache2/envvars -text etc/alternc/templates/apache2/panel.conf -text etc/alternc/templates/apache2/url.conf -text etc/alternc/templates/apache2/vhost.conf -text diff --git a/etc/alternc/templates/apache2/envvars b/etc/alternc/templates/apache2/envvars new file mode 100644 index 00000000..d54b5586 --- /dev/null +++ b/etc/alternc/templates/apache2/envvars @@ -0,0 +1,36 @@ +# envvars - default environment variables for apache2ctl + +# this won't be correct after changing uid +unset HOME + +# for supporting multiple apache2 instances +if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then + SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}" +else + SUFFIX= +fi + +# Since there is no sane way to get the parsed apache2 config in scripts, some +# settings are defined via environment variables and then used in apache2ctl, +# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc. +export APACHE_RUN_USER=www-data +export APACHE_RUN_GROUP=www-data +export APACHE_PID_FILE=/var/run/apache2$SUFFIX.pid +export APACHE_RUN_DIR=/var/run/apache2$SUFFIX +export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX +# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2. +export APACHE_LOG_DIR=/var/log/apache2$SUFFIX + +## The locale used by some modules like mod_dav +export LANG=C +## Uncomment the following line to use the system default locale instead: +#. /etc/default/locale + +export LANG + +## The command to get the status for 'apache2ctl status'. +## Some packages providing 'www-browser' need '--dump' instead of '-dump'. +#export APACHE_LYNX='www-browser -dump' +export ALTERNC_HTML=%%ALTERNC_HTML%% +export ALTERNC_LOGS=%%ALTERNC_LOGS%% +export ALTERNC_MAIL=%%ALTERNC_MAIL%% diff --git a/install/alternc.install b/install/alternc.install index 7d8ed4fc..bec96664 100644 --- a/install/alternc.install +++ b/install/alternc.install @@ -64,7 +64,7 @@ TEMPLATE_DIR="/etc/alternc/templates" # Find needed configuration files (without the initial '/') # replace this one unconditionnally -CONFIG_FILES="etc/alternc/bureau.conf etc/incron.d/alternc etc/alternc/apache2.conf etc/alternc/apache_logformat.conf" +CONFIG_FILES="etc/alternc/bureau.conf etc/incron.d/alternc etc/alternc/envvars etc/alternc/apache2.conf etc/alternc/apache_logformat.conf" if [ -e /etc/bind/named.conf ]; then CONFIG_FILES="$CONFIG_FILES etc/bind/templates/zone.template diff --git a/src/sendmail b/src/sendmail index 4821a4a6..325f5135 100644 --- a/src/sendmail +++ b/src/sendmail @@ -20,7 +20,8 @@ while ($A ne "") { chomp($A=); } -$ENV{'PWD'}=~/^\/var\/alternc\/html\/.\/([^\/]*)/; +$home=quotemeta $ENV{'ALTERNC_HTML'}; +$ENV{'PWD'}=~/^$home\/.\/([^\/]*)/; $user=$1; if (!$fr) {