Установка и Apache HTTP Server 2.2.x (на основе 2.2.17)
Сайт разработчика:
http://www.apache.org
Скачайте дистрибутив последней стабильной версии (Win32 Binary (MSI Installer)):
http://httpd.apache.org/download.cgi
Ставим в штатном режиме - всё по умолчанию, можно ничего не менять.
В корне диска необходимо создать каталог «apache» - в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access.log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку - «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.
Далее в директории, куда был установлен Apache, необходимо найти и открыть в текстовом редакторе файл «conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.
Правка файла httpd.conf- Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ »#») данную строку:
Код:
LoadModule rewrite_module modules/mod_rewrite.so
- Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
Код:
LoadModule php5_module "C:/php/php5apache2_2.dll"
- Добавьте строку, определяющую каталог содержащий конфигурационный файл PHP:
- Назначаем корневую директорию управления сайтами (немного раньше мы её уже создали):
Код:
DocumentRoot "C:/apache"
Код:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
</Directory>
- И замените его на нижеследующий:
Код:
<Directory />
Options Includes Indexes FollowSymLinks
AllowOverride All
Allow from all
</Directory>
- Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
Код:
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Код:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
Код:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php
</IfModule>
Код:
ErrorLog logs/error.log
- Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
Код:
ErrorLog C:/apache/error.log
Код:
CustomLog logs/access.log common
Код:
CustomLog C:/apache/access.log common
- Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке <IfModule mime_module>, необходимо найти и раскомментировать:
Код:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
- Добавьте ниже, в тот же блок <IfModule mime_module>, две строки:
Код:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
- И, наконец, найдите и раскомментируйте строки:
Код:
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf
Сохраните изменения и закройте файл "httpd.conf"
Теперь откройте файл «httpd-vhosts.conf» находящийся в директории «conf\extra», и произведите в нём следующие изменения:
Существующие блоки примеров виртуальных хостов необходимо закомментировать, либо удалить, и вставить нижеследующее:
Код:
<VirtualHost *:80>
DocumentRoot C:/apache/localhost/www
ServerName localhost
ErrorLog C:/apache/localhost/error.log
CustomLog C:/apache/localhost/access.log common
</VirtualHost>
Пример создания виртуального хоста
При необходимости установки собственных виртуальных хостов сделайте следующее:
Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:
Код:
<VirtualHost *:80>
# Папка, в которой будет корень вашего хоста.
DocumentRoot C:/apache/test.ru/www
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog C:/apache/test.ru/error.log
# Файл журнала доступа к хосту.
CustomLog C:/apache/test.ru/access.log common
</VirtualHost>
Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».
Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
Код:
127.0.0.1 test.ru
127.0.0.1 www.test.ru
Теперь перезапустите сервер Apache ярлыком «Restart», находящимся в меню «Start», откройте браузер, введите в адресной строке test.ru или
http://www.test.ru/ и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста (
http://www.test.ru/ если таковой существует), только закомментировав либо удалив строку: 127.0.0.1
http://www.test.ru/, в вышеупомянутом файле «hosts».
Документация Apache, при запущенном сервере, доступна по адресу
http://localhost/manual/
Установка и настройка веб-сервера Apache – завершена.
Создание пакетных файлов для запуска и остановки сервисов
Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.
При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.
Файл vhosts-off.txt (может содержать одну единственную строку):
Пример файла vhosts-on.txt с виртуальными хостами
http://www.test.ru/ и test.ru:
Код:
127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru
В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».
Файл запуска start-webserver.bat:
Код:
@echo off
echo.
if not exist C:\apache\vhosts-on.txt goto no_vhosts
echo Create virtual hosts:
copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET start Apache2
NET start MySQL
Файл остановки stop-webserver.bat:
Код:
@echo off
echo.
if not exist C:\apache\vhosts-off.txt goto no_vhosts
echo Restore hosts file:
copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET stop Apache2
NET stop MySQL
В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.
Теперь для запуска всего инструментария вам понадобится запустить файл start-webserver.bat, а для остановки stop-webserver.bat. При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки C:\apache, либо создать на данные файлы ярлыки, например, на рабочий стол.