3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames#!/bin/sh
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames#
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding# Licensed to the Apache Software Foundation (ASF) under one or more
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding# contributor license agreements. See the NOTICE file distributed with
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding# this work for additional information regarding copyright ownership.
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding# The ASF licenses this file to You under the Apache License, Version 2.0
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding# (the "License"); you may not use this file except in compliance with
db479b48bd4d75423ed4a45e15b75089d1a8ad72fielding# the License. You may obtain a copy of the License at
240b85022b73af58a6d971cd3d05d54037d8f682nd#
240b85022b73af58a6d971cd3d05d54037d8f682nd# http://www.apache.org/licenses/LICENSE-2.0
240b85022b73af58a6d971cd3d05d54037d8f682nd#
240b85022b73af58a6d971cd3d05d54037d8f682nd# Unless required by applicable law or agreed to in writing, software
240b85022b73af58a6d971cd3d05d54037d8f682nd# distributed under the License is distributed on an "AS IS" BASIS,
240b85022b73af58a6d971cd3d05d54037d8f682nd# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
240b85022b73af58a6d971cd3d05d54037d8f682nd# See the License for the specific language governing permissions and
240b85022b73af58a6d971cd3d05d54037d8f682nd# limitations under the License.
240b85022b73af58a6d971cd3d05d54037d8f682nd#
240b85022b73af58a6d971cd3d05d54037d8f682nd#
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames# Usage: install-bindist.sh [ServerRoot]
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames# This script installs the Apache binary distribution and
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames# was automatically created by binbuild.sh.
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslmkdir()
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames{
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames path=""
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames dirs=`echo $1 | sed -e 's%/% %g'`
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames mode=$2
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames set -- ${dirs}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames for d in ${dirs}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames do
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames path="${path}/$d"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames if test ! -d "${path}" ; then
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames mkdir ${path}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames if test $? -ne 0 ; then
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames echo "Failed to create directory: ${path}"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames exit 1
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames fi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames chmod ${mode} ${path}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames fi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames done
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslcopy()
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames{
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames from=$1
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames to=$2
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames dmode=$3
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames fmode=$4
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames test -d ${to} || lmkdir ${to} ${dmode}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames (cd ${from} && tar -cf - *) | (cd ${to} && tar -xf -)
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames if test "X${fmode}" != X ; then
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames find ${to} -type f -print | xargs chmod ${fmode}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames fi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames if test "X${dmode}" != X ; then
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames find ${to} -type d -print | xargs chmod ${dmode}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames fi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames}
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames##
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames## determine path to (optional) Perl interpreter
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames##
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesPERL=no-perl5-on-this-system
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesperls='perl5 perl'
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamespath=`echo $PATH | sed -e 's/:/ /g'`
cd2e0fb5f8e86eecb278e9d623f4c272d96f5e3ctrawickfound_perl=0
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesfor dir in ${path} ; do
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames for pperl in ${perls} ; do
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames if test -f "${dir}/${pperl}" ; then
86826d685f83170ca07d56550db9f0c2922a916btrawick if `${dir}/${pperl} -v >/dev/null 2>&1` ; then
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames PERL="${dir}/${pperl}"
cd2e0fb5f8e86eecb278e9d623f4c272d96f5e3ctrawick found_perl=1
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames break
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames fi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames fi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames done
cd2e0fb5f8e86eecb278e9d623f4c272d96f5e3ctrawick if test $found_perl = 1 ; then
cd2e0fb5f8e86eecb278e9d623f4c272d96f5e3ctrawick break
cd2e0fb5f8e86eecb278e9d623f4c272d96f5e3ctrawick fi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesdone
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesif [ .$1 = . ]
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesthen
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames SR=@default_dir@
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameselse
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames SR=$1
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesfi
43162230430f8144afe9c32cd0e60b927f4e0a60gregamesecho "Installing binary distribution for platform @os@"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho "into directory $SR ..."
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslmkdir $SR 755
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslmkdir $SR/proxy 750
88dd056b9863502bba82c2889a0c4cde9fc0ba93trawicklmkdir $SR/logs 755
1c86147fa9b58111f7df3b0e24a5bf97833d5d84trawicklmkdir $SR/build 755
89211a5d592cdf0170d2b541946661b1a2a279c5trawicklcopy bindist/build $SR/build 750 750
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslcopy bindist/man $SR/man 755 644
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesif [ -d bindist/modules ]
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesthen
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames lcopy bindist/modules $SR/modules 750 750
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesfi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslcopy bindist/include $SR/include 755 644
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslcopy bindist/icons $SR/icons 755 644
43162230430f8144afe9c32cd0e60b927f4e0a60gregameslcopy bindist/manual $SR/manual 755 644
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslcopy bindist/cgi-bin $SR/cgi-bin 750 750
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawickif [ -f $SR/bin/envvars ]
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawickthen
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawick echo "[Preserving existing envvars settings.]"
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawick cp -p $SR/bin/envvars ./envvars.orig
8b30d716ef6380801f225010838faa3c00141a06trawick HAD_ENVVARS=yes
8b30d716ef6380801f225010838faa3c00141a06trawickelse
8b30d716ef6380801f225010838faa3c00141a06trawick HAD_ENVVARS=no
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawickfi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameslcopy bindist/bin $SR/bin 750 750
8b30d716ef6380801f225010838faa3c00141a06trawickif [ $HAD_ENVVARS = yes ]
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawickthen
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawick cp -p ./envvars.orig $SR/bin/envvars
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawick rm ./envvars.orig
d468ce085370fb85e0cb4e3b48bd1a47c2eca33ctrawickfi
c0d403aebd449af101969d1ff60a8cbcf9ecf35cgregameslcopy bindist/lib $SR/lib 750 750
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesif [ -d $SR/conf ]
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesthen
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames echo "[Preserving existing configuration files.]"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames cp bindist/conf/*-std.conf $SR/conf/
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameselse
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames lcopy bindist/conf $SR/conf 750 640
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames sed -e "s%@default_dir@%$SR%" $SR/conf/httpd-std.conf > $SR/conf/httpd.conf
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesfi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesif [ -d $SR/htdocs ]
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesthen
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames echo "[Preserving existing htdocs directory.]"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameselse
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames lcopy bindist/htdocs $SR/htdocs 755 644
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesfi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesif [ -d $SR/error ]
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesthen
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames echo "[Preserving existing error documents directory.]"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregameselse
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames lcopy bindist/error $SR/error 755 644
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesfi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
4657f9b12af4b123b80e15c73fa03c190e47a8bftrawicksed -e "s;^#!\@perlbin\@.*;#!$PERL;" -e "s;\@exp_installbuilddir\@;$SR/build;" \
1c86147fa9b58111f7df3b0e24a5bf97833d5d84trawick support/apxs.in > $SR/bin/apxs
89211a5d592cdf0170d2b541946661b1a2a279c5trawickPRE=`grep "^prefix = " bindist/build/config_vars.mk`
1c86147fa9b58111f7df3b0e24a5bf97833d5d84trawickPRE=`echo $PRE | sed -e "s;prefix = ;;"`
89211a5d592cdf0170d2b541946661b1a2a279c5trawicksed -e "s;$PRE;$SR;" bindist/build/config_vars.mk > $SR/build/config_vars.mk
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamessed -e "s;^#!/.*;#!$PERL;" bindist/bin/dbmmanage > $SR/bin/dbmmanage
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamessed -e "s%@default_dir@%$SR%" \
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames -e "s%^HTTPD=.*$%HTTPD=\"$SR/bin/httpd -d $SR\"%" bindist/bin/apachectl > $SR/bin/apachectl
8b30d716ef6380801f225010838faa3c00141a06trawicksed -e "s%@default_dir@%$SR%" \
8b30d716ef6380801f225010838faa3c00141a06trawick bindist/bin/envvars-std > $SR/bin/envvars-std
8b30d716ef6380801f225010838faa3c00141a06trawickif [ $HAD_ENVVARS = no ]
8b30d716ef6380801f225010838faa3c00141a06trawickthen
8b30d716ef6380801f225010838faa3c00141a06trawick cp -p $SR/bin/envvars-std $SR/bin/envvars
8b30d716ef6380801f225010838faa3c00141a06trawickfi
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregames
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho "Ready."
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " +--------------------------------------------------------+"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | You now have successfully installed the Apache @ver@ |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | HTTP server. To verify that Apache actually works |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | correctly you should first check the (initially |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | created or preserved) configuration files: |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | $SR/conf/httpd.conf"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | You should then be able to immediately fire up |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | Apache the first time by running: |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | $SR/bin/apachectl start "
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | Thanks for using Apache. The Apache Group |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " | http://www.apache.org/ |"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " +--------------------------------------------------------+"
3d0434b7f8ce3bfce252ebbe3cabe626ba750d83gregamesecho " "