Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows

Установка и настройка локального web–сервера и его компонентов. Конфигурационные файлы сервера Apache и их натройка. Настройка PHP, MySQL и Sendmail. Проверка работоспособности виртуальных серверов. Создание виртуальных хостов. Тест Server Side Includes.

Рубрика Программирование, компьютеры и кибернетика
Вид учебное пособие
Язык русский
Дата добавления 27.04.2009
Размер файла 6,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

РОССИЙСКИЙ ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

им. Д.И. Менделеева

НОВОМОСКОВСКИЙ ИНСТИТУТ

Установка и настройка локального web сервера Apache, PHP, MySQL под операционную систему Windows

УЧЕБНОЕ ПОСОБИЕ

Новомосковск 2008

План

ВВЕДЕНИЕ

  • 1. УСТАНОВКА ЛОКАЛЬНОГО WEB-СЕРВЕРА И ЕГО КОМПОНЕНТОВ
    • 1.1. Структура каталогов
    • 1.2. Установка Apache
    • 1.3. Установка PHP
    • 1.4. Установка MySQL
    • 1.5. Установка SendMail
    • 1.6. Установка SMTP сервера
  • 2. НАСТРОЙКА WEB-СЕРВЕРА И ЕГО КОМПОНЕНТОВ
    • 2.1. Конфигурационные файлы сервера Apache
    • 2.2. Конфигурационный файл httpd.conf и его директивы
    • 2.3. Настройка файла конфигурации Apache
    • 2.4. Создание виртуальных хостов
    • 2.5. Настройка PHP
    • 2.6. Настройка MySQL
    • 2.6. Настройка Sendmail
  • 3. ТЕСТИРОВАНИЕ СЕРВЕРА
    • 3.1. Проверка работоспособности виртуальных серверов
    • 3.2. Тест SSI (Server Side Includes)
    • 3.3. Тест PHP
    • 3.4. Тест MySQL
  • ЗАКЛЮЧЕНИЕ или С ЧЕГО НАЧАТЬ ?
  • ЛИТЕРАТУРА

ВВЕДЕНИЕ

Работающий Web-сервер и СУБД требуются при создании Интернет проектов с использованием современных технологий. Наилучший вариант -- это установка локального Web-сервера на тот же ПК, где создается Интернет проект. Этот ПК всегда доступен по IP-адресу 127.0.0.1, что эквивалентно доменному имени localhost. Поэтому для доступа к Web-серверу через браузер можно использовать адрес http://localhost. При использовании локального сервера все изменения в файлах доступны через браузер сразу же. Когда все скрипты будут отлажены, можно зайти в Интернет и скопировать их на сервер хостинг-провайдера.

Язык программирования РНР, специально предназначенный для работы в Интернет, изначально создавался под Unix-подобные операционные системы -- Linux, FreeBSD, и т.п. Под Windows существует свой аналог РНР, который называется ASP (Active Server Pages). Он полностью ориентирован на Windows и позволяет учитывать и использовать все особенности этой операционной системы. При этом в качестве HTTP-сервера рекомендуют использовать IIS (Internet Information Server) -- продукт компании Microsoft.

Желательно, чтобы на сервере и на компьютере, на котором создаются и тестируются РНР - сценарии, стояли одинаковые операционные системы. Бывает так, что РНР -программа отлично работает на Windows-компьютере, но отказывается работать или работает некорректно под Linux. Профессиональное использование РНР ориентировано на Linux (Unix). Существуют детали и возможности, которые нельзя учесть в силу разности ОС Windows и ОС Linux (Unix).

Можно ли разрабатывать и отлаживать скрипты в Windows, а потом без изменений переносить их в Unix? К счастью, ответ на этот вопрос, чаще всего, -- да. Для этого используют локальный Web-сервер Apache для Windows, а также устанавливают РНР и MySQL, способные работать в этой ОС.

Почему именно Apache? Потому что это самый распространенный сервер. Он установлен у большинства хостинг-провайдеров. Существует его Windows-версия, практически идентичная по функциональности своему Unix-собрату.

Рекомендуется устанавливать самую последнюю версию Apache. Ссылка на каталог, в котором расположены последние версии Apache: http://www.apache.org/dist/httpd/binaries/win32/. Нужен ЕХЕ-файл, имя которого содержит подстроку no_src, т. е. "без исходных кодов".

Установка сервера Apache и сопутствующих программ вручную - утомительное занятие. Приходится разбираться с многочисленными параметрами конфигурации Apache, PHP и MySQL.

Существуют готовые комплексы, не нуждающиеся в настройке. Наиболее популярным из таких комплексов является Денвер - это "Джентльменский набор Web-разработчика". Денвер -- это те же самые дистрибутивы Apache, PHP, MySQL. Они объединены в единый архив и снабжены удобным инсталлятором и утилитами настройки (включая средства автоматического конфигурирования виртуальных хостов).

Денвер создавался для того, чтобы упростить настройку и установку свободно распространяемых программ (Apache, PHP, MySQL и т. д.). Он имеет модульную структуру. Его ядро -- так называемый "базовый пакет". Все остальные компоненты поставляются в виде автономных пакетов расширений, для работы которых нужен базовый пакет.

Базовый пакет содержит большинство необходимых Web-программисту программ и утилит:

? Apache с поддержкой SSI, mod_rewrite, mod_php.

? PHP с поддержкой GD и MySQL.

? MySQL с поддержкой транзакций (mysql-max).

? phpMyAdmin -- система управления MySQL через Web-интерфейс; полностью заменяет командную строку MySQL.

