intranet-proxy : mise à jour du code en production
[progfou.git] / intranet-proxy / update.sh
index b35e229..2a6da9e 100755 (executable)
@@ -5,7 +5,7 @@
 # Licence : GNU General Public License, version 3
 # Auteur : Progfou <jean-christophe.andre@auf.org>
 # Création : 2012-02-01
 # Licence : GNU General Public License, version 3
 # Auteur : Progfou <jean-christophe.andre@auf.org>
 # Création : 2012-02-01
-# Mise à jour : 2012-02-01
+# Mise à jour : 2013-10-14
 #
 # À faire à la mise en place :
 #  sudo apt-get install libapache2-mod-proxy-html
 #
 # À faire à la mise en place :
 #  sudo apt-get install libapache2-mod-proxy-html
@@ -15,17 +15,29 @@ SITE_NAME="intranet.auf.org"
 SITE_ROOT="/srv/www/${SITE_NAME}"
 
 CONFDIR="/etc/apache2/intranet-proxy"
 SITE_ROOT="/srv/www/${SITE_NAME}"
 
 CONFDIR="/etc/apache2/intranet-proxy"
+CONFFILE="${CONFDIR}/apache.conf"
 TEMPLATEDIR="${CONFDIR}/templates"
 
 site_list=""
 TEMPLATEDIR="${CONFDIR}/templates"
 
 site_list=""
-cat "${TEMPLATEDIR}/apache-base.conf" > "${CONFDIR}/apache.conf"
+cat "${TEMPLATEDIR}/apache-head.conf" > "${CONFFILE}"
 for site in `cat ${CONFDIR}/sites`
 do
   site_var="`echo "${site}" | tr '.-' '__'`"
   site_list="${site_list}<li><a href=\"/-/${site}/\">${site}</a></li>\n"
 for site in `cat ${CONFDIR}/sites`
 do
   site_var="`echo "${site}" | tr '.-' '__'`"
   site_list="${site_list}<li><a href=\"/-/${site}/\">${site}</a></li>\n"
-  sed -e "s|@SITE_NAME@|${site}|g" -e "s|@SITE_VAR@|${site_var}|g" \
-    "${TEMPLATEDIR}/apache.conf" >> "${CONFDIR}/apache.conf"
+  site_options="`awk "/^${site} /{print \\$2}" "${CONFDIR}/sites-options"`"
+  if [ "${site}" = "conventions.auf" ] ; then # exception pour AjaXplorer...
+    sed -e "s|@SITE_NAME@|${site}|g" -e "s|@SITE_VAR@|${site_var}|g" \
+      -e "s|@SITE_OPTIONS@|${site_options}|g" \
+      -e "s|\(ProxyHTMLURLMap / \)|#\1|" \
+      "${TEMPLATEDIR}/apache-site.conf" >> "${CONFFILE}"
+  else
+    sed -e "s|@SITE_NAME@|${site}|g" -e "s|@SITE_VAR@|${site_var}|g" \
+      -e "s|@SITE_OPTIONS@|${site_options}|g" \
+      "${TEMPLATEDIR}/apache-site.conf" >> "${CONFFILE}"
+  fi
 done
 done
+cat "${TEMPLATEDIR}/apache-tail.conf" >> "${CONFFILE}"
+
 sed -e "s|@SITE_LIST@|${site_list}|" \
   "${TEMPLATEDIR}/index.html" > "${SITE_ROOT}/index.html"
 
 sed -e "s|@SITE_LIST@|${site_list}|" \
   "${TEMPLATEDIR}/index.html" > "${SITE_ROOT}/index.html"
 
@@ -34,8 +46,10 @@ sed -e "s|@SITE_NAME@|${SITE_NAME}|" -e "s|@SITE_ROOT@|${SITE_ROOT}|" \
 sed -e "s|@SITE_NAME@|${SITE_NAME}|" -e "s|@SITE_ROOT@|${SITE_ROOT}|" \
   "${TEMPLATEDIR}/apache-site-ssl" > "${CONFDIR}/apache-site-ssl"
 
 sed -e "s|@SITE_NAME@|${SITE_NAME}|" -e "s|@SITE_ROOT@|${SITE_ROOT}|" \
   "${TEMPLATEDIR}/apache-site-ssl" > "${CONFDIR}/apache-site-ssl"
 
-echo "Ne pas oublier d'ajouter des lignes dans /etc/hosts pour :"
+echo "Ne pas oublier d'\033[1;31mouvrir sur le pare-feu\033[m !!"
+echo ""
+echo "Ne pas oublier d'\033[1;31majouter des lignes dans /etc/hosts\033[m pour :"
 echo ""
 fmt "${CONFDIR}/sites" | sed -e "s/^/ /"
 echo ""
 echo ""
 fmt "${CONFDIR}/sites" | sed -e "s/^/ /"
 echo ""
-echo "Puis lancer : apache2ctl configtest && apache2ctl graceful"
+echo "Puis lancer : \033[1;32mapache2ctl configtest && apache2ctl graceful\033[m"