Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОАИС_ЛР6.doc
Скачиваний:
6
Добавлен:
17.03.2015
Размер:
318.46 Кб
Скачать

Часть 2. Настройка.

2.1 Настройка работы Apache

Основные настройки сервера храняться в файле httpd.conf, который находится по адресу c:\Program Files\Apache Group\Apache\conf\httpd.conf. Это обычный текстовый файл, открывайте его блокнотом.

2.1.1 Первым делом ищем строчку

DocumentRoot "C:/Program Files/Apache Group/Apache/htdocs" и меняем ее на DocumentRoot "C:/www/html"

Обратите внимание, что в пути вместо стандартного для Win - систем обратного слэша "\" используется прямой - "/". Это объясняется тем, что Apache разрабатывался изначально под *nix - системы, а там везде вместо "\" используется "/".

2.1.2 Теперь ищем строчку

ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"

и меняем ее на 2 следующие строчки:

ScriptAlias /cgi/ "C:/www/cgi/"

ScriptAlias /cgi-bin/ "C:/www/cgi/"

Тут мы делаем, таким образом, 2 вещи: первая, что все cgi - скрипты будут располагаться в папке c:\ www\cgi. Делается это также исключительно для удобства. А вторая, что для каталога C:/www/cgi создается 2 псевдонима. Таким образом, если будет указан путь http://localhost/cgi или http://localhost/cgi-bin , то на самом деле обращение будет идти к одной и той же папке c:\www\cgi

2.1.2 Ищем секцию <Directory "C:/Program Files/Apache Group/Apache/htdocs"> и заменяем ее содержимое на следующее:

<Directory "C:/www">

Options Indexes Includes

AllowOverride All

Allow from all

</Directory>

Тут мы задаем ряд настроек по умолчанию для нашего каталога c:\www и всех подкаталогов, которые в нем содержатся: автоматическую генерацию списка содержимого каталога при просмотре его в браузере, поддержку SSI, возможность использовать файлы .access для индивидуальной настройки каталогов.

2.1.3 Ищем строчку #AddHandler cgi-script .cgi стираем перед ней комментарий и добавляем .bat .exe

В результате строчка принимает вид:

AddHandler cgi-script .cgi .bat .exe

Тут мы указываем серверу, что файлы с расширениями .bat, .exe, .cgi надо рассматривать как cgi - модули

2.1.4 Ищем строчки #AddType text/html .shtml и #AddHandler server-parsed .shtml

И меняем их на AddType text/html .shtml и AddHandler server-parsed .shtml .html .htm

Здесь мы указываем серверу, файлы с какими р будут обрабатываться как SSI.

2.1.5 Не забудьте сохранить изменения в файле httpd.conf

Общая настройка Apache закончена. Нажмите Пуск -> Выполнить, введите команду net start apache.

Теперь если в адресной строке браузера Вы введете http://localhost, то высветится страничка index.html, расположенная в папке c:\www\html, а если ее там нет, то список файлов в этой папке.

2.2 Настройка связки Apache + PHP5

2.2.1 Скопируйте файл php5ts.dll из папки C:\php в папку C:\WINDOWS\SYSTEM32

2.2.2 Скопируйте файл php.ini-dist из папки C:\php в каталог C:\WINDOWS и переименуйте его в php.ini, откройте в блокноте, найдите переменные, указанные ниже и установите их значения, как написано ниже:

register_globals = off

magic_quotes_gpc = off

magic_quotes_runtime = off

error_reporting = E_ALL # - и именно так, никаких E_ALL & ~E_NOTICE и пр.!

display_errors = on

Примечание:

Если Вы начинающий программист на PHP, то советую Вам установить значение register_globals = on. Объясню почему: почти во всех руководствах по РНР пишут, что даные, полученные из формы, или переданные по ссылке, вот так: http://localhost/my_script.php?variable1=x&variable2=y автоматически становятся переменными PHP, $x и $y. Но эта информация немного устарела.

Подробнее о переменных можно почитать на русском языке в официальной документации http://ru2.php.net/variables.predefined

Разработчики PHP настоятельно рекомендуют выключать register_globals (такой режим даже введен по умолчанию во всех новых версиях) и пользоваться данными, полученными от пользователя, только обращаясь к соответствуюим массивам.

Это сделано потому, что при register_globals = on легко взломать небрежно написаный скрипт. То есть, register_globals=off - на самом деле не цель, а средство. Побудительный мотив для программиста писать защищенные скрипты и избегать путаницы. Подробнее можно прочесть и в документации: http://www.php.net/manual/ru/security.globals.php"

2.2.3 Настроим PHP двумя способами: как модуль Апача и как CGI - бинарник

2.2.3.1 Настройка PHP, как модуля Apache:

В файл конфигурации Apache httpd.conf добавляем:

LoadModule php5_module C:/php/php5apache.dll

(хотя может быть и LoadModule php5_module C:/php/sapi/php5apache.dll. Зависит от Вашей версии PHP. У меня 5.0.3 и этот файл лежит, как в первом случае )

После последней директивы AddModule добавляем строку

AddModule mod_php5.c

Внутри блока <IfModule mod_mime.c> добавляем строку

AddType application/x-httpd-php .php

В строке DirectoryIndex надо прописать еще index.php:

DirectoryIndex index.php index.html

2.2.3.2 Настройка PHP, как CGI - бинарника:

В файл конфигурации Apache httpd.conf добавляем:

Внутри блока <IfModule mod_mime.c> добавляем строку:

AddType application/x-httpd-php .php

Сразу после нее добавляем 2 строки:

ScriptAlias /_php_/ "c:/php/"

Action application/x-httpd-php "/_php_/php-cgi.exe"

Примечание:

Если у Вас стоит четвертая версия PHP, то вместо последней строки надо написать:

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

В строке DirectoryIndex надо прописать еще index.php:

DirectoryIndex index.php index.html

Теперь проверим работу. Создайте файл index.php в папке C:\www\html, а в нем напишите следующие строчки:

<?

phpinfo();

?>

Теперь если Вы, написав в адресной строке браузера http://localhost/index.php, увидите страничку с информацией о версии PHP, установленной на Ваш компьютере, то значит, что все работает, связка Apache+PHP настроена правильно.

2.3 Настройка связки Apache + Perl

В принципе, в разделе "Настройка работы Apache" мы уже все настроили. Теперь остается только проверить работу. Напишем следующий простенький скрипт test-perl.cgi на Perl:

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print "It works!<br>\n";

Сохраним его в папке C:\www\cgi. В адресной строке пишем

http://localhost/cgi-bin/testperl.cgi

Если видите надпись "It works!", значит действительно It works ;).