? Ядро Perl без стандартных библиотек (они поставляются отдельно).

? Эмулятор sendmail (отладочная "заглушка", помещающая приходящие письма в каталог /tmp); поддерживается работа совместно с РНР и Perl.

? Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить каталог в /home, править конфигурационные файлы не требуется.

? Система настройки и управления запуском/завершением.

?. Инсталлятор.

Дистрибутив, содержащий все перечисленные выше компоненты, занимает около 2 Мбайт.

На сайте http://web.dklab.ru доступно множество пакетов расширений для Денвера, содержащих:

? Документацию ко всем программам, входящим в комплекс.

? Полную версию Perl со стандартными библиотеками.

? Полную версию PHP 3 и PHP 4, а также модули для РНР 5.

? Модули Apache, не вошедшие в базовый пакет Денвера.

? Разнообразные "облегченные" и "специализированные" версии базового пакета -- в частности, дистрибутив, помещающийся на одну дискету, и базовый пакет с поддержкой РНР 4, а не РНР 5 по умолчанию.

По адресу http://forum.dklab.ru/denwer/ действует форум, где можно получить консультацию по вопросам, касающимся использования Денвера. Он также содержит обширную базу данных вопросов и ответов. На форуме действует гибкая система поиска.

Если Вы желаете детально разобраться в работе локального web-сервера, то рекомендуется собрать и настроить его собственноручно из отдельных программных продуктов. Полезно предварительно изучить статью «Установка и настройка Apache+PHР», расположенную по адресу http://php5/ru/study/instal. И, конечно же - разделы официальной документации, посвященные установке соответствующих программ.

1. УСТАНОВКА ЛОКАЛЬНОГО WEB-СЕРВЕРА И ЕГО КОМПОНЕНТОВ

1.1. Структура каталогов

Рекомендуется логически отделить Web-проекты от всех остальных на локальном ПК. Для этого следует установить все программное обеспечение локального web-сервера, а также записывать все HTML-файлы, скрипты и документы в отдельный каталог. Локальный сервер удобнее расположить на отдельном логическом диске (не на С), причем организовать его как реальный сервер. Лучше установить и настроить сервер на отдельном диске D. На этом диске можно устроить «Unix»:создать подкаталог /home/ для хранения локальных сайтов, а для Apache, PHP, MySQL и т.д. создать подкаталог /usr.

Создайте на диске D две папки с названиями usr и home. Названия папок и файлов, во избежание проблем, следует писать строчными буквами, т.к. в *nix операционных системах home и Home не одно и тоже. Большинство серверов, на одном из которых в дальнейшем будет размещен созданный Вами Интернет проект, работают под *nix операционными системами.

1.2. Установка Apache

1. Запустите файл инсталляции «apache_1.3.24-win32-x86-no...»:

2. В появившемся диалоге нажмите кнопку Yes, а затем - кнопку Next:

3. Прочитайте лицензионное соглашение и поставьте галочку напротив «I accept the terms in the license agreement» и нажмите на кнопку Next:

4. В следующем окне «Server Information» нужно написать:

? Network Domain - имя Вашего домена: localhost

? Server Name - имя Вашего сервера: www.localhost.ru

? Administrator's Email Address - Ваш почтовый адрес: admin@localhost.ru.

? Установите переключатель «Run when started manually, only for me» (Запускать вручную только для меня), чтобы запускать сервер в ручном режиме:

В окне «Server Information» можно указать и другую любую информацию о сервере, так как она в дальнейшем может быть исправлена при редактировании файла httpd.conf.

5. В следующем окне «Setup Type» выберите установку «Complete» и нажмите кнопку Next:

6. В окне «Destination Folder» нажмите «Change» и измените путь, на тот где будет располагаться web-сервер, а именно D:\usr.

По умолчанию Web - сервер будет установлен в папку C:\Program Files\Apacher Group

C помощью кнопки «Сhange» (Изменить) можно указать папку, в которую будет установлен Web - сервер Apache: D:\usr\:

В итоге путь будет изменен, нажмите Next, а в следующем окне - кнопку Install:

7. Будет произведено копирование файлов:

8. Затем появиться окно, в котором нужно нажать Finish:

9. Apache установлен. Запустите установленный Web - сервер Apache. Для этого выберите команду главного меню Пуск > Программы > Apache HTTP Server > Start Apache in Console (Programs > Web-сервер Apache > Запустить Apache в консольном режиме).

На экране появится окно программы Apache с сообщением: Apache/1.3.24 (Win32) running... (Apache/1.3.24 (Win32) работает...):

10. Теперь можно подключиться к Web-серверу Apache. Для этого:

? Средствами операционной системы Windows в папке D:\usr\Apache\htdocs:

переименуйте файл index.html.en в файл index.html:

? Запустите браузер Microsoft Internet Explorer или любой другой, например Mozilla Firefox.

? В поле ввода Address (Адрес) браузера введите http://localhost и нажмите клавишу Enter. В окно браузера загрузится начальная страница Web-сервера Apache:

Начальная страница Web-сервера Apache на русском языке:

Если открылась начальная страница, значит Apache установлен правильно.

? Перейдите в окно Web-сервера Apache с помощью Панели задач операционной системы Windows и завершите работу сервера с помощью кнопки [X] в правом верхнем углу окна.

1.3. Установка PHP

Загрузить дистрибутивов PHP можно с официальной страницы http://www.php.net/downloads.php из секции Windows Binaries файл с расширением ZIP. Версии РНР на этой странице обновляются редко. Если нужно получить самый последний дистрибутив, зайдите на сайт http://snaps.php.net. Там можно найти даже версию, откомпилированную сегодня (новые дистрибутивы компилируются и архивируются автоматически несколько раз в день). Они могут содержать и новые (обычно мелкие) ошибки, которые еще не успели исправить. Чаще всего оказывается, что в новой версии появились дополнительные возможности, недоступные на официальной странице дистрибутивов. РНР постоянно совершенствуется. Наилучшим решением будет загрузить последнюю версию, поскольку в ней исправлены ошибки из предыдущих версий языка, и она выигрывает по количеству поддерживаемых возможностей.

Скопировать документацию по РНР можно со страницы http://www.php.net/download-docs.php. Рекомендуется устанавливать документацию в формате СНМ (файлы формата Windows Help). Доступна русская версия справочной системы.

Можно просматривать документацию прямо на сайте РНР (там есть удобный поиск). Классический пример поиска описания той или иной функции -- это набор в браузере адреса вида: http://php.net/имя Функции. Например:

http://php.net/fopen;

http://php.net/eval;

http://php.net/str_replace.

Одна из самых полезных функций online-руководства -- возможность оставлять и читать пользовательские комментарии к той или иной статье -- они выводятся в ее конце. Например, если кто-нибудь обнаружит особенность в работе той или иной функции, он может прямо на странице описания этой функции оставить заметку о своей находке. В результате ценность и объем информации, собранной в таких заметках, значительно превосходят ценность и объем исходной статьи помощи.

Не нужно постоянно подключаться к Интернету, чтобы быть в курсе всех пользовательских заметок. Доступна версия официальной документации, в которую включены все пользовательские комментарии. Скачать ее можно по адресу: http://weblabor.hu/php-doc-chm/Sdownload.

Рассмотрим порядок установки php 4.3.9.

1. Дважды щелкните мышью на файле инсталляции php 4.3.9.-installer.exe:

На экране появится первый диалог мастера установки РНР:

В данном диалоге содержится предупреждение о том, что программа защищена законом об авторских правах. Нажмите кнопку Next.

2. На экране появится второй диалог мастера установки РНР:

Познакомьтесь с текстом лицензионного соглашения во втором диалоге мастера установки РНР. Нажмите кнопку IАgree, чтобы принять условия лицензионного соглашения.

3. На экране появится третий диалог мастера установки РНР:

Установите переключатель «Advanced» (Расширенный), чтобы в дальнейшем выбирать набор функциональных возможностей программы. Нажмите кнопку Next.

4. На экране появится четвертый диалог мастера установки РНР:

С помощью кнопки «Browse» можно указать папку, в которую будет установлена программа. По умолчанию РНР будет установлена в папку C:\PHP. В следующем окне рекомендуется заменить путь на D:\usr\php:

Нажмите кнопку Next.

5. На экране появится пятый диалог мастера установки РНР:

Диалог определяет каталог для временных файлов. Кнопка «Browse» позволяет указать папку, в которой будут размещаться временные файлы (по умолчанию эти файлы будут находиться в папке C:\PHP\uploadtemp). Рекомендуется выбрать D:\usr\php\uploadtemp:

Нажмите кнопку Next.

6. На экране появится шестой диалог мастера установки РНР. В этом диалоге с помощью кнопки «Browse» можно указать папку, в которой будут размещаться данные сеанса работы. По умолчанию эти файлы будут находиться в папке C:\PHP\sessiondata. Рекомендуется выбрать D:\usr\php\sessiondata:

Нажмите кнопку Next.

7. На экране появится седьмой диалог мастера установки РНР:

В поле ввода «Please enter the address of your SMTP Server» (Пожалуйста, введите адрес вашего SMTP-сервера) введите электронный адрес своего SMTP-сервера, который указывают при настройке почтовой программы: localhost.

В поле ввода «Please enter the «from» address for the mail function» (Пожалуйста, введите адрес from для функции mail) введите свой электронный адрес: me@localhost.com.

Нажмите кнопку Next.

8. На экране появится восьмой диалог мастера установки РНР:

Установите переключатель «Display all errors, warnings and notices» (Отображать все ошибки, предупреждения и примечания), чтобы программа в ходе своей работы выводила все ошибки, предупреждения и примечания.

Нажмите кнопку Next.

9. На экране появится девятый диалог мастера установки РНР:

Установите переключатель Apache, чтобы указать используемый Web-сервер.

Нажмите кнопку Next.

10. На экране появится десятый диалог мастера установки РНР:

Если сброшен флажок php, то установите его, чтобы файлы с расширением php интерпретировались программой РНР. Нажмите кнопку Next.

11. На экране появится одиннадцатый диалог мастера установки РНР с сообщением о готовности начать установку программы:

Нажмите кнопку Next.

12. На экране появится диалог, показывающей процесс установки РНР.

13. После завершения копирования файлов на экране возникнет диалог Apache Configuration (Конфигурация Apache) с сообщением о необходимости ручной настройки Web-сервера Apache для использования совместно с РНР:

Нажмите кнопку OK, чтобы закрыть диалог Apache Configuration (Конфигурация Apache) с сообщением.

14. На экране появится диалог «Instalation complete» (Установка завершена) с информацией о завершении установки РНР. Нажмите кнопку ОК, чтобы закрыть диалог «Instalation complete». Установка РНР завершена.

