Домашний индеец-апачи

Это статья подойдет, скорее, начинающим пользователям, нежели матерым админам и веб-программистам. Наша главная цель - приручить "краснокожий" веб-сервер Apache с наименьшими потерями сил и времени. Это дело не такое уж и сложное. Для успешного осуществления задумки нужно лишь запастись терпением и, собственно, самим Apache. Последний без труда можно разыскать в интернете (размер около 3 Мб) либо на специализированных CD для веб-разработчика, коих сейчас развелось превеликое множество. После установки и настройки попробуем "подружить" веб-сервер с PHP и наладить их совместную работу. Но все по порядку.

Директорию для установки веб-сервера можно выбирать любую, однако проявлять оригинальность в этом деле не советуется, поэтому предлагаю загнать нашего индейца в стандартную резервацию по адресу usr\local\apache. Диск тоже значения не имеет, в приведенных примерах будет использован диск "e".


Настройка веб-сервера

После недолгой установки, в процессе которой требуется, в основном, кликать по кнопочкам с надписью "Дальше" и "ОК", этап настройки сервера является самым ответственным. Так что соберитесь с мыслями, мы начинаем.

Для настройки потребуется поправить специальный файл конфигурации, который находится по пути usr\local\apache\conf и называется httpd.conf. С помощью любого из доступных текстовых редакторов (хоть бы и того же "Блокнота") откройте указанный файл.

В нашем случае вся настройка будет заключаться в том, чтобы находить и изменять в httpd.conf специальные строки (директивы).

Воспользуйтесь встроенным в редактор поиском и найдите поле ServerRoot - это директива, управляющая серверным процессом Apache, в целом. Устанавливая значение ServerRoot, мы указываем вершину дерева директорий, в которых содержатся файлы конфигураций, логов и ошибок. Помните, куда устанавливали своего апачи? Этот путь и задаем (в конце строки добавлять слэш не следует): ServerRoot "е:/usr/local/apache". Обратите внимание на то, как при указании путей каталогов в файле httpd.conf пишется наклонная черта.

Следуем далее и находим директиву ServerName - эта директива определяет параметры сервера по умолчанию. Она задает имя сервера (в Apache 2 сразу можно указывать и порт, однако в версии Apache 1.3 эти директивы разнесены). Считается, что ServerName указывать не обязательно, часто его значение определяется автоматически, но во избежание проблем все же зададим его явно. Пишем ServerName localhost.

Теперь следует указать директорию, из которой будут обрабатываться ваши документы (html и php). В поле DocumentRoot пишем путь, например "e:/usr/www". Теперь, когда вы будете набирать в строке браузера localhost, веб-сервер будет искать индексные файлы в этом каталоге.

Для каждой директории в Apache могут быть установлены запреты и разрешения. Блок <Directory /> ... </Directory > содержит настройки для корня сайта и всех его подкаталогов. Эти параметры распространяются на все каталоги и подкаталоги, если они не были переопределены вручную - этим мы как раз и займемся, создадим свои настройки для DocumentRoot (в нашем случае каталог e:/usr/www и его подкаталоги). Для этого находим поле, содержащее <Directory "e:/usr/local/Apache/htdocs">, и приводим его к такому виду:

<Directory "e:/usr/www">
Options Indexes Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Разберем по порядку каждую строку. Опция Indexes обеспечивает возможность автоматической генерации списка содержимого каталога при просмотре его в браузере.

Опцию Indexes имеет смысл включать в папках, содержащих архив файлов. Тогда пользователь, введя имя папки и не введя имя страницы, получит список файлов данной папки. Если не включить эту опцию, то пользователь, не введя имя страницы, получит ошибку - доступ запрещен. На реальных веб-серверах, работающих в Сети, в целях безопасности, как правило, Indexes не включают. Но на локальном компьютере осторожностью можно пренебречь, поначалу так будет проще ориентироваться.

Опция Includes позволяет использовать SSI (Server-Side Include) - включение на стороне сервера. Технология SSI позволяет собирать документ из нескольких файлов (например, можно вставлять во все страницы одинаковые блоки).

Значение All директивы AllowOverride разрешает использовать все директивы файла .htaccess для настроек отдельных папок.

Строка Order allow,deny указывает серверу, в какой последовательности проверять разрешения и запреты на отдаваемые файлы (в нашем случае - сначала разрешения, потом запреты).

