Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

28.8. Configure the /etc/rc.d/init.d/squid script file -/all configurations

Configure your /etc/rc.d/init.d/squid script file to start and stop the Squid Internet Object Cache. This script has been modified to setup swap cache for Squid in /cache instead of /var/spool/squid. Create the squid script file, touch /etc/rc.d/init.d/squid and add:

               #!/bin/bash
               # squid		This shell script takes care of starting and stopping
               #		Squid Internet Object Cache
               #
               # chkconfig: - 90 25
               # description: Squid - Internet Object Cache. Internet object caching is \
               # 	a way to store requested Internet objects (i.e., data available \
               # 	via the HTTP, FTP, and gopher protocols) on a system closer to the \
               #	requesting site than to the source. Web browsers can then use the \
               #	local Squid cache as a proxy HTTP server, reducing access time as \
               #	well as bandwidth consumption.
               # pidfile: /var/run/squid.pid
               # config: /etc/squid/squid.conf
               PATH=/usr/bin:/sbin:/bin:/usr/sbin
               export PATH
               # Source function library.
               . /etc/rc.d/init.d/functions
               # Source networking configuration.
               . /etc/sysconfig/network
               # Check that networking is up.
               [ ${NETWORKING} = "no" ] && exit 0
               # check if the squid conf file is present
               [ -f /etc/squid/squid.conf ] || exit 0
               # determine the name of the squid binary
               [ -f /usr/sbin/squid ] && SQUID=squid
               [ -z "$SQUID" ] && exit 0
               # determine which one is the cache_swap directory
               CACHE_SWAP=`sed -e 's/#.*//g' /etc/squid/squid.conf | \
               grep cache_dir | sed -e 's/cache_dir//' | \
               cut -d ' ' -f 2`
               [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/cache
               # default squid options
               # -D disables initial dns checks. If you most likely will not to have an
               #    internet connection when you start squid, uncomment this
               #SQUID_OPTS="-D"
               RETVAL=0
               case "$1" in
               start)
               echo -n "Starting $SQUID: "
               for adir in $CACHE_SWAP; do
               if [ ! -d $adir/00 ]; then 
               echo -n "init_cache_dir $adir... "
               $SQUID -z -F 2>/dev/null
               fi
               done
               $SQUID $SQUID_OPTS &
               RETVAL=$?
               echo $SQUID
               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID
               ;;
               stop)
               echo -n "Stopping $SQUID: "
               $SQUID -k shutdown &
               RETVAL=$?
               if [ $RETVAL -eq 0 ] ; then
               rm -f /var/lock/subsys/$SQUID
               while : ; do
               [ -f /var/run/squid.pid ] || break
               sleep 2 && echo -n "." 
               done
               echo "done"
               else
               echo
               fi
               ;;
               reload)
               $SQUID $SQUID_OPTS -k reconfigure 
               exit $?
               ;;
               restart)
               $0 stop
               $0 start
               ;;
               status)
               status $SQUID
               $SQUID -k check
               exit $?
               ;;
               probe)
               exit 0;
               ;;
               *)
               echo "Usage: $0 {start|stop|status|reload|restart}"
               exit 1
               esac
               exit $RETVAL
             

Now, make this script executable and change its default permissions:
                 [root@deep /]# chmod 700 /etc/rc.d/init.d/squid
               
Create the symbolic rc.d links for Squid with the command:
                 [root@deep /]# chkconfig --add squid
               

By default the squid script will not automatically start the proxy server on Red Hat Linux when you reboot the server. You can change it's default by executing the following command:
                 [root@deep /]# chkconfig --level 345 squid on
               
Start your new Squid Proxy Server manually with the following command:
                 [root@deep /]# /etc/rc.d/init.d/squid start
               

                 Starting squid: init_cache_dir ufs... squid
               

 
 
  Published under the terms of the Open Publication License Design by Interspire