15. Для правильной работы PHP с Apache необходимо установить специальный модуль. Нужно воспользоваться специальным архивом (php-4.3.9 RC3-Win32 6,96 Мб), который содержит все необходимое для полноценной работы PHP с Apache.

? Создайте папку и распакуйте в эту папку специальный архив (php-4.3.9 RC3-Win32 6,96 Мб):

? Все содержимое созданной папки (распакованный архив php-4.3.9 RC3-Win32) скопируйте в папку D:\usr\php:

? Запустите файл go-pear.bat, который проинсталлирует PHP. На вопросы 1, 2 и 3 нажмите последовательно Enter, на 4 вопрос ответьте Y:

• Вопрос 1:

• Вопрос 2:

• Вопрос 3:

• Вопрос 4:

Следует ответить Y:

Установка PHP со специальным модулем завершена.

1.4. Установка MySQL

1. Запускают setup.exe:

2. Нажимают Next:

3. Затем нажимают еще раз Next:

4. В окне «Choose Destination Location» изменяют путь на D:\usr\mysql:

5. Вариант установки рекомендуется выбирать «Typical»:

6. Далее произойдет копирование файлов:

8. В заключении нажимают Finish:

1.5. Установка Send Mail

После создания скрипта, отправляющего сообщения, рекомендуется проверить работает он или нет. Для этого открывают файл sendmail.log и смотрят, осуществлялась ли попытка отправления сообщения. Если да, тогда созданный скрипт работает. Почему написано «попытка»? Потому что отправить сообщение без SMTP -сервера невозможно. Если будет установлен SMTP - сервер, то сообщение будет отправлено на сервер получателя. Для установки Send Mail запускают инсталлятор, в первых двух окнах нажимают Next, далее заменяют путь на D:\usr\sbin и нажимают Next. Затем еще в двух окнах нажимаем Next и в конце Finish.

Эта программа является платной. В Интернете имеется генератор ключей, который можно скачать по адресу - http://newprog.by.ru/serv/apache/sendmail_gen.zip. Windows-версию этой программы предлагают на http://www.webwarper.net/ww/~GZ/www.indigostar.com/sendmail.htm?*, где можно взять тридцатидневную полнофункциональную shareware-версию. Здесь будет рассказываться именно о ней. В конце этой главы можно прочитать про то, как снять с Send Mail защиту.

Send Mail нужен Вашим скриптам, чтобы не вылетать с сообщениями об ошибке, когда они не найдут его в /usr/sbin/sendmail, a Вам он потребуется, чтобы видеть, способен ли Ваш скрипт что-то отправлять, и будет ли он работоспособен после выгрузки на сайт в Интернете. Вообще говоря, Вам совсем не нужно, чтобы скрипт что-то отсылал по почте, когда Вы его тестируете на домашнем компьютере - Вы ведь не будете тестировать свой домашний сайт, сидя в онлайн, и Send Mail'у до SMTP сервера всё равно не достучаться. Поэтому главной пользой от деятельности этой программы будет sendmail.log, который программа создаёт после запуска. Из него будет видно, что пытался отправить Send Mail - и пытался ли. Если нет, то у Вас появятся вопросы к Вашему скрипту. Если Вы установите SMTP сервер, то программа сможет отправлять письма на порт сервера.

Send Mail нужно будет установить в папку d:\usr\sbin. Там после установки поселится файл sendmail.exe, что в результате даст нам необходимый путь: /usr/sbin/sendmail

1.6. Установка SMTP сервера

SMTP-сервер применяют для отправки исходящей почты на сервер получателя. В качестве SMTP сервера можно рекомендовать программу Advanced Direct Remailer. Эта программа платная. Создана альтернативная бесплатная программа: SPECTral Personal SMTP Server 0.3. Найти ее можно по адресу - http://spsmtp.net.ru.

Программа SPECTral Personal SMTP Server 0.3 устанавливается в следующей последовательности:

2. НАСТРОЙКА WEB-СЕРВЕРА И ЕГО КОМПОНЕНТОВ

2.1. Конфигурационные файлы сервера Apache

Сервер Apache имеет три конфигурационных файла: httpd.conf, srm.conf, access.conf. Обычно эти файлы находятся в каталоге /etc/httpd/conf. Вся настройка сервера заключается в редактировании этих трех файлов.

Рассмотрим, какие функции выполняют эти файлы:

? Файл httpd.conf -- это основной файл конфигурации сервера. В нем содержится техническое описание работы сервера.

? В файле srm.conf задаются параметры документов, которые размещены на сервере.

? Файл access.conf содержит параметры доступа к серверу.

Начиная с версии 1.3, рекомендуется все директивы, которые раньше находились в файлах srm.conf и access.conf, помещать в файл httpd.conf.

Сервер Apache версии 2.0, который входит в состав дистрибутива Linux Red Hat 9.0, содержит еще несколько конфигурационных файлов: apache-mime.types, vhosts/vhosts.conf, vhosts/VirtualHomePages.conf, vhosts/DynamicVHosts.conf. В файле apache-mime.types содержатся типы MIME, поддерживаемые сервером Apache. Файлы vhosts.conf, VirtualHomePages.conf, DynamicVHosts.conf относятся к конфигурированию виртуальных Web-серверов, о которых речь пойдет немного позже.

2.2. Конфигурационный файл httpd.conf и его директивы

Директивой называется параметр сервера, влияющий на его поведение. Директивы бывают простыми и сложными, которые также называются блоками директив. Простые директивы изменяют только одно свойство сервера, например, его имя, а блоки директив позволяют изменять сразу несколько свойств какого-нибудь объекта, например, каталога.

Как уже отмечалось ранее, этот файл содержит практически все директивы, необходимые для работы сервера. Директивы конфигурационного файла сервера Apache можно условно разделить на такие группы:

1. Общие. К общим директивам относятся глобальные директивы, влияющие на работу всего Web-сервера. Это директивы ServerName, ServerType, Port, User и Group, ServerAdmin, ServerRoot, PidFile, DocumentRoot, UserDir.

2. Директивы протоколирования: Error Log, TransferLog, HostnameLookups.

3. Директивы ограничения доступа: AllowOverride, Options, Limit.

4. Директивы управления производительностью: StartServers, MaxSpareServers, MinSpareServers, а также Директива CacheNegotiatedDocs.

5. Директивы обеспечения постоянного соединения с клиентом: Timeout, KeepAlive, KeepAliveTimeout.

6. Директивы настройки отображения каталогов. Оформить отображение каталогов можно с помощью директив настройки отображения каталогов: Directorylndex, Fancylndexing и AddlconByType.

7. Директивы обработки ошибок. Директивой обработки ошибок HTTP-сервера является директива ErrorDocument. С ее помощью можно установить реакцию на любую ошибку сервера, например, на ошибку 404 (документ не найден).

8. Директивы перенаправления: Redirect, Alias и ScriptAlias.

9. Директивы для работы с многоязычными документами: AddLanguage и LanguagePriority.

10. Директивы обработки MIME-типов. Настроить свой сервер для обработки различных MIME-типов можно с помощью директив DefaultType, AddEncoding, AddType, AddHandler и Action.

11. Директивы создания виртуальных узлов: VirtualHost, Listen, BindAddress.

Все эти директивы редактировать вам вряд ли придется -- нужно будет задать только значения директив ServerName и ServerAdmin. По умолчанию остальные директивы содержат вполне разумные значения. Далее приведено описание директив, используемых в файле httpd.conf.

2.3. Настройка файла конфигурации Apache

Apache по праву считается одним из лучших веб-серверов, однако заставить его правильно работать не каждому под силу. В лучших традициях *nix-программ все настройки осуществляются редактированием текстового файла httpd.conf. Значительно облегчить конфигурирование может графическая оболочка ApacheConf 3.3: http://apache-gui.com, http://www.zecos.com, support@zecos.com. ApacheConf 3.3 позволяет редактировать файл httpd.conf, используя графический интерфейс (GUI):

Все параметры сервера в утилите удобно разбиты на разделы (глобальные параметры, виртуальные хосты и т.п.), имеет мастера по установки SSI, PHP и множество дополнительных функций. Начинающие администраторы смогут улучшить свои знания Apache - многие директивы снабжены комментариями, имеются подсказки на русском языке. Опытным пользователям программа поможет сэкономить время при настройке. Поддерживаются версии сервера Apache 2 и 1.3. Редактировать можно как локальный файл httpd.conf, так и расположенный на FTP-сервере.

Конфигурирование Apache -- непростое занятие. К счастью, все директивы сервера подробно описаны в сопроводительной документации, включенной в дистрибутив. Существует и online-версия руководства. Она доступна по адресу http://httpd.apache.org/docs/ . Главное достоинство документации на сайте в том, что по ней можно проводить поиск, что недоступно при использовании руководства из дистрибутива.

Следует в точности выполнять перечисленные ниже шаги, не пропуская и не откладывая ни одного.

Создайте в папке home папку localhost:

В папке localhost будет храниться содержимое главного хоста Apache-того, который будет доступен по адресу http://localhost.

В папке localhost следует создать папки cgi-bin и www:

В папке cgi-bin будут храниться CGI-сценарии, а в папке www - программы на PHP и разные документы. Обратите внимание CGI-сценарии - это не совсем то же самое, что PHP - скрипты. Поэтому они должны располагаться раздельно.

Для настройки Apache необходимо открыть файл D:\usr\Apache\conf\httpd.conf при помощи Блокнота или Notepad++. Это единственный файл, который нужно настроить. Прежде чем начать редактирование данного файла рекомендуется сделать его резервную копию (например, с названием: httpd.conf рез коп исх).

Приступим к настройке.

1. Первую опцию, которую мы установим, будет путь к Apache. Измените ее следующим образом: ServerRoot "/usr/Apache"

2. Далее установим число запросов, которое сервер может обрабатывать одновременно: ThreadsPerChild 15

3. Директиву BindAddress использовать не рекомендуется, поэтому оставьте ее закомментированной:

4. Раскомметируйте строку подключения модуля: LoadModule rewrite_module modules/mod_rewrite.so

5. В конец списка загружаемых модулей добавьте строку: LoadModule php4_module "/usr/php/sapi/php4apache.dll"

Эта строка подключает модуль PHP для правильной работы с Apache. Если его не подключить, то могут возникать проблемы при работе со скриптами.

6. После подключения модуля PHP добавьте две строчки:

#For the module mod_rewrite

RewriteEngine On

7. Далее идет раздел добавления модулей Apache - AddModule. Его необходимо поменять местами с разделом LoadModule. Т.е. раздел:

# Reconstruction of the complete module list from all available modules

# (static and shared ones) to achieve correct module execution order.

AddModule mod_setenvif.c

поместите перед словами:

#

# Dynamic Shared Object (DSO) Support

#

Перейдем ко второму разделу файла httpd.conf - конфигурация сервера по умолчанию.

