50468 (Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows), страница 4
Описание файла
Документ из архива "Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "50468"
Текст 4 страницы из документа "50468"
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:
AllowOverride All
Options ExecCGI
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
DocumentRoot "/home/localhost/"
ServerName localhost
ScriptAlias /cgi-bin/ "/home/localhost/cgi-bin/"
ErrorLog /home/localhost/error.log
Здесь папка cgi-bin(вместо cgi), html-файлы (которые должны располагаться в папке html) и файл error.logбудут находиться в одной папке localhost:
Эти описания можно было сделать в файле httpd.conf, но если все виртуальные серверы описать в отдельном файле, то строение вашего http-сервера становится более наглядным.
3. Создайте второй виртуальный хост.
Допустим, что Ваш сайт расположен в Internetпо адресу http://mysite.ru. Настроим Apache так, чтобы при наборе этого адреса загружался Ваш сайт, без выхода в Internet.
Для этого в папке homeсоздайте папку mysiteи в папке mysiteпапки cgiи html:
Опишите данный сервер в файле виртуальных хостов vhosts.conf:
- задается 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 - расположение файла доступа
- закрываем описание сервера
#----localhost
DocumentRoot "/home/localhost/"
ServerName localhost
ScriptAlias /cgi-bin/ "/home/localhost/cgi-bin/"
ErrorLog /home/localhost/error.log
#----mysite
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
В конец файла С:\WINDOWS\system32\drivers\etc\hosts:
добавьте IP-адрес и имя сервера:
127.0.0.2 mysite.ru
Перезапустите 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. Сохранение последнего сообщения об ошибке.Установите: