Все о Linux. LinuxRSP.Ru

[an error occurred while processing this directive]

Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

[Q]Как поставить/настроить squid?

Прежде чем разбираться со squid'ом, надо убедиться, что все остальное работает. А именно:

  1. машина, на которой будет работать Proxy, может соединится (по WWW, FTP, Telnet - не важно) с машинами в мире;
  2. машины из внутренней сети могут соединится с этой машиной, опять же - не важно каким клиентом;
Если что-то из этого отсутствует, пока за squid браться рано.

Если же связь изнутри к Proxy-машине есть, и эта Proxy-машина может общаться с внешним миром, переходим к настройке squid'а. Я проверял на squid-1.1.20. Но, в других версиях (если они не намного древнее) должно быть примерно так же.

Squid надо ставить из packages или ports, тогда есть уверенность, что все его компоненты разложаться по нужным директориям, как это принято именно во FreeBSD. Должно получиться примерно следующее:

  1. Бинарники лежат в /usr/locl/sbin;
  2. В /usr/local/etc появилась директория squid, в которой лежит squid.conf - это как раз его конфиг-файл, его надо будет подправлять.
  3. В /usr/local/etc/rc.d появился файлик squid.sh - это основная запускалка (дело в том, что система при старте просматривает этот каталог, и все, что найдет там типа *.sh запустит автоматом). Но можно его запустить и вручную просто ./squid.sh. Если такого файла нет, то при перезагрузке squid не будет запускаться.
  4. В /usr/local образовалась директория squid, в которой две поддиректории cache - там будет его кэш и logs - логи. Там же должен быть файлик (возможно, он появится после первого запуска) squid.out - это основной лог, в которм и будут сообщения об ошибках, если squid почему-либо не сможет стартовать нормально.
Если что-то из вышеописанного лежит не там, то надо будет найти.

Для начала squid.conf можно не сильно не копать. Там стоят значения "по умолчанию", они вполне приемлимы. Единственное, что я советую - определится, сколько мегабайт диска вы согласны выделить под кэш. По умолчанию 100 МB. Если у Вас напряженка с дисковым пространством, или наоборот, переизбыток, то найдите в squid.conf строчку:

	cache_swap 100
и поставьте подходящее значение (если строчка закоментарена знаком '#' в начале - раскоментарьте). Максимальный обьем можно оценочно определить как обьем, который можно прокачать по Вашей линии к провайдеру за сутки.

Еще одна правка, скорее всего понадобится. Я запустил squid'а, ничего не исправляя, и он тут же выдал мне в squid.out сообщение об ошибке. Смысл сообщения был такой, что "нельзя запускать от имени root, используйте cache_effective_user в конфиге". Поскольку, при старте машины squid.sh будет исполняться от имени root, то надо сделать, что он просит. То есть, найти в конфиге строчку:

	cache_effective_user nobody nogroup
и раскоментарить ее. Это будет означать, что в процессе работы, squid будет иметь права "псевдоюзера" nobody.

На самом деле, это не совсем правильно. Правильнее - завести нового "псевдоюзера" squid (или еще как-нибудь - www, cache ...) и в конфиге вписать именно его, а не nobody. но если это слишком сложная для Вас задача, то просто раскоментарьте строчку и все.

После этого надо будет поправить владельца для директории /usr/local/squid (ну, там где кэш и логи). Для этого выполните команду

	chown -R nobody /usr/local/squid
("-R означает, что меняется владелец не только директории, но и Rекурсивно обходится все содержимое поддиректорий). Если вы завели специального "псевдоюзера", то, естественно, в команде вместо nobody укажите его имя. Теперь осталось сформировать "внутреннюю структуру кэша". Кстати, если этого не сделать, то squid при запуске сам скажет вам: "запустите программу squid -z". Сделайте, как он говорит. Только учтите, что /usr/local/sbin, обычно, не прописана в PATH даже у root'а, поэтому лучше набрать полный путь
	/usr/local/sbin/squid -z.
Это сравнительно длительный процесс, но когда он закончится, все должно быть уже готово к запуску.

Теперь можно попытаться запустить squid. Зайдите в /usr/local/etc/rc.d и запустите ./squid.sh. У меня с этого момента все заработало. Кстати, на консоли должно появится сообщение от squid'а "Ready to serve requests" ("готов обслуживать запросы").


Автор - Иван Паскаль.
Литературная правка - Дмитрий Карпов.

      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2024 LinuxRSP