#!/bin/sh
#----------------------------------------------------------------------------
# /var/install/include/apache2lib - Apache Virtual Hosts shell functions
#
# Copyright (c) 2004-2013 the eisfair team, team(at)eisfair(dot)org
#
# Creation: 14.08.2004 fw
# Last Update: $Id$
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#----------------------------------------------------------------------------
#============================================================================
# only include this file once
#============================================================================
if [ "$_APACHE2LIB" != "true" ]
then
_APACHE2LIB='true'
. /var/install/include/eislib
get_next_free_vhost_number () {
if [ "$APACHE2_VHOST_1_IP" != "" ]
then
idx=1
while [ "`eval tmp='$APACHE2_VHOST_'$idx'_IP';echo $tmp`" != "" ]
do
eval docroottmp='$APACHE2_VHOST_'$idx'_DOCUMENT_ROOT'
eval iptmp='$APACHE2_VHOST_'$idx'_IP'
if [ "$docroottmp" = "" -a "$iptmp" = "" ]
then
break
fi
idx=`expr $idx + 1`
done
else
idx=1
fi
}
parse_vhost_vars () {
eval active='$APACHE2_VHOST_'$idx'_ACTIVE'
eval ip='$APACHE2_VHOST_'$idx'_IP'
eval port='$APACHE2_VHOST_'$idx'_PORT'
eval servername='$APACHE2_VHOST_'$idx'_SERVER_NAME'
eval serveralias='$APACHE2_VHOST_'$idx'_SERVER_ALIAS'
eval mail='$APACHE2_VHOST_'$idx'_SERVER_ADMIN'
eval docroot='$APACHE2_VHOST_'$idx'_DOCUMENT_ROOT'
eval scriptalias='$APACHE2_VHOST_'$idx'_SCRIPT_ALIAS'
eval scriptdir='$APACHE2_VHOST_'$idx'_SCRIPT_DIR'
eval errorlog='$APACHE2_VHOST_'$idx'_ERROR_LOG'
eval accesslog='$APACHE2_VHOST_'$idx'_ACCESS_LOG'
eval access_type_all='$APACHE2_VHOST_'$idx'_ACCESS_CONTROL_TYPE_ALL'
eval access_type_ip='$APACHE2_VHOST_'$idx'_ACCESS_CONTROL_TYPE_IP'
eval access_ip='$APACHE2_VHOST_'$idx'_ACCESS_CONTROL_IP'
eval access_type_host='$APACHE2_VHOST_'$idx'_ACCESS_CONTROL_TYPE_HOST'
eval access_host='$APACHE2_VHOST_'$idx'_ACCESS_CONTROL_HOST'
eval access_type_local='$APACHE2_VHOST_'$idx'_ACCESS_CONTROL_TYPE_LOCAL'
eval ssl='$APACHE2_VHOST_'$idx'_SSL'
eval sslport='$APACHE2_VHOST_'$idx'_SSL_PORT'
eval forcessl='$APACHE2_VHOST_'$idx'_SSL_FORCE'
eval sslcertname='$APACHE2_VHOST_'$idx'_SSL_CERT_NAME'
}
print_vhost_vars () {
if [ "$active" = "" ]
then
active="yes"
fi
if [ "$port" = "" ]
then
port=80
fi
if [ "$ssl" = "" ]
then
ssl="no"
fi
if [ "$sslport" = "" ]
then
sslport=443
fi
if [ "$forcessl" = "" ]
then
forcessl="no"
fi
if [ "$sslcertname" = "" ]
then
sslcertname="apache"
fi
eval "APACHE2_VHOST_"$idx"_ACTIVE='$active'"
eval "APACHE2_VHOST_"$idx"_IP='$ip'"
eval "APACHE2_VHOST_"$idx"_PORT='$port'"
eval "APACHE2_VHOST_"$idx"_SERVER_NAME='$servername'"
eval "APACHE2_VHOST_"$idx"_SERVER_ALIAS='$serveralias'"
eval "APACHE2_VHOST_"$idx"_SERVER_ADMIN='$mail'"
eval "APACHE2_VHOST_"$idx"_DOCUMENT_ROOT='$docroot'"
eval "APACHE2_VHOST_"$idx"_SCRIPT_ALIAS='$scriptalias'"
eval "APACHE2_VHOST_"$idx"_SCRIPT_DIR='$scriptdir'"
eval "APACHE2_VHOST_"$idx"_ERROR_LOG='$errorlog'"
eval "APACHE2_VHOST_"$idx"_ACCESS_LOG='$accesslog'"
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_TYPE_ALL"='$access_type_all'
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_TYPE_IP"='$access_type_ip'
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_IP"='$access_ip'
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_TYPE_HOST"='$access_type_host'
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_HOST"='$access_host'
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_TYPE_LOCAL"='$access_type_local'
eval "APACHE2_VHOST_"$idx"_SSL='$ssl'"
eval "APACHE2_VHOST_"$idx"_SSL_PORT='$sslport'"
eval "APACHE2_VHOST_"$idx"_SSL_FORCE='$forcessl'"
eval "APACHE2_VHOST_"$idx"_SSL_CERT_NAME='$sslcertname'"
}
unset_vhost_vars () {
local idx
idx=1
while [ $idx -le $APACHE2_VHOST_N ]
do
eval 'APACHE2_VHOST_'$idx'_ACTIVE'=""
eval 'APACHE2_VHOST_'$idx'_IP'=""
eval 'APACHE2_VHOST_'$idx'_PORT'=""
eval 'APACHE2_VHOST_'$idx'_SERVER_NAME'=""
eval 'APACHE2_VHOST_'$idx'_SERVER_ALIAS'=""
eval 'APACHE2_VHOST_'$idx'_SERVER_ADMIN'=""
eval 'APACHE2_VHOST_'$idx'_DOCUMENT_ROOT'=""
eval 'APACHE2_VHOST_'$idx'_SCRIPT_ALIAS'=""
eval 'APACHE2_VHOST_'$idx'_SCRIPT_DIR'=""
eval 'APACHE2_VHOST_'$idx'_ERROR_LOG'=""
eval 'APACHE2_VHOST_'$idx'_ACCESS_LOG'=""
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_TYPE_ALL"=''
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_TYPE_IP"=''
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_IP"=''
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_TYPE_HOST"=''
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_HOST"=''
eval "APACHE2_VHOST_"$idx"_ACCESS_CONTROL_TYPE_LOCAL"=''
eval 'APACHE2_VHOST_'$idx'_SSL'=""
eval 'APACHE2_VHOST_'$idx'_SSL_PORT'=""
eval 'APACHE2_VHOST_'$idx'_SSL_FORCE'=""
eval 'APACHE2_VHOST_'$idx'_SSL_CERT_NAME'=""
idx=`expr $idx + 1`
done
parse_vhost_vars
}
createVHostDirDirective () {
vhostIdx=1
eval noDirs='$APACHE2_VHOST_'$idx'_DIR_N'
while [ "$vhostIdx" -le "$noDirs" ]
do
eval vhostActive='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ACTIVE'
eval vhostUseAlias='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ALIAS'
eval vhostAlias='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ALIAS_NAME'
eval vhostPath='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_PATH'
eval vhostAuth_name='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_AUTH_NAME'
eval vhostAuth_type='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_AUTH_TYPE'
eval vhostAuth_n='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_AUTH_N'
eval vhostCgi='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_CGI'
eval vhostSsi='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_SSI'
eval vhostAccess_type_all='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ACCESS_CONTROL_TYPE_ALL'
eval vhostAccess_type_ip='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ACCESS_CONTROL_TYPE_IP'
eval vhostAccess_ip='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ACCESS_CONTROL_IP'
eval vhostAccess_type_host='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ACCESS_CONTROL_TYPE_HOST'
eval vhostAccess_host='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ACCESS_CONTROL_HOST'
eval vhostAccess_type_local='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_ACCESS_CONTROL_TYPE_LOCAL'
eval vhostContent='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_VIEW_DIR_CONTENT'
eval vhostWebdav='$APACHE2_VHOST_'$idx'_DIR_'$vhostIdx'_WEBDAV'
if [ "$vhostActive" = "yes" ]
then
if [ "$vhostUseAlias" = "yes" ]
then
echo " Alias $vhostAlias $vhostPath"
fi
#echo "Adding directory $vhostPath ..." >`tty`
echo "