1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
> cd root > wget http://www.sleepycat.com/update/snapshot/db-4.1.25.NC.tar.gz > tar -xvzf db-4.1.25.NC.tar.gz > cd db-4.1.25.NC > cd build_unix > ../dist/configure > make > make install > edit /etc/ld.so.conf and add /usr/local/BerkeleyDB.4.1/lib > ldconfig > cd root > wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.9.tar.gz > cd sendmail-8.12.9 > create a file under devtools/Site called site.config.m4 with the following contents: define(`confMAPDEF',`-DNEWDB')dnl define(`confINCDIRS',`-I/usr/local/BerkeleyDB.4.1/include')dnl define(`confLIBDIRS',`-L/usr/local/BerkeleyDB.4.1/lib')dnl > cd sendmail > sh Build > cd .. > cd cf/cf > cp generic-linux.mc sendmail.mc > sh Build sendmail.cf > mkdir /etc/mail > cp /usr/sbin/sendmail /usr/sbin/sendmail.old > sh Build install-cf > cd ../.. > useradd smmsp > chsh smmsp /bin/false > chown root.smmsp /usr/sbin/sendmail > chmod u-w /usr/sbin/sendmail > chmod g+r /usr/sbin/sendmail > chmod o+rx /usr/sbin/sendmail > mkdir /var/spool/clientmqueue > chown smmsp.smmsp /var/spool/clientmqueue > chmod g+w /var/spool/clientmqueue/ > chmod o-rwx /var/spool/clientmqueue/ > mkdir /var/spool/mqueue > chown root.wheel /var/spool/mqueue > chmod o-rwx /var/spool/mqueue > chmod g-rwx /var/spool/mqueue > chown root.wheel /etc/mail/sendmail.cf > chown root.wheel /etc/mail/submit.cf > cd sendmail > mkdir /usr/man > mkdir /usr/man/man1 > mkdir /usr/man/man5 > mkdir /usr/man/man8 > sh Build install > cd makemap > sh Build install > cd .. > cd mailstats > sh Build install > cd .. > cd praliases > sh Build install > cd .. > cd smrsh > sh Build > sh Build install > cd .. > cd vacation > sh Build install > cd .. > cd /etc/mail > cp /etc/aliases /etc/mail > cp /root/sendmail-8.12.9/cf/cf/sendmail.mc . > touch /etc/mail/trusted-users > cd /etc/init.d > create file called sendmail with following contents: #!/bin/sh # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/sbin/sendmail ] || exit 0 # See how we were called. case "$1" in start) # Start daemons. gprintf "Starting sendmail: " newaliases /usr/sbin/sendmail -bd ;; stop) # Stop daemons. gprintf "Shutting down sendmail: " killall sendmail ;; restart) $0 stop $0 start ;; reload) $0 restart ;; status) status sendmail ;; *) gprintf "Usage: %s {start|stop|restart|reload|status}\n" "$0" exit 1 esac exit 0 > chmod o-r,g-r,u+x sendmail > cd /etc/rc.d > cd rc0.d; ln -s ../init.d/sendmail K30sendmail; cd .. > cd rc1.d; ln -s ../init.d/sendmail K30sendmail; cd .. > cd rc2.d; ln -s ../init.d/sendmail S80sendmail; cd .. > cd rc3.d; ln -s ../init.d/sendmail S80sendmail; cd .. > cd rc4.d; ln -s ../init.d/sendmail S80sendmail; cd .. > cd rc5.d; ln -s ../init.d/sendmail S80sendmail; cd .. > cd rc6.d; ln -s ../init.d/sendmail K30sendmail; cd .. > rm rc0.d/K30postfix > rm rc1.d/K30postfix > rm rc2.d/S80postfix > rm rc3.d/S80postfix > rm rc4.d/S80postfix > rm rc5.d/S80postfix > rm rc6.d/K30postfix |
Archive | Service Control Scripts
Squid Guard
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
#!/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 /usr/local/squid/etc/squid.conf ] || exit 0 # determine the name of the squid binary [ -f /usr/local/squid/sbin/squid ] && SQUID=squid [ -z "$SQUID" ] && exit 0 prog="$SQUID" # determine which one is the cache_swap directory CACHE_SWAP=`sed -e 's/#.*//g' /usr/local/squid/etc/squid.conf | \ grep cache_dir | awk '{ print $3 }'` [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/usr/local/squid/var/cache RETVAL=0 start() { for adir in $CACHE_SWAP; do if [ ! -d $adir/00 ]; then echo -n "init_cache_dir $adir... " /usr/local/squid/sbin/squid -z -F 2>/dev/null fi done echo -n $"Starting $SQUID $prog: " /usr/local/squid/sbin/squid $SQUID_OPTS 2> /dev/null & RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID [ $RETVAL -eq 0 ] && echo_success [ $RETVAL -ne 0 ] && echo_failure echo return $RETVAL } stop() { echo -n $"Stopping $prog: " /usr/local/squid/sbin/squid -k check >/dev/null 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ] ; then /usr/local/squid/sbin/squid -k shutdown & rm -f /var/lock/subsys/$SQUID timeout=0 while : ; do [ -f /usr/local/squid/var/logs/squid.pid ] || break sleep 2 && echo -n "." timeout=$((timeout+2)) done echo_success echo else echo_failure echo fi return $RETVAL } reload() { /usr/local/squid/sbin/squid $SQUID_OPTS -k reconfigure } restart() { stop start } condrestart() { [ -e /var/lock/subsys/squid ] && restart || : } rhstatus() { status $SQUID /usr/local/squid/sbin/squid -k check } probe() { return 0 } case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; condrestart) condrestart ;; status) rhstatus ;; probe) exit 0 ;; *) echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}" exit 1 esac exit $? |
SLAPD Service Control Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
#!/bin/sh # # chkconfig: - 91 35 # description: Starts and stops the OpenLDAP slapd daemon # # pidfile: /usr/local/openldap-2.2.4/var/run/slapd.pid # config: /usr/local/openldap-2.2.4/etc/openldap/slapd.conf INSTALL_BASE=/usr/local/openldap-2.2.4 BDB_BASE=/usr/local/BerkeleyDB.4.2 # Source function library. if [ -f /etc/init.d/functions ] ; then . /etc/init.d/functions elif [ -f /etc/rc.d/init.d/functions ] ; then . /etc/rc.d/init.d/functions else exit 0 fi # Avoid using root's TMPDIR unset TMPDIR # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Check that smb.conf exists. [ -f $INSTALL_BASE/etc/openldap/slapd.conf ] || exit 0 RETVAL=0 start() { action "Recovering slapd database: " $BDB_BASE/bin/db_recover -h $INSTALL_BASE/var/openldap-data action "Recovering slapd database (US): " $BDB_BASE/bin/db_recover -h $INSTALL_BASE/var/openldap-us-data echo -n $"Starting slapd: " daemon $INSTALL_BASE/libexec/slapd RETVAL=$? echo return $RETVAL } stop() { KIND="SMB" echo -n $"Shutting down slapd: " action "" kill -INT `cat $INSTALL_BASE/var/run/slapd.pid` RETVAL=$? echo return $RETVAL } restart() { stop start } reload() { echo -n $"Reloading slapd.conf file: " killproc slapd -HUP RETVAL=$? echo return $RETVAL } rhstatus() { status slapd } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; status) rhstatus ;; *) echo $"Usage: $0 {start|stop|restart|status}" exit 1 esac exit $? |
TFTPD Service Control Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
#!/bin/bash # tftp - tftp server # # chkconfig: - 50 50 # description: tftp server in standalone mode # # processname: /usr/sbin/in.tftpd # # source function library . /etc/init.d/functions # settings start ADDRESS="192.168.2.1" DIR="/opt/tftproot" # settings end OPTIONS="-v -l -a $ADDRESS -s $DIR" RETVAL=0 prog="in.tftpd" start() { echo -n $"Starting $prog: " if [ $UID -ne 0 ]; then RETVAL=1 failure else daemon /usr/sbin/in.tftpd $OPTIONS RETVAL=0 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/tftpd fi; echo return $RETVAL } stop() { echo -n $"Stopping $prog: " if [ $UID -ne 0 ]; then RETVAL=1 failure else killproc /usr/sbin/in.tftpd RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tftpd fi; echo return $RETVAL } reload(){ stop start } restart(){ stop start } condrestart(){ [ -e /var/lock/subsys/tftpd ] && restart return 0 } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; condrestart) condrestart ;; status) status in.tftpd RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}" RETVAL=1 esac exit $RETVAL |