Menu

Update_0.6_0.8

В начало

Руководство по обновлению с версии 0.6 до 0.8

Ниже приведен пример обновления Squidward с версии 0.6 до 0.8 на RHEL 6 (CentOS 6).

получите права суперпользователя

$ sudo su

удалим старую версию подпрограммы ext_dstdom

# rm -f /var/www/html/squidward/ext_acl/ext_dstdom.php

удалим старый файл

# rm -f /var/www/html/squidward/misc/squid.conf

перейдем во временный каталог

# cd /tmp

загружаем крайнюю версию

# wget "https://downloads.sourceforge.net/project/squidward/squidward/latest/squidward-latest.tar.gz"

распаковываем и удаляем архив

# tar xvfz ./squidward-latest.tar.gz && rm -f ./squidward-latest.tar.gz

копируем с заменой все файлы, кроме файла config.php, на запросы о перезаписи отвечаем согласием

# cp --parents $(find squidward -type f ! -name "config.php") /var/www/html

создадим недостающие каталог и файлы

# mkdir --parents /etc/squid/squidward.d/.system/unauthenticated
# touch /etc/squid/squidward.d/.system/unauthenticated/null.acl
# touch /etc/squid/squidward.d/.system/unauthenticated/null.http

и предоставим необходимые права

# chown -R apache.apache /etc/squid/squidward.d
# chown -R root.squid /var/www/html/squidward/ext_acl
# chmod -R 755 /var/www/html/squidward/ext_acl

Откройте редактором файл /etc/sudoers, найдите следующую строку:

apache  ALL=(ALL)   NOPASSWD:/etc/init.d/squid

и замените ее на

apache  ALL=(ALL)   NOPASSWD:/usr/sbin/squid

Далее необходимо внести изменения в файл squid.conf


Если у Вас установлен не измененный файл squid.conf из дистрибутива Squidward 0.6, то установите новый из дистрибутива Squidward 0.8

сохраним старый конфигурационный файл Squid

# mv /etc/squid/squid.conf /etc/squid/squid.conf.0.6

и установим новый из дистрибутива Squidward

# cp /var/www/html/squidward/misc/squid.conf.rhel6 /etc/squid/squid.conf


Если ваш squid.conf содержит внесенные вами правки, то вам необходимо внести в него изменения самостоятельно.

Начиная с версии 0.7 изменились параметры вызова подпрограмм ext_acl. Теперь необходимо указывать путь к папке где установлен Squidward (расположен файл config.php) в качестве передаваемого аргумента в описании external_acl. Для обеспечения доступа к ресурсам без прохождения аутентификации с помощью встроенной области применения "Unauthenticated access" появились строки включения правил доступа без аутентификации и вызов третьей подпрограммы.

Приведите свой файл squid.conf в соответствии с файлом из дистрибутива Squidward 0.8:

external_acl_type ext_dstdom_regex children=36 ttl=300 negative_ttl=300 %DST %PORT /var/www/html/squidward/ext_acl/ext_dstdom_uni.php /var/www/html/squidward
external_acl_type ext_usr children=36 ttl=300 negative_ttl=300 %LOGIN %SRC /var/www/html/squidward/ext_acl/ext_usr.php /var/www/html/squidward
external_acl_type ext_usr_noauth children=36 ttl=300 negative_ttl=300 %SRC /var/www/html/squidward/ext_acl/ext_usr_noauth.php /var/www/html/squidward

# Включение конфигурации правил доступа без аутентификации
include "/etc/squid/squidward.d/.system/unauthenticated/*.acl"
include "/etc/squid/squidward.d/.system/unauthenticated/*.http"

# Блок описание метода аутентификации
# Winbind and NTLM

# Включение правил доступа
include "/etc/squid/squidward.d/*.acl"
include "/etc/squid/squidward.d/*/*.acl"
include "/etc/squid/squidward.d/*.http"
include "/etc/squid/squidward.d/*/*.http"

обращаем ваше внимание, что блок описания external_acl должен располагаться выше блока включения правил доступа без аутентификации, а блок описания метода аутентификации должен располагаться между блоками включения правил доступа без аутентификации и включения правил доступа.


Внесите изменения в политики доступа с учетом нововведений. Например, если вы используете регулярные выражения, то перед строкой описания регулярного выражения, начиная с версии 0.7, необходимо указывать тег "regex:", см. Новое в версии 0.7.

перезапустите сервис squid

# service squid restart

Обновление до версии 0.8 выполнено!


Related

Documentation: Home