С установкой программ покончено. Теперь перейдем к их настройке. В первую очередь Вам нужно найти файл "php.ini-dist" в каталоге "F:\usr\php" и скопировать его в папку C:\Windows, причем переименовать его на новом месте в файл "php.ini". В итоге у Вас должен получиться файл "C:\Windows\php.ini". Оставим его как есть, ничего в нем не изменяя и перейдем к настройке Apache. Здесь все немного сложнее.
Открываем файл "F:\usr\apache\conf\httpd.conf" в каком-нибудь текстовом редакторе, например "Блокноте". Это очень важный файл, который содержит все настройки Вашего сервера. В нем необходимо задать несколько параметров. Начнем.
Найдите в файле httpd.conf строчку "#ServerName new.host.name". Измените ее на строчку "Servername localhost". Обратите внимание, что знак "#" в начале строки убирается.
Далее найдите строчку "DocumentRoot "f:/usr/apache/htdocs" и измените ее на "DocumentRoot "f:/project/www". Обратите внимание на _отсутствие_ слеша в конце.
Теперь найдите строчку "" и измените ее на ". Слеш опять отсутствует.
Также найдите и измените строку "ErrorLog logs/error.log" на строку "ErrorLog F:/project/logs/error.log" и строку "CustomLog logs/access.log common" на
"CustomLog F:/project/logs/access.log common".
Теперь перейдите в самый конец файла httpd.conf и впишите в него такие строчки:
ScriptAlias /php/ "f:/usr/php/" AddType application/x-httpd-php .php .phtml .php4 Action
application/x-httpd-php "/php/php.exe"
Эти строчки добавляют в настройки Apache возможность выполнения файлов с расширением .php, .phtml или .php4 как программ, написанных на PHP (PHP скриптов).
Ну а теперь создайте каталог "F:\project", и в нем два каталога "www" и "logs". В итоге Вы должны получить такое дерево каталогов:
F:\project
F:\project\www
F:\project\logs
Все! Поздравляю, Вы установили и настроили полноценный http-сервер с поддержкой PHP. Теперь дело за малым - научиться включать и выключать сервер, а также немножко его протестировать. Этим мы и займемся далее.
Работа с сервером Apache
При инсталляции сервера программа установки создала в Главном меню (Кнопка "Пуск", далее "Программы") папку "Apache Web Server". В этой папке находиться несколько ярлыков. Нам потребуются следующие из них:
Start Apache - для запуска сервера Stop Apache - для остановки сервера
При желании Вы можете скопировать их на Рабочий стол, чтобы иметь возможность быстро запускать и выключать сервер.
Двигаемся далее и подходим к самому главному моменту - запуску сервера. Если Вы произвели все указанные действия, то этот этап Вы точно преодолеете без проблем. Но перед запуском я хотел бы предложить Вам сделать еще кое-что, чтобы наверняка протестировать работу вашего сервера.
Итак, создайте в папке "F:\project\www\" файл с именем "index.html"
следующего содержания:
Создайте там же файл с именем "test.php" такого содержания:
<?
phpinfo();
?>
Вот и все, наконец-то можно запускать сервер. Торжественно запускаем
ярлык Start Apache. При этом открывается черное окошко вроде окна MS-DOS с
единственной надписью "Apache/1.3.12 (Win32) running...". Это означает,
что сервер успешно запущен и на данный момент работает. Окошко закрывать
не нужно, оно является рабочей средой Apache и закрывается с помощью
ярлыка "Stop Apache", который и выключает сервер.
Итак, сервер запущен. Что дальше? Открывайте ваш броузер и набирайте в
нем адрес "http://127.0.0.1". Помните, подключаться к Интернету в этот
момент не нужно! Вы должны увидеть уже набранное приветствие, т.е. код
файла "index.html". Перейдите по ссылке, ведущей к файлу "test.php". Что
вы видите? Броузер должен вывести довольно большой файл с кучей различных
обозначений и гордым заголовком "PHP Version 4.3.4" вместе в логотипом
PHP. Это - результат работы нашего маленького скрипта "test.php", а точнее
функции phpinfo(), которую мы в нем написали. Эта функция выводит все
параметры PHP, установленного в системе.
Если Вам все это показалось сложным и непонятным, не пугайтесь. Дальше
будет намного проще, просто в первый раз нужно было все установить и
настроить, чтобы работало. Сейчас Вы имеете тот необходимый минимум,
которого вполне достаточно, чтобы успешно начать работать с
сервером.
Отдельно хочу обратиться к продвинутым пользователям, которые, я
уверен, читают (или будут читать) мою статью. В первую очередь - если Вы
не удовлетворены количеством информации (и объяснений к ней) по поводу
настройки Apache и различных директив PHP - не стоит меня сильно в этом
обвинять. Моей целью в этой статье было предоставить новичкам стартовую
площадку для их обучения и первого проекта. В будущем я постараюсь
продолжить эту тему.
Пример: настройка виртуального хоста
В данный момент на
созданном сервере есть всего один хост, с уже известным Вам адресом
http://127.0.0.1. Однако если у Вас есть несколько сайтов, то не всегда
удобно использовать для их отладки один хост. Для подобных целей подойдет
возможность Apache использовать несколько виртуальных хостов.
........
Итак, приступим к созданию виртуального хоста. Как Вы уже знаете, все
настройки Apache производятся в файле httpd.conf, который расположен по
адресу F:\usr\apache\conf\httpd.conf. В этом файле есть специальный
раздел, который обозначен ### Section 3: Virtual Hosts. Он
расположен в самом конце файла и отвечает за виртуальные хосты. Далее
процесс создания хоста по шагам:
1. Выключите Apache.
2. В самом конце файла httpd.conf допишите такие строчки:
NameVirtualHost 127.0.0.2
<VirtualHost
127.0.0.2>
ServerAdmin admin@site2
ServerName
127.0.0.2
DocumentRoot "/site2/htdocs/"
ScriptAlias
/cgi-bin/ "/site2/cgi-bin/"
ErrorLog
/site2/error.log
CustomLog /site2/access.log
common
</VirtualHost>
В данной директиве мы описываем новый хост. Строка VirtualHost
127.0.0.2 обозначает адрес нового хоста. ServerAdmin admin@site2 указывает
Email администратора, который будет выводиться при ошибках и служебных
сообщениях сервера. ServerName 127.0.0.2 обозначает имя хоста, по которому
мы будем к нему обращаться из броузера. DocumentRoot "/site2/htdocs/"
указывает директорию, где находятся html и php файлы виртуального сервера.
ScriptAlias /cgi-bin/ "/site2/cgi-bin/" указывает каталог, в котором
расположены cgi-скрипты (программы на perl, c++ и т.д.). ErrorLog и
CustomLog указывают расположение лог-файлов сервера. ErrorLog - это журнал
ошибок, CustomLog - журнал доступа. В эти файлы будут записываться все
ошибки (например, когда запрошенный файл не существует) и все запросы к
серверу.
3. Теперь создайте описанные директории F:\site2\htdocs и
F:\site2\cgi-bin. Файлы error.log и access.log можно не создавать, они
будут сформированы автоматически при запуске Apache. Директория F:\site2
является корневой директорией виртуального сервера. Обратите внимание, что
если Вы не создадите или ошибетесь в именах директорий, то Apache
откажется запускаться.
4. Теперь можете запускать Apache. Не забудьте перед этим сохранить
изменения в файле httpd.conf.
Вот и все, новый хост создан. Можете разместить в него файлы и
просматривать их через броузер по адресу http://127.0.0.2/.
Файл настроек .htaccess
Файл .htaccess - это служебный
файл вебсервера, с помощью которого можно производить определенные
настройки своего сайта. Например, с помощью этого файла можно настроить
свои страницы ошибок или обработку SSI-директив.
Файл .htaccess может быть размещен в любом каталоге сервера. Кроме
того, он действует на все внутренние каталоги, размещенные в текущей
директории. То есть, если у Вас есть каталог "www" и в нем два каталога
"1" и "2", то размещая файл .htaccess в "www", Вы одновременно
распространяете его действие на каталоги "1" и "2".
Обратите внимание, что имя этого файла начинается с точки. Файлы, имена
которых начинаются с точки, в системе Unix являются скрытыми. Это
означает, что если Вы загрузите этот файл на сервер провайдера, то Вы не
будете видеть его в Вашем FTP-клиенте. Это, кстати, частый вопрос, с
которым мы сталкиваемся в службе поддержки RunWeb.Ru. А что делать, если
Вы хотите изменить этот файл? Самый простой вариант - изменить его на
домашнем компьютере и заново загрузить на сервер по FTP. Ваш клиент не
должен спросить перезаписывать ли его, так как он не видит .htaccess в
списке файлов. Это нормально, можете быть уверены, файл
перепишется.
В качестве примера использования .htaccess давайте рассмотрим установку
своих страниц ошибок. Что такое "свои страницы ошибок"? Допустим, у
сервера запрашивается документ, которого не существует. В этом случае
возникает ошибка номер 404, "Файл не найден". Apache при этом отправляет
броузеру свою служебную страницу этой ошибки (404 Not Found). То же самое
и с ошибкой номер 500 "Внутренняя ошибка сервера". Она возникает при
возникновении ошибки на сервере, например, при исполнении CGI-скрипта.
Итак, как установить свои страницы ошибок?
Для этого создайте пустой файл .htaccess в корневом каталоге
виртуального хоста (например, F:\server) и запишите в него следующие
строки:
ErrorDocument 404 http://127.0.0.1/err404.html
ErrorDocument
500 http://127.0.0.1/err500.html
Они назначают каждой ошибке свою страницу, которая будет открываться
при возникновении данной ситуации. Естественно, Вам нужно будет создать
файлы err404.html и err500.html на сервере. Называться они могут как
угодно, не обязательно как в этом примере.
Существует также много других возможностей настроек файла .htaccess.
Несколько очень полезных возможностей (таких как установка индексного
файла, паролирование директорий, настройки SSI и другие) описано на нашем
сервере RunWeb.Ru в разделе Частые вопросы по настройкам сервера. Список
часто пополняется, поэтому рекомендую Вам ознакомиться с описанными в нем
возможностями.
Это случается и имеет отношение, равно как и предыдущий пункт, к
различным дистрибутивам Apache. (по этому советую загружать дистрибутив,
приведенный здесь!). Итак, файл "httpd.conf" отсутсвует, но есть файл
"httpd.conf.default". В этом случае нужно скопировать файл
"httpd.conf.default" в "httpd.conf" (именно создать копию этого файла с
другим именем, а не переименовывать сам файл. "httpd.conf.default" всегда
желательно иметь, так как он является дистрибутивом установок Apache и с
его помощью Вы всегда можете вернуться к первоначальным настройкам). Ну а
дальше производить все настройки в получившемся файле.
3. Не работает PHP (в броузер выводиться код) или не работает Apache
(окошко сразу закрывается).
Проверьте правильность установки и настройки сервера (см. выше). Все
пути, настройки, тексты скриптов обязательно должны совпадать с примерами
- буква в букву. Иначе проблемы скорее всего будут. Например, Вы поставили
слеш в настройках в другую сторону (вместо "/" написали "\" или наоборот)
или в тексте скрипта вместо "<?" написали "< ?" (с пробелом) и т.п.
Такие ошибки мне вычислять, к сожалению, очень сложно... мне как минимум
нужно сесть за Ваш компьютер :)
4. Окно MS-DOS при запуске Apache открывается и сразу же гаснет. Не
успеваю даже прочитать, что там написано.
Это означает, что Apache неправильно установлен или настроен. Не стоит
сразу же повторять установку (запускать setup) - файлы сервера скопированы
верно, ведь ярлык открывает файл Apache.exe. В этом случае обычно неверны
настройки сервера. Проверьте файл "httpd.conf" в каталоге
"F:\usr\apache\conf\". Особенно внимательно посмотрите на пути (F:\project
и т.п.). Не забывайте про слеши! Они должны быть именно такие (в ту
сторону), как приведены в примере (см. архив). И, очень важно: там, где их
нет (например, в конце путей) не нужно их ставить! В завершение проверьте,
что на сервере верна структура каталогов.