Поле Allow from all разрешает всем получать доступ к файлам с сервера (в данном случае к файлам в каталоге e:/usr/www).

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

Можно установить обработчик AddHandler server-parsed .html .htm, если желаете использовать директивы SSI в своих html-файлах. Это немного скажется на производительности, но зато прибавит и целый ряд возможностей, которые несет с собой SSI (см. выше).


Установка PHP

Подружить нашего индейца с PHP совсем не сложно, индейцы-апаче вообще очень миролюбивые товарищи.

После инсталляции PHP (например, в каталог e:\usr\local\php) потребуется вновь отредактировать файл httpd.conf (установку PHP будем проводить по старинке, дабы ни у кого не возникало проблем с отсутствующими dll-ками). Итак, найдите в тексте закомментированную строку #AddType application/x-httpd-php .php и раскомментируйте ее (уберите знак #). Таким образом, вы присвоите всем файлам с расширением php тип application/x-httpd-php.

Затем добавьте строку ScriptAlias "/_php_dir/" "e:/usr/local/php/"

В результате этих изменений будет создан синоним с именем _php_dir для каталога с обработчиком PHP. Теперь нужно косвенно связать все файлы типа application/x-httpd-php с процессором языка PHP, для этого чуть ниже напишите следующую строку: Action application/x-httpd-php "/_php_dir/php.exe". Вот и все, теперь осталось только проверить, что мы там наваяли.


Тестирование

Из директории, в которую установлен Apache, запустите файл apache.exe. Если вы получили сообщение об ошибке в httpd.conf, обратите внимание на номер строки, в которой она произошла, и постарайтесь ее исправить. Скорее всего, дело просто в опечатке.

После удачного запуска создайте в корневой директории документов (DocumentRoot) файл index.html и набирайте в строке браузера localhost (это и есть имя вашего сервера). Если на экране появился результат выполнения index.html - поздравляю, ваш домашний веб-сервер заработал.

Для проверки работы PHP в той же корневой директории документов создайте файл test.php и напишите в нем текст следующего содержания: <? phpinfo();?>. Это самый простейший сценарий на PHP. Затем попробуйте запустить этот файл, должна быть отображена страница с различной информацией о PHP.

Теперь можно смело приступать к созданию собственных сайтов.

Дмитрий БАРДИЯН


Вкратце об Apache

Принято отсчитывать историю появления веб-сервера Apache с начала апреля 1995 года, когда Apache group, исправив некоторые ошибки и расширив возможности довольно популярного на то время веб-сервера httpd 1.3, разработанного NCSA (National Center for Supercomputing Applications), выпустила свою версию веб-сервера, названную Apache 0.6.1. Возможность использования свободного программного обеспечения и хорошие характеристики продукта сделали свое дело - на сегодняшний день Apache используется примерно на шестидесяти процентах серверов в интернете.


Советы и секреты


Быстрый запуск Apache 1.3.х и MySql

Лень - характерная черта каждого компьютерщика, иначе мы были бы грузчиками или сталеварами. Поэтому запуск нескольких программ должен производиться одним щелчком мыши, ведь лезть в меню "Пуск", конечно же, лень.

Для быстрого запуска связки MySql-сервера и Apache следует создать на рабочем столе bat-файл следующего содержания (предположим, что у MySql и Apache находится в каталоге e:\usr\local):

start e:\usr\local\ mysql\ bin\mysqld-nt.exe --standalone

e:\usr\local\apache\apache.exe -k start

Пример приведен для операционных систем Windows NT/2000/XP, "счастливым" обладателям 95/98 окон нужно заменить первую команду на такую: e:\usr\local\mysql\bin\mysqld.exe


Быстрое завершение работы Apache 1.3.х и MySql

При запуске созданного в предыдущем разделе ярлыка появляется окошко сеанса Ms-Dos. Однако для завершения работы запущенных программ мало только закрыть это окно - в памяти останется "висеть" сервер MySql. Для того, чтобы избавиться от него, придется "насильственно" завершать процесс из диспетчера задач Windows. Чтобы избавить себя от лишних хлопот, достаточно создать на рабочем столе еще один bat-файл, который будет "убивать" и Apache, и MySql. Вот его содержимое для Windows 9x:

e:\usr\local\apache\apache.exe -k shutdown

e:\usr\local\mysql\bin\ mysqladmin.exe -u root shutdown

Версия для печатиВерсия для печати

Номер: 

48 за 2003 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!