Linux-сервер своими руками — страница 71 из 119

Вам не хочется тратить лишнее время на загрузку рекламных баннеров? Мне тоже. К счастью, SQUID позволяет достаточно просто решить эту проблему. Просто вставьте следующие строки в свой файл /usr/local /etc/squid/squid.conf:

acl good_url url_regex "/usr/local/etc/squid/acl/good_url"

acl bad_urlpath urlpath_regex "/usr/local/etc/squid/acl/bad_urlpath"

acl bad_url url_regex "/usr/local/etc/squid/acl/bad_url"

http_access deny bad_urlpath !good_url

http_access deny bad_url !good_url

Соответственно, нужно будет создать три файла: good_url, bad_url_path и bad_url. В файл bad_url следует поместить «плохие» URL, например:

^http://.*doubleclick

^http://.*-ad.flycast.com/server/img/ 

^http://1000-stars-ru/cgi-bin/1000-cgi 

^http://1000.stars.ru/cgi-bin/1000.cgi 

^http://12.16.1.10/~web_ani/

А в файл bad_url_path — «плохой» путь, например:

88x31.*gif 

88x31.*GIF 

100x80.*gif 

100x80.*GIF 

100x100.*gif 

100x100.*GIF 

120x60.*gif 

120x60.*GIF 

179x69.*gif 

193x72.*gif 

468x60.*gif

Обычно такие имена имеют баннеры.

Примеры файлов good_url, bad_url_path и bad_url можно взять на моей домашней страничке — http://dkws.narod.ru

15.7. Разделение канала

Допустим, вам нужно настроить прокси-сервер таким образом, чтобы одна группа компьютеров могла работать с одной скоростью, а другая — с другой. Это может потребоваться, например, для разграничения пользователей, которые используют канал для работы, и пользователей, которые используют ресурсы канала в домашних целях. Естественно, первым пропускная способность канала важнее, чем вторым. С помощью прокси-сервера SQUID можно разделить канал.

Для начала в файле конфигурации укажите, сколько пулов, то есть групп пользователей, у вас будет:

delay_pools 2

Затем определите классы пулов. Всего существует три класса:

1. Используется одно ограничение пропускной способности канала на всех.

2. Одно общее ограничение и 255 отдельных для каждого узла сети класса С.

3. Для каждой подсети класса В будет использовано собственное ограничение и отдельное ограничение для каждого узла.

В файл squid.conf добавьте следующие директивы:

delay_class 1 1 # определяет первый пул класса 1 для домашних пользователей 

delay_class 2 2 # определяет второй пул класса 2 для служащих

Теперь задайте узлы, которые будут относиться к пулам:

acl home src адреса 

acl workers src адреса 

delay_access 1 allow home 

delay_access 1 deny all 

delay_access 2 allow workers 

delay_access 2 deny all

Затем укажите ограничения:

delay_parameters 1 14400/14400

delay_parameters 2 33600/33600 16800/33600

Как я уже отмечал выше, для пула класса 1 используется одно ограничение для всех компьютеров, входящих в пул — 14400 байт. Первое число задает скорость заполнения для всего пула (байт/секунду). Второе — максимальное ограничение.

Для пула класса 2, соответственно, используются ограничения на всю подсеть и отдельно на каждого пользователя. Если бы у нас был определен пул класса 3, то для него ограничения выглядели примерно так:

delay_parameters 3 128000/128000 64000/128000 12800/64000

Первые два числа задают соответственно скорость заполнения и максимальное ограничение для всех. Следующая пара чисел определяет скорость заполнения для каждой подсети и максимальное ограничение, а третья — скорость заполнения и максимальное ограничение для индивидуального пользователя.

15.8. Программы для учета трафика

Для мониторинга работы SQUID и вообще для учета трафика можно воспользоваться следующими программами:

sqmgrlog — http://www.ineparnet.com.br/orso/index.html

mrtg — http://www.switch.ch/misc/leinen/snmp/perl/

iptraf — http://dkws.narod.ru/linux/soft/iptraf-2.4.0.tar.gz

bandmin — http://www.bandmin.org

webalizer (анализ работы Apache) — http://www.mrunix.net/webalizer/

Вместе с данными программами поставляется довольно читаемая документация, поэтому подробно на их использовании я останавливаться не буду. Программа MRTG описана в п. 8.5.

15.9. Настройка клиентов

После того, как вы настроили прокси-сервер, давайте займемся настройкой клиентов, то есть браузеров пользователя. Я не сомневаюсь, что вы знаете, как настраивать тот или иной браузер, я лишь напомню процедуру настройки для некоторых распространенных браузеров.

Internet Explorer 5

Меню Сервис→Свойства обозревателя→вкладка Подключение→Настройка сети. В появившемся окне установите необходимые параметры, то есть имя прокси-сервера и его порт (см. рис. 15.2).

Рис. 15.2. Настройка Internet Explorer


Netscape Communicator

Меню Edit→Preferences→Advanced→Proxies→Manual Proxy Configuration→View (см. рис. 15.3).

Рис. 15.3. Настройка Netscape Communicator


Konqueror

Меню Настройки→Настройки→Прокси (см. рис. 15.4).

Рис. 15.4. Настройка Konqueror

16Установка MySQL

16.1. Установка сервера

В этой главе я кратко опишу, как установить популярный сервер баз данных MySQL. Благодаря своей простоте сервер MySQL приобрел широкое распространение в сети Интернет. При создании Интернет-сервера вы просто не сможете обойтись без сервера MySQL: большинство провайдеров предоставляет хостинг вместе с сервером баз данных, большинство дизайнеров выбирают MySQL, потому что практически невозможно построить серьезный Интернет-проект без использования баз данных.

Я здесь не буду рассматривать технические характеристики сервера MySQL и не буду сравнивать его с другими серверами баз данных, такими, как InterBase Server, IBM DB/2, Oracle. MySQL идеально подходит практически для любого Интернет-проекта. Естественно, если вы создаете распределенную систему обработки информации, вам лучше использовать InterBase Server или Oracle, поскольку эти СУБД являются более масштабируемыми, чем MySQL. Итак, приступим к настройке сервера. Прежде всего нужно установить пакеты, необходимые для работы MySQL.

Я использую MySQL версии 3.20, поэтому я установил такие пакеты:

MySQL_GPL-3.20.32a-18mdk.

MySQL_GPL-client-3.20.32a-18mdk.

MySQL_GPL-shared-libs-3.20.32a-18mdk.

MySQL_GPL-bench-3.20.32a-18mdk.

MySQL_GPL-resolveip-3.20.32a-18mdk.

Проще всего воспользоваться командой rpm –ih MySQL* для установки сервера. Возможно, вы не захотите устанавливать клиентскую версию MySQL-client, однако на этапе настройки я рекомендую все-таки установить ее — она будет использоваться для тестирования сервера.

После установки пакета нужно создать базу данных mysql. Скорее всего, она уже создана, но, чтобы окончательно убедиться в этом, введите команду:

mysql_install_db

Если основная база данных существует, программа сообщит вам об этом. Теперь нужно установить пароль для пользователя root. По умолчанию пользователь root не имеет пароля. Я не буду долго объяснять, как важен правильно заданный пароль для безопасности системы, не говоря уже об его отсутствии. База данных mysql является системной базой данных и содержит следующие таблицы:

1. таблицу db;

2. таблицу host;

3. таблицу user.

Сейчас нас интересует таблица user. Она содержит пароли всех пользователей, которые имеют право работать с сервером. На данном (начальном) этапе в базу данных внесен только один пользователь — root. Для изменения пароля запустите сервер командой:

safe_mysqld &

Эта команда запустит сервер в режиме демона и освободит консоль. Если все пакеты были установлены правильно, вы увидите сообщение:

mysql: ready for connections

Однако, может быть и другое сообщение, свидетельствующее об удачном запуске. Затем введите команду:

mysql –u root mysql

Данная команда запускает клиент MySQL. При этом используется имя пользователя root, даже если вы работаете под другой учетной записью. Последний параметр определяет базу данных — mysql.

Измените пароль суперпользователя с помощью команды:

UPDATE user SET Password=PASSWORD(xnew_password') WHERE user='root';