- •Сибирский государственный аэрокосмический университет
- •1.2 Установка интерпретатора php
- •Установка php в качестве модуля
- •1.3 Установка интерпретатора perl
- •1.4 Установка бд MySql
- •Часть 2. Настройка.
- •2.1 Настройка работы Apache
- •2.1.1 Первым делом ищем строчку
- •2.4 Настройка работы MySql и php
- •2.5 Настройка работы MySql и Perl
- •Задания для контроля
Часть 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 ;).