Дистрибутивы Web-сервера Apache скачиваем здесь:
При поиске следует помнить, что Apache так же может называться httpd. На зеркалах обычно много различных файлов, например:
httpd-2.0.49-win32-src.zip - это архив с исходными кодами (src) для Windows (win32) Web-сервера Apache (httpd) версии 2.0.49.
httpd-2.0.49.tar.gz - тоже самое, но для Linux, в котором программы принято распространять в исходных кодах.
apache_2.0.50-win32-x86-no_ssl.exe - а вот это, откомпилированный под архитектуру (x86) для Windows (win32) без поддержки SSL(no_ssl) сервер Apache (apache) версии 2.0.50
Установка Web-сервера Apache в рисунках
Заполните форму, как показано на картинке.
При выборе "Typical" установится все необходимое для полноценной работы сервера.
В данном окне вы можете выбрать каталог для установки сервера.
Если всё прошло успешно, в панели задач, рядом с часами, должен появиться значок пера с синей стрелочкой, обозначающий запущенный сервис Apache. Но не радуйтесь, это только начало. :)
Сперва щелкаем на значке пера в панели задач правой кнопкой мышки и выбираем "Open Services". В открывшемся окне управления служб выбираем строку "Apache2.2" и делаем на ней двойной щелчок, после чего во вкладке "General" ("Общие") выбираем ручной запуск сервиса - "Startup type: Manual" ("Тип запуска: вручную"). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.
В корне диска С: необходимо создать каталог "apache" - в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок "error.log" (создается программой при первом запуске, автоматически), глобальный файл доступа "access.log" (создается автоматически). В каталоге "apache" создаем еще одну пустую папку - "localhost", в которой, в свою очередь, создаем папку "www", именно в последней и будет надодится проект нашего сайта в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.
Далее в директории, куда был установлен Apache, необходимо найти и открыть в текстовом редакторе файл "httpd.conf", являющийся основным конфигурационным файлом сервера Apache. Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут. :)
Правка файла httpd.conf
1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ "#") данную строку:
LoadModule rewrite_module modules/mod_rewrite.so
2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
LoadModule php5_module "C:/php/php5apache2_2.dll"
3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
PHPIniDir "C:/php"
4. Найдите строку:
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
Назначьте корневую директорию управления сайтами (немного раньше вы ее уже создали):
DocumentRoot "C:/apache"
5. Найдите данный блок:
<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>
6. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
<directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</directory>
7. Найдите блок:
<IfModule dir_module>
DirectoryIndex index.html
</ifmodule>
Замените его на:
<ifmodule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php
</ifmodule>
8. Найдите строку:
ErrorLog logs/error.log
Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
ErrorLog C:/apache/error.log
9. Найдите строку:
CustomLog logs/access.log common
Замените на:
CustomLog C:/apache/access.log common
10. Для работы SSI (включения на стороне сервера), необходимо найти блок <IfModule mime_module>
и раскомментировать следующие строки:
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
11. Добавьте ниже, в тот же блок <IfModule mime_module>
, две строки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
12. Найдите и раскомментируйте строки:
Include conf/extra/httpd-autoindex.conf
Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-manual.conf
Include conf/extra/httpd-default.conf
13. Сохраните изменения и закройте файл "httpd.conf"
14. Теперь откройте файл "httpd-vhosts.conf" находящийся в директории "confextra", и произведите в нём следующие изменения:
Существующие блоки примеров виртуальных хостов необходимо закомментировать, либо удалить, и вставить нижеследующее:
<VirtualHost *:80>
DocumentRoot C:/apache/localhost/www
ServerName localhost
ErrorLog C:/apache/localhost/error.log
CustomLog C:/apache/localhost/access.log common
<VirtualHost>
Пример создания виртуального хоста
При необходимости установки собственных виртуальных хостов сделайте следующее:
1. Откройте файл "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>
2. Затем в каталоге "apache", создайте папку "test.ru" (прямо так, с точкой), в которой, в свою очередь, создайте папку "www".
3. Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 test.ru
127.0.0.1 www.test.ru
Теперь перезапустите сервер Apache ярлыком "Restart", находящимся в меню "Start", откройте браузер, введите в адресной строке test.ru или www.test.ru и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста (www.test.ru если таковой существует), только закомментировав либо удалив строку: 127.0.0.1 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 (может содержать одну единственную строку):
127.0.0.1 localhost
Пример файла vhosts-on.txt с виртуальными хостами 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 C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET start Apache2.2
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 C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts
echo.
:no_vhosts
NET stop Apache2.2
NET stop MySQL
В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла "hosts", просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.
Одновременно с сервисами удобно запускать программу Apache Motinor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл
"start-webserver-monitor.bat", содержание которого аналогично файлу "start-webserver.bat" с добавлением в самый конец следующей строки:
start "" "C:\Program Files\Apache Software Foundation\Apache2.2\bin\ApacheMonitor.exe"
Теперь для запуска всего инструментария вам понадобится запустить файл
"start-webserver-monitor.bat", или "start-webserver.bat", а для остановки "stop-webserver.bat". При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки "C:\apache", либо создать на данные файлы ярлыки, например, на рабочий стол.