Главная страница/Документация/Инструментарий веб-разработчика/
Установка Apache HTTP Server 2.2.22
Статья описывает процесс установки и первоначальной настройки на локальном компьютере, работающим под операционной системой Windows XP, прекрасно зарекомендовавшей себя связки программ, используемых при создании, как крупных, так и средних веб-проектов: Apache, MySQL, PHP и phpMyAdmin.
Авторы:Виктор Волков, Иван Шумилов
Содержание:
Сайт разработчика:http://www.apache.org/ Дистрибутив (Apache 2.2 Win32 Binary): http://www.apachelounge.com/download/ Прямая ссылка:httpd-2.2.22-win32.zip
Вот он – великий и ужасный. Сгубивший на своём веку множество начинающих веб-разработчиков, сложивших головы на настройке его конфигурационных файлов. 🙂 Но мы с вами люди, крепких нервов и стальных желудков — поэтому, поехали.
Начальная установка и настройка
Распакуйте архив дистрибутива в каталог C:\Apache2.
Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.
Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут.
Установка Apache 2, PHP 5 и MySQL в Ubuntu
🙂
Правка файла httpd.conf
- Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
LoadModule rewrite_module modules/mod_rewrite.so
- Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
LoadModule php5_module «C:/php/php5apache2_2.dll»
- Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
PHPIniDir «C:/php»
- Найдите и раскомментируйте строку:
ServerName www.example.com:80 Отредактируйте ее следующим образом установив изначальное имя сервера: ServerName localhost:80
- Найдите строку:
DocumentRoot «c:/Apache2/htdocs» Назначьте корневую директорию управления сайтами (немного позже мы ее создадим): DocumentRoot «C:/apache»
- Найдите данный блок:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> И замените его на нижеследующий: <Directory /> Options Includes Indexes FollowSymLinks AllowOverride All Allow from all </Directory>
- Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:
<Directory «c:/Apache2/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-mpm.conf 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»
Теперь откройте файл «C:\Apache2\conf\extra\httpd-vhosts.conf» и произведите в нем следующие изменения.
Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее: NameVirtualHost *:80
<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»
Настройка конфигурационныйх файлов завершена, теперь необходимо установить сервис Apache2.2.
Установка сервиса Apache2.2 в картинках
Если все прошло успешно, движемся дальше — устанавливаем ручной запуск сервиса Apache2.2 для чего проходим путь: «Start» («Пуск») → «Control Panel» («Панель управления») → «Administrative Tools» («Администрирование») → «Services» («Службы»), в открывшемся окне управления служб выбираем строку «Apache2.2» и делаем на ней двойной щелчок, после чего во вкладке «General» («Общие») выбираем ручной запуск сервиса — «Startup type: Manual» («Тип запуска: вручную»). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.
Создание структуры каталогов виртуальных хостов
В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access.log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.
Пример создания виртуального хоста
При необходимости установки собственных виртуальных хостов сделайте следующее:
Откройте файл «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 выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».
Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/
Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd.exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».
Установка и настройка веб-сервера 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 /v /y 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 /v /y 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 Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:
start «» «C:\Apache2\bin\ApacheMonitor.exe»
Теперь для запуска всего инструментария вам понадобится запустить файл «start-webserver-monitor.bat», или «start-webserver.bat», а для остановки «stop-webserver.bat». При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки «C:\apache», либо создать на данные файлы ярлыки, например, на рабочий стол.
 Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»
 Вот что мы должны увидеть при успешной установке сервиса Apache2.2.
|