8. В опции ServerAdmin следует указать адрес, на который следует направлять сообщения в случаи неправильной работы сервера:

ServerAdmin admin@localhost.ru

9. Опция ServerName задает имя сервера:

ServerName localhost

10. Опция DocumentRoot указывает каталог, в котором расположены web-страницы: DocumentRoot "/home"

Было:

Стало:

11. Опция <Directory> и </Directory> используется для применения опций к конкретному каталогу. Замените следующий блок:

<Directory "D:/usr/Apache/htdocs">

#

# This may also be "None", "All", or any combination of "Indexes",

# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

Options Indexes FollowSymLinks MultiViews

#

# This controls which options the .htaccess files in directories can

# override. Can also be "All", or any combination of "Options", "FileInfo",

# "AuthConfig", and "Limit"

#

AllowOverride None

#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all

</Directory>

на блок:

<Directory "/">

#

# This may also be "None", "All", or any combination of "Indexes",

# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".

#

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesn't give it to you.

#

Options Indexes FollowSymLinks Includes MultiViews

#

# This controls which options the .htaccess files in directories can

# override. Can also be "All", or any combination of "Options", "FileInfo",

# "AuthConfig", and "Limit"

#

AllowOverride All

#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all

</Directory>

В этом блоке была настроена папку home. Давайте разберем значения опций.

? Директива Options определяет, какие особенности сервера являются доступными в данном каталоге:

- Indexes - если запрошенный URL соответствует папке, и в этой папке нет ничего соответствующего DirectoryIndex (например, index.html), то сервер выведет содержание данной папки;

- FollowSymLinks - разрешить переходы по символическим ссылкам (создаваемым командой ln);

- Includes - разрешить SSI (Server Side Includes);

- MultiViews - разрешить поддержку многих языков.

? Директива AllowOverride позволяет отменять, при помощи файлов .htaccess, ранее установленные директивы. Если данная директива установлена в None, то файл .htaccess игнорируется, если же в All, то все директивы .htaccess файла будут допускаться.

? Директивы Order allow,deny и Allow from all определяют, кто может получать, что бы то ни было с данного сервера.

12. Закомментируйте следующий модуль:

#<IfModule mod_userdir.c>

# UserDir "D:/usr/Apache/users/"

#</IfModule>

13. Далее для опции DirectoryIndex необходимо указать файлы, которые будут загружаться, когда происходит обращение к папке, а не к конкретному файлу:

<IfModule mod_dir.c>

DirectoryIndex index.html index.htm index.php index.shtml index.shtm

</IfModule>

14. В блоке:

<Files ~ "^\.ht">

Order allow,deny

Deny from all

Satisfy All

</Files>

удалите строку: Satisfy All.

15. Далее следует отключить директиву UseCanonicalName On, т.е. поставить значение Off: UseCanonicalName Off

16. Если вы желаете, чтобы в сообщениях об ошибке высвечивался e-mail администратора, то замените в следующей опции On на Email:

ServerSignature EMail

17. Находим такую строку:

ScriptAlias /cgi-bin/ "D:/usr/Apache/cgi-bin/"

и заменяем ее другой строкой: ScriptAlias /cgi-bin/ "/home/cgi-bin/"

Этот каталог cgi-bin, в котором должны располагаться ваши CGI - скрипты. Он был создан в директории home.

18. Установите следующие опции для папки cgi-bin:

<Directory "/home/cgi-bin/">

AllowOverride All

Options ExecCGI

</Directory>

19. Ищем строку AddType application/x-tar .tgz, она расположена после настроек приоритета языков. Перед этой строкой необходимо добавить блок подключения php:

#AddType application/x-httpd-php phtml php3 php

#ScriptAlias /__php_dir__/ "/usr/php/"

#Action application/x-httpd-php "/__php_dir__/php.exe"

Первая строка указывает расширения файлов, которые должны обрабатываться PHP интерпретатором.

Во второй строке связывается настоящий путь к PHP и псевдоним, а в третьей указывается файл интерпретатора.

Эти строки пока следует закомментировать, иначе могут возникнуть ошибки. После настройки PHP, комментарии нужно будет снять.

20. Далее настраивают SSI -- очень мощный и в то же время очень простой инструмент, способный помочь при создании и поддержке сайта. С помощью SSI-директив, их еще называют SSI-вставками, можно включать в страницу другие файлы, результаты работы программ, значения системных переменных и пр. Преимущества этой технологии особенно проявляются, когда нужно поддерживать достаточно большой по объему сайт, который имеет определенную структуру и повторяющиеся по всему сайту элементы. Для подключения SSI находят строки, снимают с них комментарии и изменяют, как показано ниже: AddHandler cgi-script .cgi

Затем надо раскомметировать и изменить:

AddType text/html .shtml .shtm

AddHandler server-parsed .shtml .shtm

Было:

Стало:

Этими директивами настраиваем SSI. Apache будет обрабатывать файлы с указанными расширениями процессором SSI. Это наиболее стандартный ход. Впрочем, вместо .shtml можно написать .html или .phtml - главное, чтобы расширение было идентично расширению, которые использует для обозначения использующих SSI файлов провайдер.

И, естественно, нужно включить сам "механизм" вложения, а для этого добавить к команде Options слово Includes. Тогда строка с командой Options может принять вид: Options Indexes FollowSymLinks Includes

Далее надо раскомметировать: AddHandler send-as-is asis

Эта функция разрешает Apache передачу файлов, не сопровождающихся http заголовками.

21. Для использования карт изображения и карт типов раскомметируйте следующие строки:

AddHandler imap-file map

AddHandler type-map var

22. В самый конец файла добавьте строку:

Include conf/vhosts.conf

Сохраните все изменения файла httpd.conf. Создайте резервную копию рабочего файла httpd.conf (например, с названием: httpd.conf рабочий). Это может оказаться полезным при восстановлении системы.

23. Создайте в папке D:\usr\Apache\conf файл vhosts.conf:

Допустим, что Вам придется работать с несколькими серверами. Разработчики Apache предусмотрели и этот вариант. При настройке Apache, изначально сделано так, чтобы с появлением нового сервера на Вашем компьютере его было легко подключить и настроить. Для этого при настройке Apache создают файл vhosts.conf и в конец файла httpd.conf добавляют строчку «Include conf/vhosts.conf», которая подключает этот файл.

Добавление нового сервера подробно описано в разделе 2.4.

24. Теперь перезапустите Apache: Пуск > Все программы > Apache HTTP Server > Control Apache Server > Restart.

Если все сделано верно, то откроется консольное окно:

В консольном окне сообщается, что Apache запущен, модуль PHP 4.3.9RC3 для правильной работы Apache с PHP установлен и работает.

Если же имеются ошибки, то в течение 30 секунд оно будет запущено и в нем будет написана ошибка, по которой Apache не может быть запущен, например:

Сообщается, что на линии 327 файла httpd.conf имеется ошибка. Ошибка часто возникает, если забыли скопировать файл php4ts.dll в каталог C:\Windows\System32.

Ошибка может возникнуть также, если забыли создать файл vhosts.conf и хотя бы один виртуальный хост.

2.4. Создание виртуальных хостов

Разработчики Apache предусмотрели возможность создания нескольких виртуальных хостов. При настройке Apache, изначально сделано так, чтобы с появлением нового сервера на Вашем компьютере его было легко подключить и настроить.

Для этого при настройке Apache был создан файл vhosts.conf:

и в конец файла httpd.conf добавлена строчка «Include conf/vhosts.conf», которая подключила этот файл:

Для того чтобы добавить новый сервер:

? необходимо создать папку, в директории home, в которой будут расположены серверные папки и файлы;

? сделать описание этого сервера в файле vhosts.conf;

? добавить название сервера и IP-адрес в файл C:\WINDOWS\system32\drivers\etc\hosts.

Т.к. в файле httpd.conf имя сервера мы установили localhost и папку для документов установили home, то это нас не устроит, потому что во всем должен быть порядок (сейчас поймете, о чем идет речь).

Если мы оставим все как есть, то html документы, принадлежащие серверу localhost, и новые виртуальные серверы окажутся в одной папке home. Это выглядит не очень красиво и удобно.

Поэтому мы перенастроим localhost, оформив его в виде виртуального сервера:

1. Создайте в папке home папку localhost, а в ней папку cgi-bin:

2. Добавьте следующее описание в файл vhosts.conf:

#----localhost

<VirtualHost 127.0.0.1>

DocumentRoot "/home/localhost/"

ServerName localhost

ScriptAlias /cgi-bin/ "/home/localhost/cgi-bin/"

ErrorLog /home/localhost/error.log

</VirtualHost>

Здесь папка cgi-bin (вместо cgi), html-файлы (которые должны располагаться в папке html) и файл error.log будут находиться в одной папке localhost:

Эти описания можно было сделать в файле httpd.conf, но если все виртуальные серверы описать в отдельном файле, то строение вашего http-сервера становится более наглядным.

3. Создайте второй виртуальный хост.

Допустим, что Ваш сайт расположен в Internet по адресу http://mysite.ru. Настроим Apache так, чтобы при наборе этого адреса загружался Ваш сайт, без выхода в Internet.

1) Для этого в папке home создайте папку mysite и в папке mysite папки cgi и html:

2) Опишите данный сервер в файле виртуальных хостов vhosts.conf:

<VirtualHost 127.0.0.2> - задается IP-адрес сервера

DocumentRoot "/home/mysite/html/" - папка расположения документов

ServerName www.mysite.ru - имя сервера

ScriptAlias /cgi-bin/ "/home/mysite/cgi/" - папка с cgi-скриптами

ErrorLog /home/mysite/error.log - расположение файла ошибок

CustomLog /home/mysite/access.log common - расположение файла доступа

</VirtualHost> - закрываем описание сервера

#----localhost

<VirtualHost 127.0.0.1>

DocumentRoot "/home/localhost/"

ServerName localhost

ScriptAlias /cgi-bin/ "/home/localhost/cgi-bin/"

ErrorLog /home/localhost/error.log

</VirtualHost>

#----mysite

<VirtualHost 127.0.0.2>

DocumentRoot "/home/mysite/html/"

ServerName www.mysite.ru

ScriptAlias /cgi-bin/ "/home/mysite/cgi/"

ErrorLog /home/mysite/error.log

CustomLog /home/mysite/access.log common

</VirtualHost>

3) В конец файла С:\WINDOWS\system32\drivers\etc\hosts:

добавьте IP-адрес и имя сервера:

127.0.0.2 mysite.ru

4) Перезапустите Apache.

5) Если Вам понадобиться обратить к сайту mysite.ru на удаленном сервере, то закомментируйте строку: #127.0.0.2 mysite.ru

в файле С:\WINDOWS\system32\drivers\etc\hosts.

Не забывайте про это, иначе при попытке обращения к удаленному серверу, Вы будете оказываться на своем локальном.

