В Solaris как и в других Unix-подобных системах можно устанавливать скомпилированные пакеты, либо собирать из исходников. Тут уж кому что нравиться. В готовых пакетах есть всё, что необходимо для начальной работы. Поэтому скачиваем бинарный пакет для определенной архитектуры с какого нибудь ресурса в интернете (например squid.2.5.STABLE10.SPARC.32bit.Solaris.9.pkg.tgz с http://www.ibiblio.org/pub/packages/solaris/sparc/) разархивируем:
# gunzip squid.2.5.STABLE10.SPARC.32bit.Solaris.9.pkg.tgz
# tar xvf squid.2.5.STABLE10.SPARC.32bit.Solaris.9.pkg.tar
и стандартным образом устанавливаем, выполняя в текущем директории команду # pkgadd -d .
Можно устанавить с помощью нестандартной утилиты pkg-get. Хоть приведенный пакет и скомпилирован под 9-ый солярис, но он успешно работает в десятке. У меня данный пакет установился в каталог /opt/sfw/squid в дальнейшем описании - это домашняя директория сквида(SQUID_HOME). Заходим в каталог SQUID_HOME/etc и правим файл squid.conf под свои нужды, описывать параметры не вижу смысла, т.к. в интернете полно документации по данной теме. Вот после этого начинается самое интересное, это автоматический запуск сквида при загрузке системы, остановка, запуск и перезапуск сервиса. Т.к. в solaris 10 используется технология Service Management Facility (SMF), вот поэтому нам желательно её использовать для единого управления сервисами системы. Это также хороший пример как управлять сервисом с помощью SMF. Работа squid зависит от определённых сервисов системы, нам необходимо проверить данные зависимости и конфигурационный файл самого сервиса (squid.conf) при запуске. Соответственно это необходимо учесть при написании скрипта и описании сервиса в системе SMF. Не будем изобретать велосипед и возьмём данные файлы(squid.xml, svc-squid) с ресурса blogs.sun.com , хотя и самим не составляет большого труда написать такие файлы. Правим под свою систему (проверяем пути к файлам), подправленные файлы можно скачать отсюда(
svc-squid,
squid.xml). Далее
копируем svc-squid в каталог /etc/init.d/ и смотрим чтоб, он имел права на исполнение
#svccfg import /path/to/squid.xml
#svcadm enable squid
Вот так производиться запуск сквида. Если он не стартовал, необходимо убедиться запущены ли сервисы от которых зависит squid, это выполняется командой
#svcs -d squid
В успешном случае должны наблюдать такой вывод
STATE STIME FMRI
online Jan_12 svc:/milestone/network:default
online Jan_12 svc:/network/dns/client:default
online Jan_12 svc:/system/filesystem/local:default
online Jan_12 svc:/milestone/sysconfig:default
Если вы видите аналогичный вывод, а сквид не стартовал, значит необходимо смотреть лог файлы системы запуска сервисов /var/svc/log/network-http-proxy:squid.log и самого сервиса (по умолчанию в каталоге SQUID_HOME/var/logs).
Буду полагать, что сервис вы запустили, если нет, пишите мне на info@sunhelp.ru постараюсь помочь. Сервис работает, логи пишутся, всё хорошо. Если вас не заботит переполнение системы и не нужна статистика по клиентам, то тогда на этом месте можно остановиться. Для других хочу сказать, что в пакете устанавливаемом под solaris не предусмотрена ротация лог файлов. Это необходимо учесть администратору и применить один из следующих методов, а именно стандартный для solaris настроить logadm (прописать в /etc/logadm.conf) или стандартный для сервиса squid ( SQUID_HOME/sbin/squid -k rotate). Я выбрал второй , т.к. он мне показался проще и правильнее. И сделал следующее
#crontab -e root
добавил строчку
10 1 1
/opt/sfw/squid/sbin/squid -k rotate
вышел с сохранением
Теперь в 1 час 10 мин первого числа каждого месяца будет происходить ротация логов сквида. Количество ротации прописывается в файле конфигурации squid, параметром logfile_rotation.
Ваши пожелания, замечания и дополнения прошу высылать на адрес: info at sunhelp dot ru