Денис Колисниченко - Linux: Полное руководство
- Название:Linux: Полное руководство
- Автор:
- Жанр:
- Издательство:Наука и Техника
- Год:2006
- Город:Санкт-Петербург
- ISBN:5-94387-139-Х
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Денис Колисниченко - Linux: Полное руководство краткое содержание
Данная книга представляет собой великолепное руководство по Linux, позволяющее получить наиболее полное представление об этой операционной системе. Книга состоит из трех частей, каждая из которых раскрывает один из трех основных аспектов работы с Linux: Linux для пользователя, сетевые технологии Linux (и методика настройки Linux-сервера), программирование Linux. В книге охвачен очень широкий круг вопросов, начиная с установки и использования Linux «в обычной жизни» (офисные пакеты, игры, видео, Интернет), и заканчивая описанием внутренних процессов Linux, секретами и трюками настройки, особенностями программирования под Linux, созданием сетевых приложений, оптимизацией ядра и др.
Изложение материала ведется в основном на базе дистрибутивов Fedora Cora (Red Hat) и Mandriva (Mandrake). Однако не оставлены без внимания и другие дистрибутивы SuSe, Slackware, Gentoo, Alt Linux, Knоppix. Дается их сравнительное описание, a по ходу изложения всего материала указываются их особенности.
Книга написана известными специалистами и консультантами по использованию Linux, авторами многих статей и книг по Linux, заслуживших свое признание в самых широких Linux-кругах. Если вы желаете разобраться в особенностях Linux и познать ее внутренний мир, эта книга — ваш лучший выбор.
Linux: Полное руководство - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
# service httpd restart
Загрузите модуль ядра khttpd:
# insmod khttpd
Укажите серверу kHTTPd, что запросы клиентов нужно обрабатывать через порт 80, а те запросы, с которыми он не может справиться, передавать Apache:
# echo 80 > /proc/sys/net/khttpd/serverport
# echo 8080 > /proc/sys/net/clientport
Какие запросы не может обработать kHTTPd? Ему «не по зубам» запросы, предполагающие запуск сценария. Все такие запросы будут перенаправлены Apache. Поэтому, если ваш веб-сервер предполагает в основном запуск CGI-сценариев (в том числе и PHP-сценариев), использовать kHTTPdнецелесообразно. Вместо повышения производительности вы добьетесь обратного.
Сообщите серверу kHTTPd, где нужно искать веб-страницы (в том же каталоге, который указан в директиве DocumentRootсервера Apache):
# echo /var/www/html > /proc/sys/net/khttpd/documentroot
Если на вашем сервере установлен PHP, укажите каталог, в котором хранятся PHP-сценарии:
# echo /var/www/html/scripts > /proc/sys/net/khttpd/dynamic
Для запуска kHTTPdвведите следующую команду:
# echo 1 > /proc/sys/net/khttpd/start
Всю эту работу можно автоматизировать, написав сценарий khttpd-start (листинг 16.16):
Листинг 12.16. Сценарий автоматического запуска kHTTPd
#!/bin/bash
# Загружаем модуль kHTTPd insmod khttpd
# Указываем порт kHTTPd
echo 80 > /proc/sys/net/khttpd/serverport
# Указываем порт Apache
echo 8080 > /proc/sys/net/clientport
# Корневой каталог веб-сервера и каталог
# для хранения сценариев
echo /var/www/html > /proc/sys/net/khttpd/documentroot
echo /var/www/html/scripts > /proc/sys/net/khttpd/dynamic
# Запускаем kHTTPd
echo 1 > /proc/sys/net/khttpd/start
Так как kHTTPd— это процесс уровня ядра, к тому же экспериментальный, его использование может отрицательно повлиять на надежность работы системы. Помните, что сервер kHTTPdне может обеспечить такой же уровень надежности, как Apache. kHTTPdследует применять только в том случае, если Apacheне справляется с нагрузкой и на веб-сервере не часто запускаются CGI-сценарии.
Глава 17
Установка и настройка MySQL. Связка Apache + PHP + MySQL
Ни один серьезный интернет-проект нельзя построить без использования баз данных. Большинство провайдеров предоставляет хостинг вместе с одним из серверов баз данных. Самым популярным из таких серверов считается MySQL, получивший широкое распространение благодаря своей простоте. Здесь я не буду ни рассматривать технические характеристики MySQL, ни сравнивать его с другими серверами баз данных (InterBase Server, IBM DB/2, Oracle) — достаточно сказать, что InterBase Server или Oracle более масштабируемы и поэтому лучше подходят для организации распределенной системы обработки информации, но для обычного интернет-проекта MySQLподходит практически идеально. В этой главе я опишу его установку, настройку и использование.
17.1. Установка MySQL
Прежде всего нужно установить пакеты, необходимые для работы MySQL. У меня MySQL версии 4.0.15, поэтому я установил такие пакеты (номера версий у вас, возможно, будут другими, и я их обозначил символами «x»):
♦ MySQL_GPL-4.x.x
♦ MySQL_GPL-client-4.x.x
♦ MySQL_GPL-shared-libs-4.x
♦ MySQL_GPL-bench-4.x.x
♦ MySQL_GPL-resolveip-4.x.x
После установки пакетов нужно создать системную базу данных mysql, содержащую таблицы db, hostи user. Скорее всего, она уже создана, но, чтобы окончательно убедиться в этом, введите команду:
# mysql_install_db
17.1.1. Назначение пароля суперпользователя
Учетные записи и пароли всех пользователей, которые имеют право работать с сервером, содержатся в таблице user. Сразу же после создания базы mysqlв эту таблицу внесен только один пользователь — root. По умолчанию он не имеет пароля. Этот пароль нужно установить немедленно: не нужно объяснять, как это важно для безопасности системы. Для изменения пароля запустите сервер командой:
# safe_mysqld &
Эта команда запустит сервер в режиме демона и освободит консоль. Если все пакеты были установлены правильно, вы увидите сообщение:
mysql: ready for connections
Затем введите команду:
$ mysql -u root mysql
Эта команда запускает клиент MySQL (MySQL-монитор) и соединяется с сервером от имени пользователя root, даже если вы работаете под другой учетной записью. Последний аргумент указывает базу данных, которую требуется открыть.
SQL-запросы можно набирать в строке приглашения MySQL-монитора, заканчивая ввод точкой с запятой или командой \g (go), а можно редактировать в текстовом редакторе, введя команду \е (edit). Список команд MySQL-монитора можно получить по команде \h (help).
Измените пароль суперпользователя с помощью следующего запроса:
UPDATE user SET Password=PASSWORD('новый_пароль') WHERE
user='root';
Как вы заметили, это обычный SQL-запрос, обновляющий поле Password таблицы userдля пользователя root. При вводе запроса обратите внимание на регистр названий полей: сервер MySQL различает прописные и строчные буквы!
Теперь нужно, чтобы MySQL принял изменения. Для этого выполните еще один запрос SQL:
FLUSH PRIVILEGES;
Завершите сеанс работы с MySQL-монитором, введя команду \q (quit). В следующий раз зарегистрироваться на сервере без пароля вы уже не сможете. Теперь нужно запускать MySQL-монитор следующей командой:
$ mysql -u root -p mysql
Ключ -p запросит при регистрации пароль. Имейте в виду: забытый пароль нельзя восстановить. Единственный выход из этого положения — удалить каталог
/var/lib/mysql/mysql
и создать базу mysqlзаново командой mysql_install_db.
Для принятия изменений можно также использовать программу mysqladminс аргументом reload. Вызвать программу можно так:
$ mysqladmin -p reload
Параметр -p вам обязательно нужно использовать, так как вы только что установили пароль для пользователя root.
Установите права доступа к сценарию
/etc/rc.d/init.d/mysqld
:
# chmod +x /etc/rc.d/init.d/mysqld
Теперь можете перезапустить сервер командой
# /etc/rc.d/init.d/mysqld restart
17.1.2. Автозапуск сервера MySQL
Последнее, что вам осталось сделать — это добавить сервер MySQL в автозапуск. С этой целью перейдите в каталог
/etc/rc.d/rc3.d
и создайте символическую ссылку на файл /etc/rc.d/init.d/mysql
:
# ln -s S14mysql /etc/rc.d/init.d/mysql
Префикс S14 определяет очередность запуска сервера mysqld. В данном случае он запустится после сервисов network (S10) и portmap (S11). У вас эти значения могут быть другими.
Интервал:
Закладка: