#!/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. lmkdir() { path="" dirs=`echo $1 | sed -e 's%/% %g'` mode=$2 set -- ${dirs} for d in ${dirs} do path="${path}/$d" if test ! -d "${path}" ; then mkdir ${path} if test $? -ne 0 ; then echo "Failed to create directory: ${path}" exit 1 fi chmod ${mode} ${path} fi done } lcopy() { from=$1 to=$2 dmode=$3 fmode=$4 test -d ${to} || lmkdir ${to} ${dmode} (cd ${from} && tar -cf - *) | (cd ${to} && tar -xf -) if test "X${fmode}" != X ; then find ${to} -type f -print | xargs chmod ${fmode} fi if test "X${dmode}" != X ; then find ${to} -type d -print | xargs chmod ${dmode} fi } ## ## 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 [ .$1 = . ] then SR=@default_dir@ else SR=$1 fi echo "Installing binary distribution for platform @os@" echo "into directory $SR ..." lmkdir $SR 755 lmkdir $SR/proxy 750 lmkdir $SR/logs 755 lmkdir $SR/build 755 lcopy bindist/build $SR/build 750 750 lcopy bindist/man $SR/man 755 644 if [ -d bindist/modules ] then lcopy bindist/modules $SR/modules 750 750 fi lcopy bindist/include $SR/include 755 644 lcopy bindist/icons $SR/icons 755 644 lcopy bindist/manual $SR/manual 755 644 lcopy bindist/cgi-bin $SR/cgi-bin 750 750 if [ -f $SR/bin/envvars ] then echo "[Preserving existing envvars settings.]" cp -p $SR/bin/envvars ./envvars.orig HAD_ENVVARS=yes else HAD_ENVVARS=no fi lcopy bindist/bin $SR/bin 750 750 if [ $HAD_ENVVARS = yes ] then cp -p ./envvars.orig $SR/bin/envvars rm ./envvars.orig fi lcopy bindist/lib $SR/lib 750 750 if [ -d $SR/conf ] then echo "[Preserving existing configuration files.]" cp bindist/conf/*-std.conf $SR/conf/ else lcopy bindist/conf $SR/conf 750 640 sed -e "s%@default_dir@%$SR%" $SR/conf/httpd-std.conf > $SR/conf/httpd.conf fi if [ -d $SR/htdocs ] then echo "[Preserving existing htdocs directory.]" else lcopy bindist/htdocs $SR/htdocs 755 644 fi if [ -d $SR/error ] then echo "[Preserving existing error documents directory.]" else lcopy bindist/error $SR/error 755 644 fi sed -e "s;^#!\@perlbin\@.*;#!$PERL;" -e "s;\@exp_installbuilddir\@;$SR/build;" \ support/apxs.in > $SR/bin/apxs PRE=`grep "^prefix = " bindist/build/config_vars.mk` PRE=`echo $PRE | sed -e "s;prefix = ;;"` sed -e "s;$PRE;$SR;" bindist/build/config_vars.mk > $SR/build/config_vars.mk sed -e "s;^#!/.*;#!$PERL;" bindist/bin/dbmmanage > $SR/bin/dbmmanage sed -e "s%@default_dir@%$SR%" \ -e "s%^HTTPD=.*$%HTTPD=\"$SR/bin/httpd -d $SR\"%" bindist/bin/apachectl > $SR/bin/apachectl sed -e "s%@default_dir@%$SR%" \ bindist/bin/envvars-std > $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 @ver@ |" 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 " "