Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых
Практика применения 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