Безопасность и оптимизация Linux.Редакция для Red Hat

       

Настройка скрипта “/etc/rc.d/init.d/squid” для всех типов конфигураций


Настроим ваш скрипт “/etc/rc.d/init.d/squid” для запуска и остановки кэширующего прокси сервера Squid. Это скрипт изменит установки кэша подкачки на “/cache” вместо “/var/spool/squid”.

Создайте скрипт squid (touch /etc/rc.d/init.d/squid) и добавьте в него:

#!/bin/bash # squid Этот скрипт отвечает за запуск и остановку # Squid Internet Object Cache # # chkconfig: - 90 25 # описание: Squid - Internet Object Cache. Internet object caching – это путь # для хранения запрошенных объектов из Интернет (например, данные # доступные через протоколы HTTP, FTP и gopher) на системах находящихся # ближе к требуемым серверам, чем организатор запроса. Веб броузеры могут # затем использовать локальный кэш как прокси HTTP сервер, сокращая # время доступа и сохраняя полосу пропускания. # pid файл: /var/run/squid.pid # конфигурационный файл: /etc/squid/squid.conf PATH=/usr/bin:/sbin:/bin:/usr/sbin export PATH # Библиотека исходных функций. . /etc/rc.d/init.d/functions # Исходная сетевая конфигурация. . /etc/sysconfig/network # Проверка, что сеть работает. [ ${NETWORKING} = "no" ] && exit 0 # проверка наличия конфигурационного файла squid [ -f /etc/squid/squid.conf ] exit 0 # определения имени двоичного файла squid [ -f /usr/sbin/squid ] && SQUID=squid [ -z "$SQUID" ] && exit 0 # определения cache_swap каталога 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 # опции squid по умолчанию # -D отключение проверки dns при инициализации. Если вы скорее всего # не будете иметь соединения с Интернет во время старта squid, # раскомментируйте это #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

Сейчас, сделайте этот скрипт исполняемым и измените права доступа:

[root@deep /]# chmod 700 /etc/rc.d/init.d/squid

Создайте символическую rc.d ссылку для Squid следующей командой:

[root@deep /]# chkconfig --add squid

По умолчанию скрипт squid не будет автоматически запускать прокси сервер на Red Hat Linux, когда перезагружаете сервер. Вы можете изменить это следующей командой:

[root@deep /]# chkconfig --level 345 squid on

Запустите ваш новый прокси сервер Squid вручную:

[root@deep /]# /etc/rc.d/init.d/squid start

Starting squid: init_cache_dir ufs... squid



Содержание раздела