Здесь -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" («готов обслуживать запросы»).
Настройка Proxy-сервера.Общая настройка Proxy-сервера чаще всего не вызывает сложностей. Сложности обычно вызывают три обстоятельства: настройка ACL (access control list – список прав доступа) и правил для них, настройка дополнительных программ вроде «баннерорезалок» и настройка ограничений использования канала.
Настройка ACL. Обратимся к соответствующему месту файла squid.conf и прокомментируем его.
ACL прописываются в виде строки acl имя_acl тип_aclпараметры ACLили acl имя_acl тип_acl «файл» – при этом в файле сохраняется по одному значению на строку.
Итак, сначала типы списков.
acl aclname src ip-address/netmask – в этом acl описывается ip-адрес или сеть, принадлежащая клиентам squid. Например:
acl vasya src 192.168.1.1/255.255.255.255 – описывает единственную машину с адресом 192.168.1.1 и назначает ей ACL с именем vasya.
acl office src 192.168.1.1/255.255.255.0 – описывает диапазон машин с адресами 192.168.1.1-.254 и назначает этому ACL имя office. Если диапазон необходимо сузить, то необходимо либо изменить маску подсети, либо воспользоваться явным указанием: acl vip_user src 192.168.1.1-192.168.1.5/255.255.255.0. Здесь squid выбирает тот диапазон адресов, который окажется меньше либо по маске, либо по явному указанию.
acl aclname dst ip-address/netmask – этот тип ACL описывает уже сервер, страницы с которого будут запрашивать клиенты. Следует отметить, что в этом типе ACL задается не символьный адрес сервера, а ip.
acl aclname srcdomain.domain.ru – описывает клиентов, но уже не по ip-адресам, а по реверсным DNS. Это значит, что нет разницы, какие ip-адреса принадлежат клиентам, главное, чтобы они определялись dns. Соответственно под это правило попадут все клиенты, стоящие в домене domain.ru.
acl aclname dstdomain .domain.ru – описывает сервер. Сравнивается с запросом из URL. Под этот ACL попадут все серверы третьего уровня домена domain.ru.
acl aclname srcdom_regex [-i] xxx acl aclname dstdom_regex [-i] xxx – описания аналогичны предыдущим, но теперь для выяснения, подходит ли правило под запрос, используются regex-правила. Если символьный адрес не смог определиться из ip-адреса, к запросу будет применена строка none.
acl aclname time [day-abbrevs] [h1:m1-h2:m2] – ACL, описывающий время. Коды дней недели определяются так: S – Sunday – Воскресенье, M – Monday – Понедельник, T – Tuesday – Вторник, W – Wednesday – Среда, H – Thursday – Четверг, F – Friday – Пятница, A – Saturday – Суббота.
Ну а вместо h1:m1 и h2:m2 вставляется время. Запомните – h1:m1 всегда должно быть меньше h2:m2.
Итак, acl worktime time MTWHF 08:00-17:00 описывает рабочее время с понедельника по пятницу, с 8 утра до 5 вечера, acl weekday time SA описывает целиком субботу с воскресеньем, а acl evening time 17:00-23:59 описывает время до полуночи. Если необходимо описать всю ночь, то приходится заводить два ACL: первый – с вечера до полуночи, а второй – с полуночи до утра.
acl aclname url_regex [-i] ^http:// – regex-правила, применяемые ко всему URL.
acl aclname port 80 70 21 – ACL, описывающий порты. Вместо простого перечисления можно указать диапазон, например, 1-1024.
acl aclname proto HTTP FTP – ACL, описывающий протокол, по которому клиент желает сделать запрос на сервер.
acl aclname method GET POST – метод, которым передаются данные клиента серверу.
acl aclname browser [-i] regexp – regexp-запрос на клиентский браузер. Вычисления основаны на заголовке User-Agent, который пересылает браузер.
acl aclname ident username – ACL описывает имя пользователя, от которого запущена программа на клиентской машине. Имя узнается с помощью ident-сервера.
acl aclname ident_regex [-i] pattern – то же самое, но основанное на regex-правилах.
acl aclname proxy_auth username acl aclname proxy_auth_regex [-i] pattern – ACL, описывающий имя пользователя. Это имя возвращает внешняя авторизующая программа.
acl aclname maxconn number – это правило сработает, если клиент сделает больше number запросов к кешу.
acl req_mime_type mime-type1 – правило, срабатывающее при upload файлов клиентом. Заметьте – uplode, а не скачивание.
Здесь представлены не все описания ACL, но большинство, необходимых в повседневной практике. Для более полного знакомства с описанием следует обратиться к исходному тексту файла squid.conf – там все описано, правда, по-английски.