Самостоятельное создание сайта
Самостоятельная раскрутка и продвижение сайта

Установка Web-сервера Apache

   ApacheДистрибутивы Web-сервера Apache скачиваем здесь:
   http://www.apache.org/dyn/closer.cgi
   http://apache.rinet.ru/dist/httpd/binaries/win32
   При поиске следует помнить, что 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 в рисунках

    Apache
   Заполните форму, как показано на картинке.

    Apache
   При выборе "Typical" установится все необходимое для полноценной работы сервера.

    Apache
    В данном окне вы можете выбрать каталог для установки сервера.

    Если всё прошло успешно, в панели задач, рядом с часами, должен появиться значок пера с синей стрелочкой, обозначающий запущенный сервис 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", либо создать на данные файлы ярлыки, например, на рабочий стол.

1039
3 40
Рейтинг: +3 , голосов 40
Вы еще не голосовали!
Добавить комментарий (комментариев: 27)
Удалить ответ

Ваш почтовый ящик никогда не будет опубликован
Трудно разобрать цифры? Нажмите на рисунок, чтобы обновить.
#1 30/08/2011 21:34 Nickolas
reply
После установки и корректировки вышеуказанных файлов при запуске апачи выдает The requested operation has failed что делать?
#2 16/05/2011 18:56 Влад
reply
На сайте собраны в удобной форме интересные материалы для вебразработчика. Нужно, оказывается, только их искать.
#3 15/05/2011 09:54 Влад
reply
Еще один вопрос. Установлен Apache 2.2. После правки файла httpd.conf п.2 и п.3, служба Apache после нажатия "Пуск" не запускается и выдает ошибку (код ишибки 1), хотя папка c:/php создана. И, возможно из за этого, при запуске phpmyadmin (localhost/phpmyadmin) в брузере выпадает ошибка 404 (страница не найдена)
16/05/2011 10:02 admin
посмотрите в логах в какой строке в файле httpd.conf ошибка
phpmyadmin - это набор php скриптов, без веб-сервера скрипты выполняться не будут
#4 05/05/2011 17:26 Архант
reply
Доброго времени! Делаю сайт CGI библиотека DLL Дельфи под IIS запускается проба, Apache 2.2.17 библиотеку на сайте видит но не выполняет = предлагает записать или найти чем выполнить
#5 24/02/2011 14:39 ERT
reply
Здравствуйте. Подскажите, пожалуйста, почему перестает запускаться apache, после подключения модуля LoadModule php5_module "C:/php/php5apache2_2.dll" и PHPIniDir "C:/php". В логе httpd.exe: Syntax error on line 130 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf: Cannot load C:/apache/PHP/php5apache2_2.dll into server: \xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.
26/02/2011 09:59 admin
смотрите в логах использование логов
#6 09/01/2011 11:14 Ivan
reply
Ура, получилось )) Теперь вопрос только в безопасности :) У кого какие иди на этот счёт? Подскажите? Подскажите, как увидеть хотябы IP-шник или просто зафиксировать того кто у меня компе шарится? ))
#7 09/01/2011 08:34 Ivan
reply
IP x xx.x xx.x xx.x xx на моём компе статический! Всё ок! Проблем возникнуть не должно!
#8 09/01/2011 08:31 Ivan
reply
Такой вопрос: Нашел это *...*.msi (Это есть Apache 2.2) Задача такова: В любой точке мира, хочу вбить в строку адреса браузера: ht tp ://x xx.x xx.x xx.x xx/ И увидеть свой сайт (простой index.html) [аналог: вбиваем ht tp ://195.214.195.105/ - Видим ht tp ://ww w.ukr.net/] Доменных имён не предлагать, оно мне не надо! Как так настроить этот Apache 2.2.17
#9 28/12/2010 20:29 Сергей
reply
Маленькая поправка... При вводе глобального Ip я попадаю не на свитч, а модем. И я так и не понял, что мне нужно настроить?
#10 28/12/2010 12:42 Сергей
reply
Уважаемый admin. У меня такой вопрос. Как мне настроить компьютер чтобы с интернета можно было видеть мой сайт? У меня стоит DSL модем после него свитч а дальше три компа. При наборе глобального IP я захожу не на свой комп, а на свитч??? Что мне сделать что бы принаборе глобального IP адреса я поподал не на свитч, а на свой комп
28/12/2010 17:16 admin
значится так,
Хаб (он же коммутатор) - устройство для объединения нескольких компов в сеть. Получив пакет данных с одного порта, он рассылает его по всем остальным.
Свич - комутирует пакеты, пересылает пакеты от одного компьютера другому используя MAC адрес.
Роутер - может управлять трафиком, определяет адрес следующего маршрутизатора, которому надо отправить IP-пакет, и порта, через который это необходимо произвести.
Из всего этого, следующий вывод, Вам нужен роутер, который будет направлять по правилам весь входящий поток на комп с веб-сервером или возможно, хаб. Бывают и "умные свитчи", которые имеют программный интерфейс.
#11 24/12/2010 19:44 Сергей
reply
Если добовляю строку PHPIniDir "c:/php" то apache не запускается и в файле error такая запись: Warning: DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost] does not exist Warning: DocumentRoot [C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.localhost] does not exist httpd.exe: Could not reliably determine the server's fully qualified domain name, using 192.168.2.243 for ServerName [Fri Dec 24 19:41:15 2010] [warn] pid file C:/Program Files/Apache Software Foundation/Apache2.2/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
#12 24/12/2010 18:30 Sergey
reply
Вот две строчки которые не дают запускаться Apache и второе у меня в c:/php/php5apache2_2.dll - нет такой библиотеки, а есть только php5.dll LoadModule php5_module "C:/php/php5apache2_2.dll" и PHPIniDir "C:/php"
#13 24/12/2010 14:44 Sergey
reply
Добрый день. После изменения изменения conf файла и перезапуска apache не хочет запускаться
24/12/2010 17:21 admin
все ошибки попадают в логи, логи бывают разные, что ж, вот краткая инструкция как пользоваться логами:
1. Читаем логи Apache: найдите в файле conf строку ErrorLog и посмотрите путь к файлу с логами, если строка закомментирована, раскомментируйте сделайте попытку запуска и опять ищите лог файл. Еще одно, каждый виртуальный хост, который Вы создали, также может иметь логи, если Вы их указали.
2. Читаем логи Apache как сервисной службы: в командной строке пишем "eventvwr.msc", далее просматриваем последние windows logs
#14 09/12/2010 15:52 Роман
reply
при запуске с панели выдает: Apache monitor is alreadi started. в чем дело
14/12/2010 11:12 admin
Apache monitor это тулза для Apache, посмотрите в трее, для Вас главное запуск Apache как сервиса
#15 23/11/2010 07:49 стас
reply
Здраствуйте!А если фаилы .bat работают,то это значит что я всё правельно установил?Или как проверить
14/12/2010 11:26 admin
файлы *.bat запускают/отключают Apache, если php выполняються значит все работает
#16 10/04/2010 11:44 admin
reply
изучайте логи, ищите ответ в гугле по тексту ошибок, думаю найдете ответ
#17 09/04/2010 15:57 Dimon4ik
reply
я так думаю что всё связанно с php , пото му что там нет библиотеки , но я качал отдельно библиотеку ,разных верси всё равно апач просто незапускается!
#18 05/04/2010 21:25 Dimon4ik
reply
[Tue Apr 06 21:21:32 2010] [notice] Child 1584: Exit event signaled. Child process is ending. httpd.exe: Syntax error on line 128 of C:/apache/local/conf/httpd.conf: Cannot load C:/php/php5apache2_2.dll into server: \xcd\xe5 \xed\xe0\xe9\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc. [Tue Apr 06 21:21:32 2010] [warn] (OS 995)Операция ввода/вывода была прервана из-за завершения потока команд или по запросу приложения. : winnt_accept: Asynchronous AcceptEx failed. Что это значит????
#19 05/04/2010 19:53 Dimon4ik
reply
Я нашол тут ошибку во 2 действии , как только я вписываю это LoadModule php5_module "C:/php/php5apache2_2.dll" у меня апач начинает говорить что неможет включится!!!а када убераю естественно он включается!
06/04/2010 09:56 admin
Здесь нет никакой ошибки, почитайте в логах причину почему не запускается апач, возможно следующие причины:
1. эта библиотека для apache версии 2.2
2. php должен быть 5 версии
3. а может у вас в папке с php просто нет этой библиотеки
#20 04/03/2010 22:15 Алексей
reply
и я не вижу страницы test.ru пишет ошибку что делать?
#21 04/03/2010 22:13 Алексей
reply
когда перезапускаю апач....как написано....пишет, что действие потерпело неудачи (что-то типо такого). что это может быть? делал как написано
#22 25/12/2009 00:10 Vbios
reply
У меня локалка+статический IP. Установлен Апач+MySql+PHP В локальной сети сайт видят. Что нужно настроить, для того, что-бы мой сайт был виден из инета?
25/12/2009 12:25 admin
если инет напрямую подключен к компу, то нужно зарегить домен и внести Запись A (про записи читай здесь http://ru.wikipedia.org/wiki/DNS) либо Запись NS. Далее надо поставить локальный DNS сервер. Для поиска какого-либо компьютера в сети Internet нужен лишь IP-адрес локального сервера DNS. Дальнейшую работу по поиску IP-адреса, соответствующего запрошенному имени, выполняет локальный DNS-сервер. Если инет идет по локальной сети от какого-то компа, то локальный DNS-сервер надо ставить на том компе. Здесь есть описание по настройке и конфигурации бесплатного DNS-сервера http://vizr.ru/page/about-download-and-setup-freeware-local-dns-server-for-windows
#23 01/10/2009 17:42 Kolya
reply
если я установлю сервер апаче на робочем компе( у нас есть корпоративная сеть) - как ето может повлиять на нее и могут ли просечь что вот сакой вот сервер есть у меня ?
01/10/2009 20:37 admin
повлиять на сеть это никак не может. Чтобы обратится к веб-серверу, Вам необходимо будет прописать название доменов и их переадресацию на ip-адрес в файле C:\windows\system32\drivers\etc\hosts
например:
127.0.0.1 test-pl1
127.0.0.1 test-pl2
Просечь, что у Вас установлен веб-сервер, можно разве что, если с другого компьютера обратятся по Вашему ip-адресу - это будет равнозначно тому, если бы Вы на своем компьютере обратились к веб-серверу "http://localhost", в данном случае пропишите ф файле "hosts":
168.0.24.23 localhost //здесь укажите левый ip
#24 20/09/2009 11:35 влад
reply
НАРОД а сервер apache на висте будет работать???????????
20/09/2009 23:17 admin
неужели тяжело погуглить? информации по этому вопросу полно
#25 17/03/2009 15:47 Fiver_X
reply
Я хотел бы загружать конфигурационные файлы из другой папки (ОС FreeBSD) как мне это сделать. по умолчанию апач берет конфиги из папку откуда он установлен
17/03/2009 18:29 admin
я просмотрел документацию apache, но загрузка конфигурационных файлов из другой папки нигде не предусмотрена, я бы посоветовал Вам с помощью копирования файлов подменять один файл другим, и делать рестарт. Вот почитайте здесь http://www.host.ru/support/hosting/apache.html
#26 08/02/2009 20:26 MIchail
reply
>>>copy /v /y C:apachevhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts не всегда работает, особенно на висте
09/02/2009 11:33 admin
Все может быть, тогда сделаем код попроще
#27 02/02/2009 18:43 nedash
reply
Вот я установил Апачи зделал все как написано, но не понемаю как им пользоваться. Создал HTML страничку (nedash.html) и что мне надо зделать чтоб когда я в браузере прописую localhost она появлялась? А то я уже сутки мучаюсь
02/02/2009 22:43 admin
Файл nedash.html не является индексным, переименуйте его на index.html, кроме того, не забывайте, что веб-сервер Апач выполняет скрипты написаные на серверных языках (например, php), а файлы типа *.html он просто выводит на экран как они есть со всем содержимым

Дополнительно

» С чего начать сайт?

» Установка программ

» Пример создания сайта

» Хостинг и домен

» Оптимизация сайта

» Раскрутка сайта

» Заработок web-мастера

» Примеры PHP/Javascript

» Блог и мои записки

Последние новости

Статьи по рейтингу

» Особенности покупки контента 5.0 1
» Выбор хостинга 4.8 5
» Поисковые системы 4.7 9
» Курс молодого web-мастера 4.6 21
» Где взять бесплатные ссылки 4.5 11
» Что такое сниппеты 4.5 6
» Addstudio - SEO модуль 4.5 4
» Отладка js и CSS 4.4 14
» Стратегия дохода на Sape.ru 4.3 3
» Каталоги и биржи статей 4.3 4