Знакомство с Apache

Эта первая из серии “админских” статей-руководств по превращению среднестатистической домашней машины в (W/L)AMP-сервер со всеми вытекающими.

Было бы нелогично начать серию с чего-то другого, нежели c рассказа об Apache.

Что есть Apache ?

Apache (тот, который буква A в сокращении LAMP) – это созданный усилиями open-source сообщества популярный бесплатный web-сервер. Он начинался как проект Национального Центра Суперкомпьютерных Вычислений при университете штата Иллинойс, но в последствии код был значительно переработан и передан под управление Apache Software Foundation, который ныне руководит разработкой. Основной задачей фонд ставит создание бесплатного программного обеспечения для реализации стандартных протоколов использующихся в Интернет. Сами протоколы не принадлежат никакой компании и таким-же должно быть и программное обеспечение, решили в фонде. Успешное начинание продолжает свой путь, и сейчас Apache обслуживает более 10 млн. серверов во всем мире.

Итак, Apache – это универсальный, быстрый, легко расширяемый бесплатный web-сервер, доступный для свободного скачивания и установки практически на любой платформе, как в виде бинарных файлов, так и исходных кодов. Apache реализует современные протоколы Интернет, такие как HTTP/1.1 – то есть, говоря по-русски – на его основе можно создавать веб-сайты, и размещать их в интернет.

Домашняя страница проекта: http://httpd.apache.org/ – там можно не только cкачать свежую версию, но и почерпнуть массу полезной информации.

Версионность

На сегодняшний день (май 2007г.) существует три ветки Apache – 1.3.х, 2.0.x и 2.2.х. Первая и вторая версия на данный момент активно используется на многих серверах и пока не собираются сходить со сцены. Версия 2.2 активно развивается и в скором времени вытеснит предыдущие. Для версий 1.3 и 2.0 сейчас выпускаются только security fixes – то есть заплатки безопасности. Все три версии используют разные подходы к реализации API, поэтому все три требуют разные версии модулей расширений. Важно соблюдать версионность Apache и его модулей чтобы на установку сервера не пришлось вызывать шамана с бубном и оленями.

Установка в среде Windows

Почти наверняка, на вашей домашней машине установлена какая-то из версий ОС Windows. Для установки Apache совершенно не требуется установки Linux или особой версии Windows – подойдет любая. Так как на дворе год 2007, наверняка ваша версия – Windows XP. Для начала надо скачать самому или попросить друга скачать последнюю версию Apache с сайта http://httpd.apache.org (опять же, на сегодня это 2.2.4). Для Windows, Apache распространяется в виде .msi-файла (Windows Installer) – если такового нет на вашей Windows-98 или 2000 машине, придется установить его отдельно (goto microsoft.com). После запуска инсталлера вам нужно лишь нажимать кнопку Next – он сделает все за вас. Единственное что потребуется – указать такие вещи, когда инсталлер спросит:

  1. Network domain – домен сети, может быть что угодно, для домашнего компьютера достаточно сказать “home” или чтото вроде.
  2. Server name – имя вашей машины, вы должны знать его если устанавливали Windows сами. Попробуйте нажать на ярлыке Moй Компьютер правой клавишей мыши и выбрать Свойства. В любом случае, это не имеет решающего значения – пусть имя будет “bombusbee”.
  3. Administrator’s email address – емейл админа. Достаточно написать admin@home
  4. For whom to install Apache – вопрос как установить сервер – как службу Windows – то есть как приложение, постоянно загруженное в память комьютера и работающее “в фоне”, или как обычное приложение, которое каждый пользователь будет запускать самостоятельно. Нет особенных причин, по которым вам следует выбирать второй пункт – чтобы не усложнять себе жизнь, выбираете вариант со службой.
  5. The installation type – выбирайте typical
  6. Where to install – опять же, если нет противопоказаний, устанавливайте в каталог по умолчанию (C:\Program Files\Apache Software Foundation\Apache2.2)

После окончания установки файлов, инсталлер сам “пропишет” Apache как службу Windows и запустит его.

Сервис Apache

Также, будут автоматически созданы файлы настроек (самый важный из которых httpd.conf) и тестовые html файлы. Чтобы потестировать свежеустановленный сервер, запустите браузер, наберите в строке адреса либо http://bombusbee/ либо http://localhost/ либо http://127.0.0.1/ Перед вами должна появится тестовая страница Apache. Если так – поздравляю, установка успешно завершена !

Что делать если что-то пошло не так ?

Если на вашей машине уже установлен и запущен web-сервер IIS, который идет в комплекте с Windows, то стандартный порт 80, через который происходит общение клиента (браузера) с web-сервером уже занят. Apache попытается использовать стандартный порт 80, но если он уже занят, Apache не запустится. Чтобы изменить порт который будет “слушать” Apache исправте конфигурационный файл httpd.conf (он лежит в папке conf/ под корнем Apache, см. пункт 6. установки выше) таким образом: найдите поиском строку Listen и напишите свою строку таким образом:

Listen 8080

В строке перед Listen не должно быть других символов. Знак # в httpd.conf означает строку комментария которая игнорируется сервером. После этого потребуется сохранить файл httpd.conf и перезапустить Apache. Для перезапуска откройте Панель Управления -> Администрирование -> Службы. В открывшемся списке служб найдите Apache и нажмите кнопку Перезапустить в панели наверху. Если все удачно, Apache запустится, и будет “слушать” не порт 80, а порт 8080 и к серверу придется образаться как http://bombusbee:8080/ или http://localhost:8080/ или http://127.0.0.1:8080/

Что дальше ?

Сервер “обслуживает” файлы которые находятся в папке htdocs/ под корнем установки Apache. Все файлы помещенные в этот каталог могут быть выданы сервером клиенту (например браузеру). Попробуйте положить текстовый файл, html-файл или картинку в папку htdocs/ и обратиться к этому файлу через браузер, набрав например http://localhost/myfile.txt. Если вы уже создали простейший HTML документ – положите его и потестируйте уже под реальным сервером, которым стал ваш компьютер.

17 Responses to “Знакомство с Apache”

  1. Скакунов Александр Says:

    Хорошо написал. Велкам он борд! 🙂

  2. Родион Быков Says:

    🙂 А почему у меня название статьи в URL в таком… виде ? Я хочу по-английски!

  3. BalaNce Says:

    Спасибо за статью!!! Сенк ю вери мач

  4. BalaNce Says:

    чего то коменты не добавляються:(

  5. Скакунов Александр Says:

    2 Родион: всё в твоих руках – потом напишешь статью “Как я писал плагин для WordPress”

    2 BalaNce: ну дык модерация у нас! 🙂

  6. BalaNce Says:

    так, возникла проблема с подключением модуля PHP 5 и 2-ой версии Apache(ранее стояла 1.3). В httpd.conf должна быть строка Loadmodule php_module С:/php/php5apache.dll , но её там нет. Если просто прописать- apache не запускаеться. 🙁

  7. BalaNce Says:

    что делать? мамочки:)

  8. Родион Быков Says:

    Вероятно, установка производилась с использованием инсталлятора, и в нем не было такой библиотеки. Попробуй скачать zip-архив с сайта php.net и развернуть в папку c:/php поверх уже установленных файлов php. Затем в папке настроек Apache (conf/) посмотри какие есть файлы конфигураций, наверняка все настройки php вынесены в отдельный файл, и затем “заинклюжены” в httpd.conf, поэтому соответствующей строки ты и не нашел.

  9. Родион Быков Says:

    Вдогонку – для Apache 1.3.x, 2.0.x и 2.2.x нужны разные версии модуля php.

  10. BalaNce Says:

    2 Родион
    Спасибо огромное, с вашей помощью ошибка была устранена 🙂

  11. Роман Says:

    Грамотно написано! У меня вопрос….
    Почему в сетке не могут смотреть мой сайт? Поставил на порт 8080 и не знаю в чем проблема…..

  12. Родион Быков Says:

    Роман, не зная конфигурации сетки и компутера сложно судить. Если локально все работает – т.е. когда в браузере набираем http://localhost:8080/ – то и в сетке должно быть видно по адресу присвоенному сеткой, например http://192.168.0.25:8080/ – этот IP по идее присваивается один раз при подключении, см. договор с сетью. Если сетка присваивает IP адрес динамически, т.е. каждый раз разный, то надо каждый раз смотреть параметры соединения.

    Кроме того, файрволл может “зарубать” этот порт наружу, так что см. настройки файрволла.

  13. Только если никому не покажете мою почту! Says:

    У кого Apache работает на 80-м порту? У меня не запускается с таким видом, будто порт занят. Поделитесь, как вы его освободили. В netstat 80-й порт не пишется, т.е. вроде бы свободен. Есть идеи?

  14. Только если никому не покажете мою почту! Says:

    Понял в чём дело, модем не пускает на 80-й порт из внешки, т.к. этот порт занят под его стандартный минисервер для настройки. Как его переставить на другой порт?

  15. Только если никому не покажете мою почту! Says:

    D-Link2500U

  16. Только если никому не покажете мою почту! Says:

    D-Link DSL2500U

  17. Установка сервера Says:

    […] Знакомство с Apache — начинаем с установки веб-сервера, собственно обрабатывающего запросы, например, от вашего браузера. […]

Leave a Reply

You must be logged in to post a comment.