diff options
Diffstat (limited to 'web_wizard/scripts/do_it_web.sh')
-rwxr-xr-x | web_wizard/scripts/do_it_web.sh | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/web_wizard/scripts/do_it_web.sh b/web_wizard/scripts/do_it_web.sh new file mode 100755 index 00000000..b82d2c86 --- /dev/null +++ b/web_wizard/scripts/do_it_web.sh @@ -0,0 +1,98 @@ +#!/bin/bash +# +# Wizard +# +# Copyright (C) 2000 Mandrakesoft. +# +# 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. +# See file LICENSE for further informations on licensing terms. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# Authors: Jerome Dumonteil, Maurizio De Cecco, Enzo Maggi +# icons: Helene Durosini <ln@mandrakesoft.com> +# <corporate@mandrakesoft.com> http://www.mandrakesoft.com + +# script for wizard web configuration +# +# modify default apache configuration +# assuming all dependencies are ok + + +# wiz_web_external and wiz_web_internal are provided by the running wizard +# now, save them +file=/etc/sysconfig/mdk_serv + +# security +[ "${wiz_web_external}" = "1" -o "${wiz_web_external}" = "0" ] || wiz_web_external="0" +[ "${wiz_web_internal}" = "1" -o "${wiz_web_internal}" = "0" ] || wiz_web_internal="0" + +[ "${wiz_web_external}" = "1" ] && wiz_web_internal="1" + +# store the wiz_web_external and wiz_web_internal value +chg_val ${file} wiz_web_external ${wiz_web_external} s +chg_val ${file} wiz_web_internal ${wiz_web_internal} s + + +# apache configuration file +config="/etc/httpd/conf/commonhttpd.conf" +if [ ! -f ${config} ]; then + echo_debug "no apache configuration file found ! exiting." + exit 1 +fi + + +bck_file ${config} + + +if [ "${wiz_web_external}" = "1" ]; then + + cat ${config}.mdk_orig.1 \ + |sed -e '/^[[:space:]]*<Directory \/home/,/^[[:space:]]*<\/Directory>/{ +s/^[[:space:]]*Allow .*$/Allow from all/;} +/^[[:space:]]*<Directory \/var\/www/,/^[[:space:]]*<\/Directory>/{ +s/^[[:space:]]*Allow .*$/Allow from all/;} ' > ${config} + +elif [ "${wiz_web_internal}" = "1" ]; then + +ip=`get_var wiz_ip_net` + + cat ${config}.mdk_orig.1 \ +|sed -e '/^[[:space:]]*<Directory \/home/,/^[[:space:]]*<\/Directory>/{ +s/^[[:space:]]*Allow .*$/Allow from '"${ip%\.*}"'./;} +/^[[:space:]]*<Directory \/var\/www/,/^[[:space:]]*<\/Directory>/{ +s/^[[:space:]]*Allow .*$/Allow from '"${ip%\.*}"'./;} ' > ${config} + +else + + cat ${config}.mdk_orig.1 \ +|sed -e '/^[[:space:]]*<Directory \/home/,/^[[:space:]]*<\/Directory>/{ +s/^[[:space:]]*Allow .*$/Allow from localhost/;} +/^[[:space:]]*<Directory \/var\/www/,/^[[:space:]]*<\/Directory>/{ +s/^[[:space:]]*Allow .*$/Allow from localhost/;} ' > ${config} + +fi + + + +echo_debug "restarting services" + +/etc/rc.d/init.d/httpd restart + + + +# all is ok +exit 10 + + + |