#!/bin/sh # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # # Usage: install-bindist.sh [ServerRoot] # This script installs the Apache binary distribution and # was automatically created by binbuild.sh. ## ## determine path to (optional) Perl interpreter ## PERL=no-perl5-on-this-system perls='perl5 perl' path=`echo $PATH | sed -e 's/:/ /g'` found_perl=0 for dir in ${path} ; do for pperl in ${perls} ; do if test -f "${dir}/${pperl}" ; then if `${dir}/${pperl} -v >/dev/null 2>&1` ; then PERL="${dir}/${pperl}" found_perl=1 break fi fi done if test $found_perl = 1 ; then break fi done if [ "x$1" = "x" ] then echo "Number of arguments should be 1. Provide the root directory for the web server." exit 1 else SR="$1" fi if [ -f "$SR/bin/envvars" ] then echo "[Preserving existing envvars settings.]" HAD_ENVVARS=yes else HAD_ENVVARS=no fi # Need to run this script from its own directory # instead of whatever directory it may be called from #currentdir=$(cd `dirname "$0"` && pwd) currentdir="`dirname \"$0\"`" currentdir="`cd \"$currentdir\" && pwd`" cd "$currentdir" sed -e "s%\*\*APACHE_HOME_OS\*\*%$SR%" "$SR/conf/httpd.conf.in" > "$SR/conf/httpd.conf" sed -e "s;^#!\@perlbin\@.*;#!$PERL;" -e "s;\@exp_installbuilddir\@;\"$SR/build\";" \ apxs.in > "$SR/bin/apxs" # usually we're updating existing files, so need to copy them over into tmp files first PRE=`grep "^prefix = " build/config_vars.mk` PRE=`echo $PRE | sed -e "s;prefix = ;;"` sed -e "s;$PRE;\"$SR\";" build/config_vars.mk > "$SR/build/config_vars.mk.tmp" mv "$SR/build/config_vars.mk.tmp" "$SR/build/config_vars.mk" chmod u+rwx "$SR/build/config_vars.mk" sed -e "s;^#!/.*;#!$PERL;" bin/dbmmanage > "$SR/bin/dbmmanage.tmp" mv "$SR/bin/dbmmanage.tmp" "$SR/bin/dbmmanage" sed -e "s%\*\*APACHE_HOME_OS\*\*%\"$SR\"%" \ -e "s%^HTTPD=.*$%HTTPD=\"$SR/bin/httpd\"%" \ -e "s%\$HTTPD%\"\$HTTPD\" -d \"$SR\"%" bin/apachectl > "$SR/bin/apachectl.tmp" mv "$SR/bin/apachectl.tmp" "$SR/bin/apachectl" chmod u+rwx "$SR/bin/apachectl" sed -e "s%\*\*APACHE_HOME_OS\*\*%\"$SR\"%" \ bin/envvars-std > "$SR/bin/envvars-std.tmp" mv "$SR/bin/envvars-std.tmp" "$SR/bin/envvars-std" chmod u+rwx "$SR/bin/envvars-std" if [ $HAD_ENVVARS = no ] then cp -p "$SR/bin/envvars-std" "$SR/bin/envvars" fi echo "Ready." echo " +--------------------------------------------------------+" echo " | You now have successfully installed the Apache |" echo " | HTTP server. To verify that Apache actually works |" echo " | correctly you should first check the (initially |" echo " | created or preserved) configuration files: |" echo " | |" echo " | $SR/conf/httpd.conf" echo " | |" echo " | You should then be able to immediately fire up |" echo " | Apache the first time by running: |" echo " | |" echo " | $SR/bin/apachectl start " echo " | |" echo " | Thanks for using Apache. The Apache Group |" echo " | http://www.apache.org/ |" echo " +--------------------------------------------------------+" echo " "