Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 83
Текст из файла (страница 83)
15.2. Настройка Internet ExplorerYou may configure a proxy and port number for each of the internetprotocols that Netscape supports.;FTP Proxy;Gopher Proxy;HTTP Proxy:Security Pro)^:WAtS Proxy;You:max provide a list of domains that Netscape should access directly/rather than via the proxy:No Proxy for:; SOCKS HostOK356Рис. 15.3.НастройкаNetscapeCommunicatorПрокси-сервер SQUIDNetscape CommunicatorМеню Edit -» Preferences -» Advanced -> Proxies -> Manual ProxyConfiguration -> View (см.
рис. 15.3).KonquerorМеню Настройки —> Настройки —> Прокси (см. рис. 15.4).!х" Использовать proxyПрокси HTTP::iproxy.company.ru|FTP прбкси:Порт:He использовать proxy для;Размер кэша:ПомощьДо умолчаниюNСбросить1^:1ПрименитьРис. 15.4. Настройка Konqueror35716Установка MySQL16.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. По умолчанию пользо358Установка MySQLватель root не имеет пароля. Я не буду долго объяснять, как важен правильнозаданный пароль для безопасности системы, не говоря уже об его отсутствии.База данных mysql является системной базой данных и содержит следующие таблицы:1. таблицу db;2.
таблицу host;3. таблицу user.Сейчас нас интересует таблица user. Она содержит пароли всех пользователей, которые имеют право работать с сервером. На данном (начальном)этапе в базу данных внесен только один пользователь — root. Для измененияпароля запустите сервер командой:safe_mysqld &Эта команда запустит сервер в режиме демона и освободит консоль.Если все пакеты были установлены правильно, вы увидите сообщение:m y s q l : ready for connectionsОднако, может быть и другое сообщение, свидетельствующее об удачномзапуске. Затем введите команду:mysql -u root mysqlДанная команда запускает клиент MySQL.
При этом используется имяпользователя root, даже если вы работаете под другой учетной записью.Последний параметр определяет базу данных — mysql.Измените пароль суперпользователя с помощью команды:UPDATE user SET P a s s w o r d = P A S S W O R D ( x n e w _ p a s s w o r d ' ) WHEREuser='root';Как вы заметили, это обычный SQL-запрос, обновляющий поле Passwordтаблицы user для пользователя root. Теперь нужно, чтобы MySQL принялизменения.
Для этого выполните еще один запрос SQL:FLUSH PRIVILEGES;Для принятия изменений можно также использовать программуmysqladmin с параметром reload. Вызвать программу можно так:mysqladmin -p reloadПараметр -р вам обязательно нужно использовать, так как вы только чтоустановили пароль для пользователя root.
Выйти из клиента mysql вы можете, введя команду quit.Установите права доступа к сценарию / e t c / r e . d / i n i t . d / m y s q l :chmod +х / e t c / r e . d / i n i t . d / m y s q lТеперь можете перезапустить сервер командой:/ e t c / r e . d / i n i t . d / m y s q l restartЕсли вы забудете пароль, вы его уже не восстановите. Единственныйвыход из этого положения — удалить каталог / v a r / l i b / m y s q l / m y s q l исоздать базу mysql заново командой mysql_install_db.Теперь вы уже не можете зарегистрироваться на сервере без пароля.
Есливы введете команду mysql -u root mysql, то получите следующее сообщение:ERROR: Access denied for user: *root@localhost' (Using password: NO)359Установка MySQLДля регистрации на сервере теперь нужно использовать команду mysql u root -p. Параметр -р запросит пароль при регистрации.Последнее, что вам осталось сделать — это добавить сервер MySQL вавтозапуск. С этой целью перейдите в каталог /etc/re.d/rc3 . d/ и создайте символическую ссылку на файл /etc/re.d/init.d/my'sql:In -s S14mysql / e t c / r e . d / i n i t .
d / m y s q lПрефикс S14 определяет очередность запуска сервера mysql. В данномслучае он запустится после сервисов network (S10) и portmap (S11). У вас этизначения могут быть другими.В своей работе демон mysqld использует файл журнала /var/log/mysql. log.Именно в него заносятся все транзакции, а также все команды, которые ввелпользователь.
После установки сервера нужно внести пользователей, которыеимеют право работать с сервером баз данных. Введите следующий запрос:GRANT ALL PRIVILEGES ON *.* TO a d m i n g l o c a l h o s t IDENTIFIED BY'password' WITH GRANT OPTION;Введенный вами запрос создаст пользователя admin, который будет иметьправо выполнять любые операции со всеми базами данных. Данный пользователь будет иметь право подключаться к серверу с компьютера localhost,используя пароль password.Маска *.* определяет, к каким базам данных и таблицам имеет правоподключаться тот или иной пользователь.
Первая звездочка определяет базу,а вторая — таблицу. Если вам нужно, чтобы пользователь admin имел правоподключаться с любого хоста, используйте знак процента вместо именихоста. В этом случае запрос будет выглядеть так:GRANT ALL PRIVILEGES ON *.* TO admin@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;Вместо всех полномочий вы можете определить, какие действия можетвыполнять с базой тот или иной пользователь. Если вы являетесь хостингпровайдером и предоставляете доступ пользователю к его базе данных, томожете использовать следующий запрос:GRANT CREATE,DROP,SELECT,INSERT,UPDATE,DELETE,INDEX ON user.* TOuser@% IDENTIFIED BY 'user_password';Перед выполнением данного запроса необходимо создать базу данныхuser.
Данный запрос позволяет пользователю user выполнять все операции сего базой данных.Полный список полномочий представлен в табл. 16.1.Если запрос GRANT у вас не работает, то вы можете внести пользователя непосредственно в таблицу user базы данных mysql. Структура таблицыuser выглядит следующим образом:Host User P a s s w o r d Select_priv Insert_priv Update_privDelete_priv Create_priv Drop_priv Reload_priv Shutdown_privProcess_priv File_privПоля Host, User, Password - - это, соответственно, узел, из которогопользователь может получить доступ, имя пользователя, пароль пользователя.360Установка MySQLПолномочия пользователей сервера MySQLПолномочияТаблица 16.1ОписаниеSELECT, INSERT, UPDATE, DELETEОдноименные операции с данными: пользователь имеет правопросматривать, добавлять, модифицировать, удалять данныев таблицах баз данныхINDEXПользователь имеет право производить операциис индексами таблицREFERENCESПользователь имеет право работать со ссылками в базахданных и таблицахCREATE, DROPСоздание и удаление таблиц и баз данныхGRANT, ALTERОперации с полномочиямиRELOAD, SHUTDOWN, PROCESSПользователь имеет право перезагружать, останавливатьсервер и просматривать все процессы (подключения)Все остальные поля задают полномочия для пользователя.
Если выполнениекакой-нибудь операции разрешено пользователю, соответствующее поле должно быть равным «Y». В противном случае установите значение «N».Например, нам нужно создать пользователя admin, который должен иметьвсе полномочия. Это можно сделать с помощью такого запроса SQL:INSERT INTO user (Host, User, Password, Selectjpriv, Insert_priv,Update_priv, Deletejpriv,Createjpriv,Drop_priv,Reloadjpriv,Shutdownjpriv, Process_priv, File_priv) VALUES('localhost' /admin',password(Mtd561sl2'),'Y','У,'Y','Y', 'Y',' Y ' , ' Y ' , ' Y ' , ' Y ' , ' Y ' ) ;При вводе запроса обратите внимание на регистр названий полей.
СерверMySQL различает прописные и строчные буквы! С помощью вышеприведенного запроса был создан пользователь admin, который имеет право регистрироваться на сервере только из узла localhost. Если вам нужно разрешитьрегистрацию из любого узла сети, используйте знак процента, однако это несовсем корректно с точки зрения безопасности. Пользователь admin обладаетвсеми возможными привилегиями.
Пароль пользователя — 4td561sl2.Для создания обыкновенного пользователя используйте следующий запрос:INSERTINTOuser(Host,User,Password,Select_priv,Insert_priv,Update jpriv,Delete_priv)VALUES Г % ' , ' u s e r ' , p a s s w o r d ( Л 1 2 3 4 5 6 ' ) , ' Y ' , ' Y ' , ' Y ' , ' Y ' ) ;76.2. Клиентская частьУдобной программой для просмотра структуры базы данных являетсяmysqlshow. Введите следующую команду:mysqlshow -p mysqlВ ответ вы увидите список таблиц, которые находятся в базе данных mysql.Database: mysqlI Tables I+—+I dbII hostIuser367Установка MySQLПрограмма mysqlshow может вызываться с дополнительными параметрами, указанными в табл.