Денис Колисниченко - Linux-сервер своими руками
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';
Как вы заметили, это обычный SQL-запрос, обновляющий поле Password таблицы user для пользователя root. Теперь нужно, чтобы MySQL принял изменения. Для этого выполните еще один запрос SQL:
FLUSH PRIVILEGES;
Для принятия изменений можно также использовать программу mysqladmin с параметром reload. Вызвать программу можно так:
mysqladmin –p reload
Параметр –р вам обязательно нужно использовать, так как вы только что установили пароль для пользователя root. Выйти из клиента mysql вы можете, введя команду quit.
Установите права доступа к сценарию /etc/re.d/init.d/mysql:
chmod +х /etc/re.d/init.d/mysql
Теперь можете перезапустить сервер командой:
/etc/re.d/init.d/mysql restart
Если вы забудете пароль, вы его уже не восстановите. Единственный выход из этого положения — удалить каталог /var/lib/mysql/mysql и создать базу mysql заново командой mysql_install_db.
Теперь вы уже не можете зарегистрироваться на сервере без пароля. Если вы введете команду mysql –u root mysql, то получите следующее сообщение:
ERROR: Access denied for user: * [email protected]' (Using password: NO)
Для регистрации на сервере теперь нужно использовать команду mysql –u root –p. Параметр –р запросит пароль при регистрации.
Последнее, что вам осталось сделать — это добавить сервер MySQL в автозапуск. С этой целью перейдите в каталог /etc/re.d/rc3.d/ и создайте символическую ссылку на файл /etc/re.d/init.d/mysql:
ln –s S14mysql /etc/re.d/init.d/mysql
Префикс S14 определяет очередность запуска сервера mysql. В данном случае он запустится после сервисов network (S10) и portmap (S11). У вас эти значения могут быть другими.
В своей работе демон mysqld использует файл журнала /var/log/mysql.log. Именно в него заносятся все транзакции, а также все команды, которые ввел пользователь. После установки сервера нужно внести пользователей, которые имеют право работать с сервером баз данных. Введите следующий запрос: