|
Практика применения Perl, PHP, Apache, MySQL для активных Web-сайтов Оглавление
Книга посвящена созданию активных Web-приложений, предназначенных для
работы на платформе операционных систем Linux и Microsoft Windows.
Читатель научится создавать как относительно простые Web-узлы для
небольших компаний, так и сложные приложения, интегрированные с базами
данных и почтовыми серверами. Здесь описаны стенд разработки
Web-приложений, особенности установки и настройки Linux, а также
популярного Web-сервера Apache, рассмотрены процесс создания программ CGI
на языке Perl и сценариев PHP, методики интеграции этих приложений с СУБД
MySQL. В основу книги положен опыт, полученный авторами при разработке
различных Интернет-проектов, в том числа узла Web службы восстановления
данных, узла виртуального кадрового агентства Трудоголик.Ру, созданного
специально для этой книги и других проектов. Книга адресована тем, кто
уже умеет создавать документы HTML и в целом знаком с принципами работы
серверов Web, а также тем, кто желает быстро освоить профессиональные
приемы создания активных Web-узлов на платформе Linux и Microsoft Windows.
Кроме того, она полезна всем, кому интересно практическое применение
современных Интернет-технологий.
Понравился сайт? Угостите автора кофе! ❤
|
Авторы: |
А.В. Фролов,
Г.В. Фролов |
Страниц: |
534 |
ISBN: |
5-7502-0206-2 |
Дата выхода: |
2002
г. |
-
Введение . XV
-
Как появилась ОС Linux . XV
-
Основные дистрибутивы Linux . XVI
-
Преимущества и недостатки Linux XIX
-
О бесплатности Linux . XIX
-
Сопровождение Linux XX
-
Предварительная установка Linux на новые компьютеры . XXI
-
Приложения для Linux . .XXII
-
Linux и настольные персональные компьютеры . .XXII
-
Открытость Linux . . XXIV
-
Linux как платформа для приложений Интернета .XXV
-
Сетевые средства Linux . .XXV
-
Web_серверы XXVII
-
CERN HTTPD . XXVII
-
NCSA HTTPd XXVII
-
Apache XXVIII
-
Web_сервер THTTPD . XXIX
-
FTP_серверы . XXIX
-
Серверы электронной почты . . .XXX
-
Базы данных . .XXX
-
Инструментальные средства и кросс_разработка
-
Web_приложений . XXXII
-
На кого ориентирована эта книга . XXXV
-
Проекты, на базе которых создана эта книга . XXXV
-
Узел Web службы восстановления данных
-
DataRecovery.Ru XXXV
-
Виртуальное кадровое агентство Трудоголик.Ру XXXVII
-
Узел Web симпозиума "Сердечно_сосудистая
-
и интервенционная радиология" XXXVIII
-
Содержание книги . XXXIX
-
Благодарности . . .XL
-
Об авторах .XL
-
Глава 1 Стенд для создания Web-приложений . 1
-
Простейший стенд . .2
-
Аппаратные средства . .3
-
Центральный процессор . .3
-
Оперативная память .4
-
Жесткий диск . .4
-
Сканер и цифровой фотоаппарат . . .4
-
Принтер .5
-
Модем . . .6
-
Выделенная линия . . .6
-
Спутниковый Интернет . .8
-
Устройство бесперебойного питания . .9
-
Заземление компьютерного оборудования . .9
-
Программные средства . . 10
-
Выбор операционной системы 10
-
Выбор инструментальных средств разработки
-
Web_приложений 10
-
Подготовка исходных текстовых и графических материалов 11
-
Подготовка страниц HTML 12
-
Создание программных расширений сервера Web . 12
-
Подготовка Web_приложений для Linux в среде Microsoft
-
Windows . 13
-
Стенд из двух компьютеров . 14
-
Аппаратные средства 15
-
Локальная сеть Web_студии . . 15
-
Подключение к Интернету . 16
-
Программные средства . . 16
-
Стенд для разработки сложных Web_приложений . 17
-
Рабочая станция Web_дизайнера . 18
-
Рабочая станция Web_программиста . 19
-
Сервер разработки Web_приложений . . 19
-
Сервер отладки Web_приложений . 20
-
Сервер макетов Web_приложений . 20
-
Подключение к Интернету 20
-
Защита от вирусов и атак хакеров . 21
-
Установка антивирусных программ 21
-
Установка брандмауэра . . 22
-
Глава 2 Установка RedHat Linux . 25
-
Подготовка к установке . 25
-
Определение числа операционных систем на сервере . 25
-
Одновариантная загрузка 26
-
Многовариантная загрузка . 26
-
Размещение операционных систем на дисках . 26
-
Выделение диска для установки Linux 27
-
Установка нескольких ОС на одном диске 28
-
Определение конфигурации аппаратных средств . 30
-
Предварительная установка Microsoft Windows . 31
-
Мастер установки RedHat Linux . . 32
-
Запуск мастера установки . 32
-
Выбор типа установки . 33
-
Создание разделов диска 34
-
Установка программы управления загрузкой LILO . 36
-
Настройка параметров TCP/IP 37
-
Настройка брандмауэра . 38
-
Выбор временной зоны . . 39
-
Выбор национального языка . 39
-
Создание учетных записей . 40
-
Конфигурирование системы аутентификации пользователей . 41
-
Выбор устанавливаемых компонентов ОС . 42
-
Конфигурирование графического интерфейса 43
-
Копирование дистрибутивных файлов . 43
-
Создание загрузочной дискеты . . 43
-
Завершение установки . . 44
-
Настройка менеджера загрузки Microsoft Windows 45
-
Файл boot.ini . . 45
-
Добавление ОС Linux в список загрузки . 45
-
Копирование содержимого первого сектора корневого раздела
-
Linux . 46
-
Копирование средствами Microsoft Windows 46
-
Копирование средствами Linux . 50
-
Удаленное администрирование Linux . 51
-
Глава 3 Установка и настройка Web-сервера Apache . 55
-
Краткая история создания Web_сервера Apache . 55
-
Установка Web_сервера Apache . . 57
-
Конфигурационные файлы Apache . . 61
-
Расположение и состав конфигурационных файлов 62
-
Каталоги документов и программ Web_сервера Apache . 65
-
Каталоги Apache в RedHat Linux . 66
-
Каталоги Apache в Microsoft Windows 66
-
Проверка работоспособности Web_сервера 67
-
Управление Web_сервером Apache 68
-
Запуск сервера Apache . 68
-
Останов сервера Apache . 69
-
Перезапуск сервера Apache . . 69
-
Просмотр журналов . 70
-
Журнал ошибок error.log . 70
-
Журнал доступа к Web_серверу access.log . 71
-
Редактирование конфигурационных файлов . 72
-
Настройка основных параметров сервера Apache . . 74
-
Доменное имя Web_узла . 74
-
Адрес IP Web_узла . . 75
-
Номер порта TCP/IP 75
-
Расположение каталогов с документами HTML 76
-
Расположение каталогов с программами CGI 77
-
Создание виртуальных Web_узлов 79
-
Использование одного IP для виртуальных Web_узлов . 80
-
Исходные данные для примера . 80
-
Создание зон DNS для доменов виртуальных Web_узлов 80
-
Настройка файла httpd.conf 81
-
Адрес IP виртуального Web_узла 82
-
Доменное имя виртуального Web_узла 82
-
Расположение каталога документов HTML 82
-
Адрес E_Mail администратора виртуального
-
Web_узла . 83
-
Отдельные файлы журналов 83
-
Имя главного документа HTML . 83
-
Виртуальный каталог программ CGI 84
-
Конфигурирование главного Web_узла . 84
-
Использование разных IP для виртуальных Web_узлов . 88
-
Исходные данные для примера . 89
-
Создание зон DNS для доменов виртуальных Web_узлов 89
-
Настройка файла httpd.conf 89
-
Комбинированный способ . 91
-
Исходные данные для примера . 91
-
Создание зон DNS для доменов виртуальных Web_узлов 92
-
Настройка файла httpd.conf 92
-
Использование разных портов IP 93
-
Доменные псевдонимы 95
-
Управление доступом к страницам Web_узла . . 96
-
Команда <Directory> . . 96
-
Команда <File> . 97
-
Команда <Location> . . 97
-
Ограничение доступа посетителей Web_узла к каталогу 98
-
Ограничение доступа к каталогам программ CGI . 99
-
Файлы .htaccess 100
-
Обработка файлов .htaccess . 101
-
Аргументы команды AllowOverride 102
-
Парольный доступ к страницам Web_узла . 103
-
Базовая аутентификация 104
-
Создание файла идентификаторов и паролей . 104
-
Проверка имени файла управления доступом . 105
-
Подключение файла управления доступом . 105
-
Подготовка файла управления доступом . 106
-
Аутентификация типа Digest 107
-
Подключение модуля mod_auth_digest 107
-
Создание файла идентификаторов и паролей . 107
-
Подключение файла управления доступом . 108
-
Подготовка файла управления доступом . 108
-
Дополнительные возможности сервера Apache . 108
-
Просмотр содержимого каталогов Web_узла 108
-
Автоматический выбор национального языка для документов . 113
-
Согласование содержимого по именам документов . 115
-
Использование команд AddLanguage и AddCharset 116
-
Настройка браузера посетителя . 118
-
Использование программы Apache Configuration . 120
-
Преимущества и недостатки Apache Configuration . 120
-
Создание виртуального Web_узла при помощи
-
Apache Configuration . 120
-
Глава 4 Краткое введение в CGI 127
-
Пассивные и активные Web_серверы . 127
-
Статические страницы . 128
-
Динамические страницы . 129
-
Технологии создания Web_приложений . 130
-
Программы CGI . . 131
-
Приложения ISAPI . 133
-
Расширения ISAPI . 133
-
Фильтры ISAPI . . 134
-
Приложения ASP . 134
-
Приложения PHP . 135
-
Подготовка форм HTML . . 135
-
Пример простейшей формы 136
-
Параметры тега <FORM> 137
-
Элементы управления формы . . 139
-
Тег <INPUT> . 139
-
Тег <TEXTAREA> . . 141
-
Тег <SELECT> . 142
-
Пример документа HTML с формой 142
-
Указание параметров тега <FORM> . 144
-
Однострочное поле ввода . 145
-
Поле ввода пароля . . 145
-
Поле ввода многострочного текста . 145
-
Флажки с независимой фиксацией 145
-
Флажки с зависимой фиксацией . . 146
-
Списки текстовых строк 146
-
Скрытый элемент управления . 146
-
Кнопки типа SUBMIT и RESET . 147
-
Передача данных программе CGI . . 147
-
Метод GET . 147
-
Метод POST 148
-
Выбор между GET и POST 149
-
Передача ответа из программы CGI . 149
-
Переменные среды для программы CGI . 150
-
Глава 5 Создание программ CGI на языке Perl . . 155
-
Установка интерпретатора Perl . 156
-
Установка в RedHat Linux . . 156
-
Установка в Microsoft Windows . 157
-
Установка дополнительных модулей Perl . 162
-
Загрузка дистрибутива с Web_узла CPAN 163
-
Утилита PPM для Microsoft Windows 164
-
Утилита CPAN для Linux 165
-
Настройка конфигурации Apache . 166
-
Создание виртуального каталога программ CGI 167
-
Определение виртуального каталога программ CGI . 168
-
Права доступа к каталогу программ CGI . . 168
-
Права доступа к файлам программ CGI . 169
-
Создание простейшей программы CGI . 170
-
Параметры виртуального Web_узла . 170
-
Документ HTML со ссылкой на программу CGI . 171
-
Исходный текст программы CGI . . 172
-
Просмотр переменных окружения . 173
-
Обработка формы . 177
-
Извлечение содержимого текстовых полей формы 181
-
Обработка флажков с независимой фиксацией 181
-
Обработка флажков с зависимой фиксацией 182
-
Обработка списка . . 182
-
Обработка данных от графической кнопки 183
-
Программа AREF 184
-
Применение шаблонов HTML . 186
-
Шаблоны переменных 187
-
Циклические шаблоны . 190
-
Условные шаблоны . 193
-
Работа с Cookie в программах CGI . 196
-
Заголовок HTTP для создания Cookie 198
-
Запись Cookie программой CGI . 200
-
Получение значения Cookie . . 200
-
Изменение значения параметра Cookie 201
-
Удаление Cookie . 201
-
Ограничения на использование Cookie 201
-
Обмен данными с сервером электронной почты 202
-
Протокол SMTP . 203
-
Протокол POP3 . . 206
-
Протокол IMAP . . 209
-
Внутренняя структура электронного сообщения 210
-
Заголовок сообщения . 211
-
Тело сообщения . 213
-
Наборы символов и кодировка сообщения . 214
-
Присоединенный файл 216
-
Отправка данных из формы по электронной почте 218
-
Исходный текст программы urgent_mail.pl 219
-
Функция win2koi . 220
-
Функция send_mail . 221
-
Обработка формы HTML . 222
-
Получение электронной почты . 224
-
Использование модуля Net::POP3 . 225
-
Использование модуля Mail::POP3Client 230
-
Глава 6 Знакомство с СУБД MySQL . 235
-
Ограничения MySQL . . 236
-
Установка и администрирование MySQL . 237
-
Установка в среде Linux 237
-
Установка в среде Microsoft Windows . 239
-
Запуск MySQL . 242
-
Управление работой MySQL . . 244
-
Базовая настройка учетных записей MySQL 245
-
Назначение пароля для пользователя
-
с идентификатором root . 245
-
Создание новых учетных записей 246
-
Управление правами пользователей . 246
-
Удаление учетных записей пользователей . 247
-
Создание баз данных и таблиц . 247
-
Создание базы данных . . 248
-
Удаление базы данных . . 248
-
Создание таблицы . . 248
-
Удаление таблицы . . 248
-
Программа MySQL_Front . . 249
-
Запуск программы и подключение к базе данных 249
-
Создание базы данных . . 251
-
Удаление базы данных . . 251
-
Создание таблицы . . 251
-
Удаление таблицы . . 252
-
Просмотр и изменение содержимого таблицы . 252
-
Сохранение описания и содержимого таблицы 253
-
Импорт текстовых данных в таблицу . 255
-
Глава 7 Базы данных и Perl 257
-
Знакомство с интерфейсом DBI . . 257
-
Драйвер DBD 258
-
Модуль DBI . 259
-
Использование DBI . 259
-
Открытие соединения с базой данных . 260
-
Указание драйвера базы данных и источника данных . 261
-
Задание идентификатора пользователя и пароля . 262
-
Выбор способа обработки ошибок . 262
-
Дескриптор соединения . 263
-
Выдача команд . 263
-
Простые команды . 263
-
Предварительная подготовка команд 264
-
Выполнение заранее подготовленных команд 264
-
Привязка параметров . 265
-
Команда SELECT . 266
-
Обработка ошибок DBI в Web_приложениях 267
-
Режимы обработки ошибок . 267
-
X Практика применения PERL, PHP, APACHE и MySQL для активных Web-сайтов
-
Определение причины ошибки 268
-
Закрытие соединения 268
-
Пакет Trudogolik . . 269
-
Структура пакета . . 269
-
Глобальные переменные . . 270
-
Функции для работы с DBI . 271
-
DB_OPEN 271
-
DB_CLOSE . 272
-
DB_SQL_DO . 272
-
DB_SQL_PREPARE 273
-
DB_SQL_BIND . 273
-
DB_SQL_EXECUTE . 274
-
DB_SQL_FETCHROW_ARRAY 274
-
DB_ERROR . . 274
-
Пример вызова функций . 275
-
Удаление всех записей из таблицы . 276
-
Обработка исходного файла списка участников 276
-
Цикл обработки записей 277
-
Вывод содержимого таблицы для контроля 278
-
Обработка ошибок . . 279
-
Использование модуля Win32::ODBC . . 279
-
Открытие соединения с базой данных . 280
-
Выдача команды SQL 280
-
Получение результата выполнения команды SELECT . 281
-
Закрытие соединения с базой данных . 281
-
Глава 8 Кадровое агентство Трудоголик.Ру . 283
-
База данных кадрового агентства . 285
-
Таблица зарегистрированных клиентов . 286
-
Таблица администраторов агентства . . 287
-
Таблица названий городов . . 287
-
Образование . 288
-
График работы . 288
-
Список профессий . 289
-
Разделы каталога профессий . 289
-
Резюме 290
-
Вакансии . . 291
-
Узел www.trudogolik.ru 293
-
Регистрация посетителей . 294
-
Выбор идентификатора и пароля . . 294
-
Интерфейс регистрации в агентстве Трудоголик.Ру 295
-
Программная реализация . 297
-
Добавление вакансии . 306
-
Пользовательский интерфейс . 306
-
Программная реализация . 309
-
Программа формирования формы ввода сведений
-
о вакансии . 309
-
Шаблон формы сведений о вакансии . 312
-
Программа обработки данных формы 317
-
Добавление резюме . . 323
-
Пользовательский интерфейс . 323
-
Программная реализация . 324
-
Поиск вакансий 326
-
Пользовательский интерфейс . 326
-
Программная реализация . 329
-
Отображение формы поиска . 329
-
Шаблон формы поиска . 331
-
Получение результатов запроса 334
-
Шаблон страницы результатов поиска 340
-
Поиск резюме . . 342
-
Администрирование Web_узла кадрового агентства . 344
-
Защита от несанкционированного доступа 344
-
Пользовательский интерфейс . 344
-
Программная реализация . 346
-
Хранение идентификатора подключения в Cookie 347
-
Первая проверка идентификатора и пароля . 349
-
Создание записи по умолчанию 349
-
Последующие проверки идентификатора и пароля . 351
-
Редактирование словарей 352
-
Пользовательский интерфейс . 352
-
Программная реализация . 355
-
Программа просмотра и редактирования списка
-
городов 355
-
Шаблон страницы списка городов 359
-
Редактирование списка администраторов . 362
-
Пользовательский интерфейс . 362
-
Программная реализация . 363
-
Добавление, поиск и удаление вакансий . . 367
-
Работа с резюме 371
-
Обработка ошибок . 372
-
Глава 9 Web-узел для проведения симпозиума . 375
-
База данных Web_узла симпозиума 376
-
Пожелания и предложения посетителей 376
-
Предложения о сотрудничестве . 377
-
Участники симпозиума . 378
-
Запись на госпитализацию . 378
-
Доклады и докладчики . 379
-
Разделы Web_узла симпозиума . 379
-
Бланк направления на госпитализацию . 382
-
Фреймы бланка . 383
-
Сценарий печати бланка 384
-
Страница пожеланий и предложений . 385
-
Форма отправки сообщения . 385
-
Программа comment.pl . . 387
-
Поиск участников симпозиума . 388
-
Форма поиска участников . 390
-
Программа заполнения формы поиска . 391
-
Программа выполнения поиска 392
-
Шаблон страницы с результатами поиска 395
-
Поиск докладов 396
-
Форма поиска докладов . 398
-
Программа поиска докладов . 399
-
Администрирование Web_узла симпозиума . . 400
-
Загрузка списка участников симпозиума . . 400
-
Форма для загрузки файла . . 404
-
Программа загрузки файла списка участников
-
симпозиума . 404
-
Программа сохранения списка участников в базе данных . 406
-
Загрузка списка докладов . . 409
-
Загрузка файлов ангиограмм и других файлов . 413
-
Просмотр сообщений от посетителей Web_узла симпозиума . 417
-
Глава 10 Применение сценариев PHP . 421
-
Как работают сценарии PHP . 424
-
Установка интерпретатора PHP . . 425
-
Установка в среде Linux 425
-
Изменение параметров установки . 425
-
Проверка установки в среде Linux . 426
-
Установка в среде Microsoft Windows . 427
-
Настройка Apache для работы с PHP 428
-
Настройка Microsoft IIS для работы с PHP 428
-
Проверка установки в среде Microsoft Windows 431
-
Просмотр переменных окружения . 432
-
Обработка форм . 434
-
Способы получения содержимого полей формы . 434
-
Использование массива $HTTP_POST_VARS[] . 434
-
Использование глобальных переменных . 435
-
Сценарий для обработки формы . . 436
-
Однострочное текстовое поле . 437
-
Многострочное текстовое поле . 438
-
Флажки с независимой фиксацией . 439
-
Флажки с зависимой фиксацией . . 440
-
Обработка списка . . 441
-
Обработка данных от графической кнопки 441
-
Программа AREFPHP . 442
-
Работа с Cookie в сценариях PHP 444
-
Заголовок HTTP для создания Cookie 444
-
Оглавление XIII
-
Запись Cookie . . 445
-
Получение значения Cookie . . 446
-
Изменение значения параметра Cookie 446
-
Удаление Cookie . 446
-
Пример использования Cookie 446
-
Определение текущего цвета фона . 449
-
Установка нового цвета фона 449
-
Установка цвета фона по умолчанию 450
-
Обмен данными с сервером электронной почты 451
-
Настройка интерпретатора PHP для работы
-
с электронной почтой . . 451
-
Настройка для Linux 451
-
Настройка для Microsoft Windows . 452
-
Отправка почты с помощью функции mail 452
-
Шаблоны HTML в сценариях PHP . . 455
-
Состав дистрибутива класса Template . 455
-
Три типа шаблонов . 457
-
Простые шаблоны 457
-
Циклические шаблоны 457
-
Условные шаблоны . 458
-
Пример использования простого шаблона 458
-
Исходный текст файла шаблонов . . 458
-
Сценарий PHP для заполнения шаблона 459
-
Пример использования циклического шаблона 462
-
Исходный текст файла шаблонов . . 462
-
Сценарий PHP для заполнения шаблона 463
-
Глава 11 Базы данных и PHP . 465
-
Основные операции с базами данных . . 465
-
Установка соединения с сервером СУБД . . 465
-
Обычное соединение 466
-
Постоянное соединение . 467
-
Выбор текущей базы данных . 467
-
Выдача команд SQL . . 468
-
Обработка результатов выполнения команды SQL 469
-
Команды изменения таблиц базы данных 469
-
Команда SELECT . 469
-
Просмотр содержимого таблицы в сценарии PHP . 470
-
Обработка ошибок . . 473
-
Применение шаблонов HTML . 474
-
Обычная техника использования шаблонов . 474
-
Файл шаблона . . 474
-
Файл сценария PHP . . 476
-
Специальные методы класса Template . 479
-
Файл шаблона . . 479
-
Файл сценария PHP . . 479
-
Редактирование и просмотр дерева . 481
-
Экспертное дерево решений . . 481
-
Структуры данных . 483
-
Приложение для редактирования дерева . . 485
-
Сценарии PHP редактирования дерева 486
-
Просмотр узла . . 490
-
Редактирование заголовка и текста узла . 491
-
Создание дочернего узла 492
-
Удаление узла . 493
-
Приложение для просмотра дерева . 494
-
Сценарий для просмотра дерева . 494
-
Просмотр дочернего узла 497
-
Просмотр родительского узла . 497
-
Приложение Как выбрать провайдера для размещения Web-сайта . 499
-
Хостинг или размещение компьютера на площадке провайдера? 499
-
Виртуальный Web_сервер на компьютере провайдера . 500
-
Размещение компьютера в локальной сети провайдера 501
-
Выбор провайдера для размещения виртуального сайта 502
-
Пропускная способность каналов передачи данных
-
провайдера . 502
-
Предоставление собственного доменного имени . 505
-
Предоставление почтовых ящиков 506
-
Ограничения на объем файлов виртуального Web_сайта . 506
-
Ограничения на использование активных
-
компонентов и баз данных . . 506
-
Способы обновления файлов сайта . 507
-
Выбор провайдера для размещения компьютера
-
в локальной сети . . 507
-
Общая стоимость размещения сервера 507
-
Плата за установку сервера . 508
-
Электропитание сервера 508
-
Аренда места для размещения сервера в помещении
-
провайдера . 508
-
Подключение к Интернету . 509
-
Оплата входящего и исходящего трафика . 510
-
Использование дополнительных адресов IP . 511
-
Аренда дополнительного оборудования . 511
-
Выполнение работ на площадке провайдера . 511
-
Дополнительные услуги провайдера . . 512
-
Прочие факторы . 513
-
Предметный указатель . . 515
-
Библиографический список . . 525
|