#! /bin/bash LOCK_FILE=.lock ( flock -x 10 if [ ! -f /adei/cfg/apache.conf ]; then cp -a /opt/configs/apache* /adei/cfg fi ) 10> /adei/cfg/$LOCK_FILE function ised { #Creates temporary file in the file folder # sed -i'' "$@" tmp=$(mktemp) fn="${@: -1}" echo $fn sed "$@" > "$tmp" cat "$tmp" > "$fn" rm -f "$tmp" } #Keep 80 & 443 #ised -re '/Listen/ { /(80|443)/!d }' /etc/apache2/listen.conf #if [ -n "$ADEI_PORTS" ]; then # for port in $ADEI_PORTS; do # [ $port -eq 80 ] && continue # [ $port -eq 443 ] && continue # echo "Listen $port" >> /etc/apache2/listen.conf # done #fi if [ -n "$ADEI_PORTS" ]; then echo -n "" > /etc/apache2/listen.conf for port in $ADEI_PORTS; do echo "Listen $port" >> /etc/apache2/listen.conf done fi if [ -n "$APACHE_SERVERS" -a "$APACHE_SERVERS" -ne 0 ]; then if [ $APACHE_SERVERS -eq 1 ]; then start=1 limit=1 min_spare=1 max_spare=1 elif [ $APACHE_SERVERS -lt 10 ]; then start=$(($APACHE_SERVERS / 2)) limit=$APACHE_SERVERS min_spare=$start max_spare=$limit else start=0 limit=$APACHE_SERVERS min_spare=0 max_spare=0 fi [ $start -eq 0 ] || ised -re "s/StartServers(.*)/StartServers $start/" /etc/apache2/server-tuning.conf [ $limit -eq 0 ] || isedt -re "s/MaxClients(.*)/MaxClients $limit/" /etc/apache2/server-tuning.conf [ $min_spare -eq 0 ] || ised -re "s/MinSpareServers(.*)/MinSpareServers $min_spare/" /etc/apache2/server-tuning.conf [ $max_spare -eq 0 ] || ised -re "s/MaxSpareServers(.*)/MaxSpareServers $max_spare/" /etc/apache2/server-tuning.conf fi rm -f /tmp/httpd.pid /usr/sbin/apache2ctl start -D FOREGROUND