Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Самоучитель PHP 4 - Котеров Д. В

..pdf
Скачиваний:
92
Добавлен:
24.05.2014
Размер:
4.38 Mб
Скачать

Глава 4

Установка Apache

Введение: зачем нужен домашний сервер?

Эта часть книги поможет вам "скачать" и установить один из лучших серверов — Apache, а также те приложения, из-за которых большинство программистов и любят Apache для Windows 95/98. Имеются в виду, конечно, интерпретатор PHP и популярная СУБД MySQL, также работающие под Windows. Прочитав эту часть книги и скачав дистрибутивы (заметьте, совершенно бесплатно!), вы будете вооружены всеми инструментами, которые так необходимы для профессиональной работы в Web!

Бытует мнение, что MySQL (а тем более для Windows 95/98) нельзя получить бесплатно, а можно только купить. Так вот, можете вздохнуть с облегчением: недавно разработчики MySQL выпустили бесплатную версию сервера для Windows 95/98, вы можете загрузить самую последнюю ее версию на офици-

альном сайте MySQL: http://www.mysql.com.

Даже если вы и не планируете в будущем использовать PHP, а предпочитаете другой язык (например, Perl), то после внимательного ознакомления с этой частью книги вы сможете на порядок упростить себе жизнь — точнее, ее часть, касающуюся написания и отладки сценариев. И это благодаря тому, что все описанное здесь почти на 100% совместимо с тем программным обеспечением, которое скорее всего установлено у вашего хостинг-провайдера (а больше половины современных хостинг-провайдеров работают с Unix, но не с Windows). Однако, если вы собираетесь всерьез заняться хостингом на платформе Win32, то лучше, наверное, будет использовать не Apache и PHP, а MIIS (Microsoft Internet Information Server — Информационный сервер Интернета Microsoft) и ASP (Active Server Pages — Активные серверные страницы), про которые, я уверен, написано множество других книг.

Эта часть книги, как уже говорилось, будет полезна не только программистам на PHP. Ведь часто возникает ситуация, когда необходимо проверить полный вид HTML-страницы. Однако чаще всего это невозможно при работе дома — технологии

SSI (Server-Side Includes — Включения на стороне сервера), CGI (Common Gateway Interface — Общий шлюзовой интерфейс) и, конечно, PHP требуют использования сервера. Как же быть? Не стоит впадать в апатию — нужно просто установить на ваш

80

Часть II. Выбор и настройка инструментария. Web-сервер Apache

домашний компьютер (пусть даже и не подключенный к Интернету) специальную программу — Web-сервер. Вообще-то серверов существует множество — плохие и хорошие, медленные и быстрые... Я предлагаю вам установить сервер, подпадающий под категории, следующие за "и". А именно — Apache. Самое главное то, что это чуть ли не единственный сервер, который позволяет работать в Windows 95/98 с технологиями PHP, CGI и Perl-сценариями одновременно так же просто и непринужденно, как будто у вас инсталлирована Unix.

Дистрибутивы и ссылки

Я привожу список ссылок на сайты, на которых всегда можно найти самые свежие версии программных продуктов. Все описываемые здесь программы были загружены и установлены мной именно с этих сайтов. Итак:

rофициальный сайт Apache: http://www.apache.org;

rофициальный сайт PHP: http://www.php.net;

rофициальный сайт MySQL: http://www.mysql.com;

rофициальный сайт Active Perl: www.activestate.com;

И еще несколько ссылок, полезных Web-программисту.

rВсероссийский Клуб Веб-мастеров: http://www.webclub.ru.

rКлуб разработчиков PHP: http://www.phpclub.net.

rЛаборатория dk: http://www.dklab.ru.

От слов к делу: установка Apache

Итак, вы решились установить на свой компьютер Apache для Windows 95/98. В таком случае вам следует запастись терпением и для начала "скачать" дистрибутив сервера с официального сайта Apache: http://www.apache.org. Советую вам выбрать самую последнюю версию сервера для платформы Windows. Теперь нам предстоит настройка Apache для вашей системы.

Мы попросим вас в точности выполнять перечисленные ниже шаги, не пропус- кая и не откладывая ни одного. Дело в том, что конфигурирование и настройка Apache — довольно непростая работа, которая обычно поручается профес- сионалам. Далее приводятся инструкции с довольно скупыми объяснениями, почему нужно сделать то или иное действие, в расчете на то, что вы будете соблюдать их буквально. В противном случае вам, скорее всего, придется до- полнительно провести пару неприятных часов (или дней) за изучением доку-

Глава 4. Установка Apache

81

ментации Apache, в частности, той ее части, которая касается конфигурирова- ния.

Этап первый: установка

1.Запустите только что полученный файл дистрибутива Apache. В появившемся диалоговом окне нажмите кнопку Next (рис. 4.1), а затем — кнопку Yes, чтобы согласиться с условиями лицензии.

Рис. 4.1. Установка Apache

Рис. 4.2. Каталог для установки сервера

82

Часть II. Выбор и настройка инструментария. Web-сервер Apache

2.Нажимайте кнопку Next в открывающихся окнах до тех пор, пока не появится запрос о выборе каталога для установки Apache (рис. 4.2). Рекомендую вам оставить тот каталог, который предлагается по умолчанию (пусть это, например,

C:\Program Files\Apache Group\Apache). Запомните его на будущее.

3.В появившемся окне установите флажок Typical (Обычная) и нажмите кнопку

Next (рис. 4.3).

4.Программа инсталляции Apache предложит создать папку в меню Пуск в папке Программы. Позвольте ей это сделать, нажав кнопку Next. Начнется процесс копирования программного обеспечения.

5.После окончания копирования нажмите кнопку Finish. Процесс установки сервера завершен, впереди — его настройка.

Рис. 4.3. Тип установки

Этап второй: настройка файла конфигурации Apache

На этом этапе вам нужно определиться с каталогом, в котором будут храниться ваши сайты. По умолчанию Apache использует для этого C:\Program Files\ Apache Group\Apache\htdocs, где сразу после установки можно найти документацию по серверу. Думаю, для серьезных целей такая дислокация не очень подходит — слишком уж длинное имя, поэтому я рекомендую создать для всех сайтов отдельный виртуальный диск (например, с именем Z:) при помощи утилиты subst, входящей в Windows. Итак, вам нужно проделать ряд действий.

Глава 4. Установка Apache

83

1.Выберите каталог, в котором будут храниться ваши сайты (их может быть несколько). Пусть, например, это будет C:\INTERNET. Ваш каталог будет содержать корневой каталог нового диска Z:.

2.В начале файла autoexec.bat (но после команды @echo off, если она у вас там есть) напишите такую строку:

subst Z: C:\INTERNET

3.Перезагрузите компьютер, чтобы новый логический диск Z: создался. Теперь все, что сохранено в каталоге C:\INTERNET, будет отображаться на панели диска Z:, как будто это — обычный жесткий диск.

Имеются сведения, что в Windows 95/98 есть ошибка. В результате при ис- пользовании subst пути иногда "сами по себе" преобразуются в абсолютные (то есть, например, в нашем случае Z: преобразуется в C:\INTERNET), при- чем в процессе работы какой-нибудь программы и совершенно неожиданно для нее. Указанная ошибка чаще всего проявляется в неработоспособности Perl-транслятора (если его не совсем корректно настроить). При работе с PHP никаких побочных эффектов не наблюдалось.

Вы можете также создать диск Z: с помощью какой-нибудь программы для виртуальных разделов (например, с помощью встроенной в Windows 95/98 программы DriveSpace). Это решение, пожалуй, даже лучше, чем использование subst, как с точки зрения экономии памяти, и с точки зрения быстродействия. Ведь что такое Webсайт, как не набор очень небольших файлов? А DriveSpace как раз и оптимизирует работу с такими файлами. Как использовать DriveSpace, смотрите во встроенной в Windows документации.

rСоздайте на диске Z: каталог home, а в нем — каталог localhost. В нем будет храниться содержимое главного хоста Apache — того, который доступен по адресу http://localhost. Перейдите в последний созданный каталог. Создайте в нем каталоги cgi и www. В первом будут храниться CGI-сценарии, а во втором — ваши документы и программы на PHP. Замечу, что подобную операцию вам нужно будет проделывать каждый раз при создании нового виртуального хоста (о них мы поговорим чуть позже). Полученная структура каталогов показана на рис. 4.4.

Откройте в Блокноте файл конфигурации httpd.conf, который расположен в подкаталоге conf каталога Apache (в нашем примере это

C:\Program Files\Apache Group\Apache). Впрочем, вы можете и не искать этот файл вручную, а воспользоваться командой Edit configuration, пройдя по це-

почке меню Пуск ú Программы ú Apache Web Server ú Management.

Httpd.conf — единственный файл, который вам нужно настроить. Вам предстоит найти и изменить в нем некоторые строки, а именно те, о которых упоминается далее. Во избежание недоразумений не трогайте все остальное. Следует заметить, что в файле каждый параметр сопровождается несколькими строками

84

Часть II. Выбор и настройка инструментария. Web-сервер Apache

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

Для начала мы настроим параметры для главного хоста Apache — localhost, а также параметры по умолчанию, которые будут унаследованы всем остальными виртуальными хостами, если мы когда-либо захотим их создать.

Рис. 4.4. Структура каталогов главного хоста

rЗадайте значение параметра ServerName следующим образом:

ServerName localhost

Только не забудьте раскрыть комментарий для поля ServerName, т. е. убрать символ # перед этим параметром (установленный по умолчанию), поскольку все, что идет после этого символа и до конца строки, Apache игнорирует.

rВ поле DocumentRoot укажите тот каталог, в котором будут размещены ваши HTML-файлы. Мы ранее договорились, что это будет z:\home\localhost\www)

DocumentRoot z:/home/localhost/www

rНайдите секцию, начинающуюся строкой <Directory диск:/> и заканчивающийся строкой </Directory> (такие блоки содержат установки для заданного каталога и всех его подкаталогов). Этот блок может содержать множество комментариев — не обращайте на них внимания. Его нужно заменить на секцию следующего вида:

<Directory z:/>

Options Indexes Includes AllowOverride All

Allow from all </Directory>

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

Глава 4. Установка Apache

85

поддержка SSI и разрешение использовать файлы .htaccess для индивидуальных настроек каталогов.

r Найдите аналогичный блок, начинающийся строкой

<Directory "C:/Program Files/Apache Group/Apache/htdocs"> и закан-

чивающийся ограничителем </Directory>. Там будет много комментариев, не обращайте на них внимание. Эту секцию вам нужно удалить, т. к. все настройки для каталога со страничками должны наследоваться от настроек по умолчанию, которые мы только что установили.

rИнициализируйте параметр DirectoryIndex так:

DirectoryIndex index.htm index.html

Это — так называемые файлы индекса, которые автоматически возвращаются сервером при обращении к какому-либо каталогу, если не указано имя HTMLдокумента. В принципе, можно добавить сюда и другие имена, например, index.php, и т. д. Тем не менее, дополнительные настройки все же лучше делать в файлах .htaccess для каждого сайта в отдельности.

rНайдите и исправьте следующий параметр:

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

Добавьте после него еще такую строчку:

ScriptAlias /cgi/ "z:/home/localhost/cgi/"

Да, именно так, с двумя слэшами — в начале и в конце. Это будет тот каталог, в котором должны располагаться ваши CGI-сценарии. Подобный параметр говорит Apache о том, что, если будет указан путь вида http://localhost/cgi-bin, то на самом деле следует обратиться к каталогу z:/home/localhost/cgi. Мы используем два псевдонима для CGI-каталога потому, что /cgi-bin/ будет доступен не только главному хосту localhost, но и всем остальным виртуальным хостам. В то же время у каждого из них будет дополнительно свой CGI-каталог /cgi/.

rТеперь следует найти блок параметров, начинающийся с <Directory "C:/ Program Files/Apache Group/Apache/cgi-bin"> и заканчивающийся

</Directory>. Это — настройки для CGI-каталога. Так как мы не собираемся указывать никаких дополнительных параметров взамен тех, которые уже установлены по умолчанию, этот блок нужно удалить.

rНайдите и настройте (не забудьте раскрыть комментарий!) следующий параметр:

AddHandler cgi-script .bat .exe .cgi

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

rИ последнее — установите следующие параметры:

AddType text/html .shtml

AddHandler server-parsed .shtml .html .htm

86

Часть II. Выбор и настройка инструментария. Web-сервер Apache

Этим вы заставляете Apache обрабатывать файлы с указанными расширениями процессором SSI.

r Теперь не забудьте сохранить изменения и закройте Блокнот.

Этап третий: тестирование Apache

Поздравляем — вы настроили свой Apache, и он должен уже работать! Для запуска сервера нажмите кнопку Пуск, затем выберите Программы, Apache Web Server, Management и Start Apache, при этом всплывет окно, очень похожее на Сеанс MSDOS, и ничего больше не произойдет. Не закрывайте его и не трогайте до конца ра-

боты с Apache.

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

1.Запустите Сеанс MS-DOS. Для этого нажмите кнопку Пуск, затем выберите Выполнить. Наберите в появившемся диалоговом окне строку command и нажмите клавишу <Enter>. Появится подсказка командной строки.

2.Наберите следующие команды DOS: c:

cd "\Program Files\Apache Group\Apache" apache.exe

3.Если до этого Apache не выполнялся, то вы получите сообщение об ошибке и номер строки в httpd.conf, где она произошла. Исправьте httpd.conf и повторите описанный процесс сначала, до тех пор, пока в окне не отобразится что-то вроде

"Apache/1.3.14 (Win32) running..."

Несколько слов о том, как можно упростить запуск и завершение сервера. В Windows можно назначить любому ярлыку функциональную комбинацию клавиш, нажав которые, вы запустите связанное с ним приложение. Так что щелкните правой кнопкой мыши на панели задач, в контекстном меню выберите Свойства, затем Настройка меню и кнопку Дополнительно. В открывшемся Проводнике присвойте ярлыку Start Apache комбинацию клавиш <Ctrl>+<Alt>+<A>, а ярлыку Stop Apache — <Ctrl>+<Alt>+<S>. Теперь вы сможете запускать сервер нажатием

<Ctrl>+<Alt>+<A> и останавливать его, нажав <Ctrl>+<Alt>+<S>.

Теперь проверим, правильно ли мы настроили сервер.

Проверка html

В каталоге z:/home/localhost/www, содержащем HTML-документы Apache, создайте файл index.html с любым текстовым наполнением. Теперь запустите браузер и наберите:

http://localhost/index.html

Глава 4. Установка Apache

87

или просто

http://localhost/

Должен загрузиться ваш файл.

Проверка SSI

В каталоге z:/home/localhost/www с HTML-документами Apache создайте файл test.shtml со следующим содержанием (внимательно следите за соблюдением пробелов в директиве include!):

Листинг 4.1. Файл test.shtml

SSI Test!<hr>

<!--#include virtual="/index.html" --> <hr>

Затем наберите в браузере:

http://localhost/test.shtml

Должен открыться файл, который состоит из текста "SSI Test!", за которым следует содержимое файла index.html между двумя горизонтальными чертами. Если этого не произошло, значит, вы неправильно сконфигурировали SSI.

Проверка CGI

В каталоге z:/home/localhost/cgi, предназначенном для хранения CGIсценариев, создайте файл test.bat с таким содержанием:

Листинг 4.2. Файл test.bat

@echo off

echo Content-type: text/html echo.

echo. Dir

Далее в браузере наберите:

http://localhost/cgi-bin/test.bat

В окне отобразится результат команды DOS dir.