Что бы этого не делать, лучше виртуальные хосты называть так же, как и на настоящем web - сервере, но только без «суффикса» .ru или .com. В этом случае, используя правило «отсечения суффиксов» можно легко обращаться к «реальному» и «виртуальному» хостам, даже если имеется подключение к Интернет.

Вы можете использовать любой IP-адрес из диапазона 127.0.0.1 - 127.255.255.255.

На этом настройка сервера окончена. Перезапустите его. Все должно работать:

Если Вы получаете сообщение об ошибке и номер строки в файле http.conf, где она произошла, то исправьте ошибку и перезапустите сервер. Если ошибок больше нет, то появится показанное выше окно.

2.5. Настройка PHP

Для настройки PHP необходимо воспользоваться файлом php.ini. Если при установке PHP использован инсталлятор, то этот файл расположен в C:\WINDOWS:

Если Вы использовали архив, то скопируйте файл php.ini-distr в каталог C:\WINDOWS и переименуйте его в php.ini. Откройте этот файл при помощи Notepad++.

1. Диагностический вывод при наличии ошибок. Найдите директиву error_reporting и присвойте ей значение E_ALL & ~E_NOTICE & ~E_STRICT

error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT

Эта директива указывает PHP, насколько подробным должен быть диагностический вывод при наличии ошибок и предупреждений. Установлен минимальный вывод. Но если вы собираетесь создавать скрипты на PHP, то лучше оставить E_ALL, т.к. это позволит создавать более качественный код:

Установлен максимально подробный режим контроля ошибок. Это очень поможет при отладке скриптов. Для программ, которые на этот режим не рассчитаны, всегда его можно отключить.

2. Сохранение последнего сообщения об ошибке. Установите:

track_errors = On

Сделанные изменения позволят сохранять последнее сообщение об ошибке или замечании в переменной $php_errormsg.

3. Режим register_globals.

Внимание

Начиная с PHP 4.2.0, значение директивы register_globals по умолчанию установлено в off (отключено, раньше было on - включено). Положение register_globals в off делает предопределенные переменные доступными в глобальной области видимости.

Например, чтобы получить:

? DOCUMENT_ROOT, необходимо использовать $_SERVER['DOCUMENT_ROOT'] вместо $DOCUMENT_ROOT;


Подобные документы

  • Многопоточный веб-сервер с входным и обрабатывающими модулями. HTTP—протокол передачи гипертекста. Установка и настройка локального веб-сервера "OpenServer". Установка phpMyAdmin, конфигурация PHP. Настройка веб-сервера и виртуальных хостов, модулей.

    курсовая работа [3,2 M], добавлен 08.12.2013

  • Система управления базами данных (СУБД) MySQL. Установка, настройка и запуск MySQL. Окончательная настройка нового MySQL сервера. Основные утилиты и журнальные файлы. Работа с виртуальными хостами. Синтаксис для создания таблиц и управление данными.

    реферат [3,5 M], добавлен 24.06.2019

  • Установка VirtualBox. Создание двух виртуальных машин с операционной системой CentOS. Настройка сетевых интерфейсов в режиме bridgeс и хоста как маршрутизатора для сети. Установка www-сервера. Настройка динамической маршрутизации по протоколу RIP.

    курсовая работа [807,5 K], добавлен 14.07.2012

  • Виды серверов баз данных. MySQL как наиболее приспособленная для применения в среде СУБД. Хранимые и присоединенные процедуры. Операционная среда серверов. Согласованность чтения и тупиковые ситуации. Установка и настройка MySQL Server 5.6 на Windows 7.

    курсовая работа [3,0 M], добавлен 28.12.2015

  • Создание виртуальной машины для гостевой операционной системы Microsoft Windows Server 2003. Первоначальная настройка установленной операционной системы. Создание DHCP-сервера с диапазоном рабочих адресов. Настройка доменного имени для IP-адреса сервера.

    лабораторная работа [3,2 M], добавлен 20.12.2012

  • Общие сведения об операционной системе Linux. Анализ информации о серверах. Основные прикладные клиент-серверные технологии Windows. Сведения о SQL-сервере. Общая информация о MySQL–сервере. Установка и специфика конфигурирования MYSQL-сервера на LINUX.

    курсовая работа [1,3 M], добавлен 16.12.2015

  • Характеристика деятельности предприятия "Регион". Открытие общего доступа к папке или диску. Настройка DHCP-серверов в сети, обеспечивающая ряд преимуществ. Установка, тестирование и настройка Apache, MySQL. Организация терминального доступа к серверу.

    отчет по практике [131,6 K], добавлен 12.11.2014

  • Система доменных имен. Регистрация доменов и обратное преобразование имен. Схема работы DNS сервера. Конфигурация BIND сервера. Расшифровка полей файлов зон. Программное обеспечение, настройка DNS сервера BIND. Проверка работоспособности системы.

    курсовая работа [1,6 M], добавлен 20.09.2013

  • Организационно-штатная структура офисного центра. Выбор и обоснование архитектуры сети. Сервисы конфигурации сервера. Выбор топологии сети. Установка и настройка Active Directory, DNS и файлового сервера под управлением СОС Windows Server 2012 R2.

    курсовая работа [2,5 M], добавлен 10.04.2017

  • Создание локальной сети для рационального использования компьютерного оборудования. Характеристика многопользовательской сетевой операционной системы Debian Linux. Установка web-сервера, настройка виртуальных хостов, почты и Drupal. Работа с Drush.

    курсовая работа [3,6 M], добавлен 01.02.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.