Софт-Архив

Web Сервер Apache img-1

Web Сервер Apache

Рейтинг: 4.7/5.0 (1855 проголосовавших)

Категория: Windows: Web серверы

Описание

Установка и настройка Apache HTTP Server

Установка Apache HTTP Server 2.2.22

Статья описывает процесс установки и первоначальной настройки на локальном компьютере, работающим под операционной системой Windows XP, прекрасно зарекомендовавшей себя связки программ, используемых при создании, как крупных, так и средних веб-проектов: Apache, MySQL, PHP и phpMyAdmin.

Сайт разработчика: http://www.apache.org/

Вот он – великий и ужасный. Сгубивший на своём веку множество начинающих веб-разработчиков, сложивших головы на настройке его конфигурационных файлов. ) Но мы с вами люди, крепких нервов и стальных желудков - поэтому, поехали.

Начальная установка и настройка

Распакуйте архив дистрибутива в каталог C:\Apache2.

Откройте в текстовом редакторе файл "C:\Apache2\conf\httpd.conf", являющийся основным конфигурационным файлом сервера Apache.

Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут. )

Правка файла httpd.conf
  1. Для загрузки модуля 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

    Deny from all

    </Directory>

    И замените его на нижеследующий:

    Allow from all

    </Directory>
  • Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так: </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"

    Другие статьи, обзоры программ, новости

    Web сервер apache

    Установка web-сервера Apache под windows XP

    Apache HTTP-сервер - это кроссплатформенный веб-сервер с открытым исходным кодом. С апреля 1996 это самый популярный HTTP-сервер в Интернете; в августе 2007 года он работал на 51% всех веб-серверов. Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Официальный сайт: httpd.apache.org .

    Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy» (англ. «заплаточный»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х сервер был переписан заново и теперь не содержит кода NCSA, но имя осталось. На данный момент разработка ведется в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности.

    Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты.

    Зачем может потребоваться устанавливать веб-сервер у себя на компьютере? Вот два варианта: а) если у вас есть доступ в Интернет, то перед загрузкой страниц вашего сайта на реальный сервер можно их создавать и отлаживать на своем локальном компьютере. б) если у вас нет выхода в Интернет, а есть локальная сеть в классе, можно установить сервер и использовать его для учебных целей.

    1. Для отделения web-проектов от всех остальных, все программное обеспечение, html-страницы, скрипты и т.д. в этом примере будем устанавливать в отдельный каталог С:\MyServers. В этом каталоге создадим каталог usr для необходимых программ и home для хранения сайтов. Вы можете выбрать другое название и положение каталогов.

    2. Будем устанавливать последнюю версию Apache 2.2.8. Сначала необходимо скачать себе свежую версию дистрибутива для инсталляции Apache. По адресу http://httpd.apache.org/download.cgi выбираем одно из зеркал для скачивания дистрибутива сервера Apache. Например, это могут быть http://www.sai.msu.su/apache/httpd/binaries/win32/. http://apache.rinet.ru/dist/httpd/binaries/win32/. http://apache.rediska.ru/httpd/binaries/win32/ или другие. Версии для всех платформ в т.ч. и для Win32 распространяются бесплатно.

    Так же на этой странице есть ссылки на два дистрибутива:

    Win32 Binary without crypto (no mod_ssl) (MSI Installer): apache_2.2.8-win32-x86-no_ssl.msi

    Win32 Binary including OpenSSL 0.9.8g (MSI Installer): apache_2.2.8-win32-x86-openssl-0.9.8g.msi

    Примечание:

    SSL (англ. Secure Sockets Layer — уровень защищённых гнёзд) — криптографический протокол, обеспечивающий безопасную передачу данных по сети Интернет. При его использовании создаётся защищённое соединение между клиентом и сервером. Для доступа к страницам, защищённым протоколом SSL, в URL вместо обычного префикса http, как правило, применяется префикс https, указывающий на то, что будет использоваться SSL-соединение. Для работы SSL требуется, чтобы на сервере имелся SSL-сертификат.

    По адресу http://httpd.apache.org/docs/2.2/ можно познакомится с документацией (для этой версии).

    3. Запускаем файл установки и следуем указаниям мастера установки.

    Соглашаемся с лицензионным соглашением.

    На следующем шаге Вам предлагается настроить параметры сервера. В качестве домена и имени указываем localhost. в качестве адреса, куда будут отсылаться уведомления сервера, любой адрес, например: admin@localhost .

    Мнемоническое имя компьютера «localhost» обозначает то же самое сетевое устройство (компьютер), с которого осуществляется отправка сетевого пакета или установление соединения. Т.е. это тот самый компьютер, где вы устанавливаете веб-сервер. Обычно «localhost» ставится в соответствие адресу 127.0.0.1.

    Сервер Apache может запускаться в одном из двух режимов: как служба или вручную. В нашем примере сервер будет запускаться для всех пользователей автоматически как служба. Внимание! Данная статья не рассматривает вопросы администрирования и защиты сети и Windows .

    Выбираем типовую установку.

    Выбираем место для установки сервера. Можно оставить по умолчанию, но рекомендую все программное обеспечение для работы сети ставить в одну папку, например: С:\MyServers (так проще). Щелкните кнопку Change. и в окне выбора пути укажите: C:\MyServers\usr\local\ вместо C:\Program Files\Apache Software Foundation\Apache2.2\

    Если все сделали правильно и уверены в этом :) нажимаем кнопочку Install

    Начнется процесс установки.

    В конце для выхода из мастера установки нажимаем кнопочку Finish

    После завершении инсталляции сервер автоматически запустится (должен запустится) и в трее около часов появится значок .

    Если на значке появился зеленый треугольник, значит сервер нормально установился и запустился.

    Двойной щелчок по это значку выведет вам вот такое окошко:

    Тут можно видеть статус службы и при необходимости остановить, запустить, перезапустить и т.д.

    В дальнейшем (после следующего запуска компьютера) этот значок (в этой версии) уже не появится самостоятельно. Поэтому можно добавить запуск Monitor Apache Servers в автозагрузку в ручную.

    Проверим его работоспособность запустив браузер и в адресной строке введя адрес вашего сервера, в нашем случае http://localhost или просто localhost. Если Вы увидите такую страницу, то можно Вас поздравить - сервер вы установили, осталось немного его настроить.

    4. Для настройки сервера открываем файл конфигурации, либо через "Пуск",

    либо вручную в той папке, в которую установили Аpache, в нашем случае C:\MyMyServers\usr\local\Apache2.2\conf\httpd.conf.

    httpd.conf - это единственный файл, который нужно настроить. Вам предстоит найти и изменить в нем некоторые строки. Желательно, чтобы потом не было мучительно больно :), сначала сделать копию этого файла. Вдруг что-то лишнее поудаляете. В этом файле много комментариев, которые начинаются с знака #. Некоторые параметры также первоначально закомментированы.

    а) Установите значение параметра ServerName следующим образом ServerName localhost. (без точки в конце)

    б) Вместо DocumentRoot "C:/MyServers/usr/local/Apache2.2/htdocs" укажите DocumentRoot "C:/MyServers/home/localhost/www". C:/MyServers/home/localhost/www - это каталог в котором будут размещаться ваши html -файлы. C:\MyServers\home мы создали в самом начале. Создайте теперь еще каталог С:\MyServers\home\localhost, в нём создайте 2 каталога: \cgi и \www.

    в) Найдите секцию, начинающуюся с <Directory /> и заканчивающуюся </Directory>. Замените ее на

    <Directory C:/MyServers/home/>

    AllowOverride All

    Allow from all

    </Directory>

    Этот блок будет хранить настройки для всех ваших каталогов по умолчанию.

    г) Найдите секцию начинающуюся с <Directory "C:/MyServers/usr/local/Apache2.2/htdocs"> и заканчивающийся </Directory>. удалите ее полностью, включая комментарии.

    д) Найдите блок

    <IfModule dir_module>

    DirectoryIndex index.html

    </IfModule>

    Здесь задаются так называемые файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории, если не указано имя html-документа. В принципе, можно добавить сюда и другие имена, например index.htm и index.php (если вы дальше будете устанавливать PHP и использовать/писать скрипты), а можно дополнительные настройки делать в файлах. htaccess. Исправим, например, блок на:

    <IfModule dir_module>

    DirectoryIndex index.php index.htm index.html

    </IfModule>

    е) Если вы не будете использовать cgi-скрипты, то этот пункт можно пропустить. Исправьте параметр ScriptAlias:

    ScriptAlias /cgi-bin/ "C:/MyServers/usr/local/Apache/cgi-bin/" на ScriptAlias /cgi-bin/ "C:/MyServers/home/localhost/cgi". Добавьте после него еще такую строчку: ScriptAlias /cgi/ "C:/MyServers/home/localhost/cgi". Это будет каталог в котором будут располагаться ваши CGI-сценарии.

    Удалите блок <Directory "C:/MyServers/usr/local/Apache2.2/cgi-bin">. </Directory> так как мы не собираемся использовать никаких дополнительных настроек.

    Найдите и измените строку AddHandler cgi-script (не забудьте убрать комментарий): AddHandler cgi-script .cgi .bat .exe .pl Этот параметр говорит о том, что файлы с расширениями .cgi .bat .exe .pl следует рассматривать как cgi-скрипты.

    ё) Если будете использовать SSI. то установите следующие параметры:

    AddType text/html .shtml

    AddHandler server-parsed .shtml .html .htm

    ж) Директивы Listen задают IP- адреса и порты, на которых сервер Apache будет "слушать", ожидая подключения. В общем случае количество таких директив не ограничено. Если вы будете использовать сервер только для откладки своих сайтов укажите лишь Listen 127.0.0.1:80 .

    5. Все. Сохраните изменения! Перезапустите ( Restart ) сервер. Если все сделано правильно, то сервер будет работать. Запустите браузер и проверьте как раньше. В браузере вы увидите страницу с "Index of /" потому что мы не поместили в каталог C:/MyServers/home/localhost/www главную(индексную) страницу (например, index.htm). Чтобы увидеть что-то более интересное создайте и сохраните туда свою html -страницу. Это можно сделать либо с помощью какого-либо веб-редактора, либо пишем приведенный ниже текст в блокноте и сохраняем файл с расширением .htm l (или .htm. а не .txt). При сохранении странички в блокноте выберите тип файла: все файлы и в поле имя файла укажите index.htm.

    текст файла index.htm l (можно скопировать и сохранить):

    <html>

    <head>

    <meta http-equiv="Content-Language" content="ru">

    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

    <title>Первая страница</title>

    </head>

    <body>

    <p>Это моя страничка!</p>

    </body>

    </html>

    Запустив браузер и в адресной строке введя адрес вашего сервера, в нашем случае http://localhost или просто localhost вы увидите такую страницу. Можно Вас поздравить - сервер вы установили и настроили.

    Теперь создаем свои веб-странички, размещаем их у себя на сервере (в C:/MyServers/home/localhost/www) и.

    Для доступа к вашему серверу из локальной сети на любом из компьютеров пишем адрес сервера, например: http://server или просто server (т.к. имя компьютера в примере server, а если у вас, например, имя компьютера pc11. то будет http://pc11 ). Обратите внимание, что доступ возможен только, если он разрешен (не запрещен) в параметрах Listen.

    Для создания html- страниц можно использовать Nvu 1.0 - бесплатный редактор web-страниц. Размер примерно 6,76 МБ. Скачать можно с http://nvu.mozilla-russia.org/. Официальный сайт программы Nvu http://www.nvu.com/. NVU это Open Source проект Linspire по созданию визуального (WYSIWYG) HTML редактора. Основой для создания NVU послужила часть кода выделенного из Mozilla.

    Или же можно использовать KompoZer — проект-преемник Nvu. KompoZer - бесплатный HTML-редактор, предоставляющий новичкам, не обладающим знаниями HTML, все необходимые средства для создания собственных веб-документов. Программа достаточно проста и интуитивно понятна в использовании, обладает некоторым набором возможностей из FrontPage и Dreamweaver, имеет редактор стилей и др.

    Из платных редакторов можно отметить Microsoft Office FrontPage 2003 или его приемника Microsoft Office SharePoint Designer 2007.

    Урок 1: Установка и настройка веб-сервера Apache

    18 января 2013. Автор: Joker-jar

    Версия программы, использовавшейся при написании материала, уже успела устареть, поэтому некоторые моменты могут незначительно отличаться.

    Ну что ж, мы поговорили достаточно о веб-сервере, пришло время его нам установить и опробовать в деле. Существует сформировавшийся перечень наиболее распространенных веб-серверов, при выборе во внимание принимаются конкретные задачи, под которые он разворачивается. Остановим наш выбор на бесплатном веб-сервере Apache. Считаю его идеальным для сайтов начального и среднего уровня. Конечно, можно пойти легким путем — установить готовый комбайн Denwer, как это делает большинство новичков, но в нашем случае помимо результата важны также и теоретические знания. А после сегодняшнего урока ваш скилл повысится однозначно :)

    Идем на страницу загрузки проекта — http://httpd.apache.org/download.cgi и качаем последнюю стабильную версию под Windows в виде MSI инсталлятора (в моем случае это был apache_2.2.14-win32-x86-no_ssl.msi). Начнем установку. Первый диалог, который может ввести нас в заблуждение — это диалог ввода информации о сервере:

    Конфигурировать наш сервер мы будем после установки, а сейчас давайте не будем особо париться и впишем в поля "Network Domain" и "Server Name" localhost, а в поле "Administrator's Email Address" ваш адрес электронной почты (о том, что такое localhost, речь пойдет позже). Нижние переключатели не трогаем. Жмем "Next", соглашаемся с типичной установкой, еще раз "Next". Инсталлятор предложит выбрать директорию, в которую будет установлен веб-сервер:

    На мой взгляд, путь слишком длинный, давайте сократим его до C:\Program Files\Apache. Продолжаем установку, дожидаемся ее окончания. После закрытия инсталлятора в трее появится значок Apache монитора:

    Данная утилита позволяет запустить, остановить, перезапустить наш веб-сервер, узнать его статус. Сам же Apache установился у нас как сервис, который будет автоматически стартовать при загрузке компьютера:

    Теперь давайте вспоминать то, о чем мы беседовали в статье "Принципы функционирования веб-сервера". Как вы помните, у каждого компьютера, подключенного к сети, есть свой IP-адрес. Но даже если ваш компьютер не имеет ни одного сетевого подключения, у него есть как минимум один внутренний IP-адрес. Этот адрес — 127.0.0.1. На всех компьютерах он одинаковый и указывает на сам компьютер. То есть, если сетевому клиентскому приложению указать адрес сервера 127.0.0.1, то клиент будет пытаться подключиться к серверу, расположенному на вашем же компьютере. Далее мы говорили о доменных именах, которые преобразуются в IP-адреса DNS-серверами. У внутреннего адреса 127.0.0.1 есть свое внутреннее доменное имя — localhost. При этом для преобразования этого имени в адрес компьютеру не нужно обращаться к DNS-серверу, так как это соответствие заложено в самом компьютере.

    Давайте запустим веб-браузер и введем в адресную строку домен localhost:

    Я надеюсь, вы понимаете, что произошло? Домен localhost преобразовался в IP-адрес 127.0.0.1, веб-браузер подключился к веб-серверу по этому адресу и 80 порту и запросил главную страницу с помощью протокола HTTP. То есть наш веб-сервер работает, он отправил браузеру страничку с надписью "It works" ("работает").

    Приступим к настройке нашего веб-сервера, которая сводится к редактированию конфигурационных файлов Apache. Для начала необходимо обзавестись удобным, практичным и в то же время простым текстовым редактором. Если у вас такой уже есть — мои поздравления, если же вы несчастный пользователь Блокнота, могу предложить редактор AkelPad. Перейдите в папку C:\Program Files\Apache\conf и переименуйте файл httpd.conf в httpd.conf.bak. чтобы в случае чего иметь под рукой начальную конфигурацию. Создайте новый файл httpd.conf со следующим содержимым:

    Разбираемся. ServerRoot — путь, куда установлен наш веб-сервер. Обратите внимание на слеши. Listern — указывается номер порта, который будет "слушать" веб-сервер, а также, если необходимо, IP-адрес (если у вашего компьютера несколько подключений и нужно принимать соединения только по одному из них). Мы указали порт 80, который является стандартным для веб-серверов. LoadModule загружает модуль веб-сервера, модули позволяют получить дополнительные возможности. В нашем конфигурационном файле прописан перечень стандартных модулей. AddDefaultCharset — кодировка по умолчанию, выставили юникод (UTF-8). Остальное пока нас мало волнует.

    А теперь самое главное. Не забыли, для чего устанавливаем веб-сервер? Правильно, для работы над нашими будущими сайтами. Существует понятие корневой каталог — это каталог, где расположен контент сайта, то есть файлы, из которых он состоит. По умолчанию в нашем Apache корневым каталогом является каталог C:\Program Files\Apache\htdocs. Перейдя туда вы обнаружите там единственный файл под именем index.html. Это тот самый файл, который содержит главную страницу с надписью "It works" по адресу http://localhost. Дело в том, что если в запросе (который, кстати, называется url) отсутствует имя файла, то веб-сервер ищет файл с одним из стандартных имен. Эти имена (точнее, одно имя — index.html ) прописаны у нас в конфигурационном файле:

    Таким образом, при запросе http://localhost веб-сервер будет искать файл C:\Program Files\Apache\htdocs\index.html. при запросе http://localhost/docsC:\Program Files\Apache\htdocs\docs\index.html (в том случае, если docs — папка), при запросе http://localhost/news.htmlC:\Program Files\Apache\htdocs\news.html и так далее.

    При веб-строительстве удобно иметь не один, а, скажем, три локальных (находящихся на локальной машине) домена, на которых можно независимо тестировать ваши сайты. Apache позволяет обслуживать несколько сайтов, то есть вам не придется для каждого домена устанавливать свою копию веб-сервера (к тому же, мы помним, что на компьютере может работать только одно серверное приложение на определенном порту). Несколько доменных имен могут ссылаться на один и тот-же IP-адрес. Apache, в свою очередь, может в зависимости от доменного имени, переданного в HTTP-запросе (вспоминаем параметр Host, статья "Принципы функционирования веб-сервера" ), искать файлы в определенном корневом каталоге. Такая технология называется "виртуальный хост" .

    Итак, localhost соответствует адресу 127.0.0.1, давайте создадим еще три внутренних домена test-domain1, test-domain2 и test-domain3, которые будут соответствовать этому же адресу. Откройте в текстовом редакторе файл C:\WINDOWS\system32\drivers\etc\hosts. В этом файле можно задать соответствия доменных имен и IP-адресов. Здесь же мы обнаружим то самое соответствие localhost адресу 127.0.0.1. Добавьте в конец файла строки:

    Перед обращением к DNS-серверу соответствие ищется в этом файле, и, если удачно, обращение отменяется и используется найденный адрес.

    Следующим шагом необходимо каждому доменному имени создать свой корневой каталог и сказать об этом нашему веб-серверу. Удаляем в папке C:\Program Files\Apache\htdocs файл index.html и создаем там три папки: test-domain1. test-domain2 и test-domain3. в каждой из этих папок папку log — для логов и папку www — собственно, корневой каталог для домена. В конце файла C:\Program Files\Apache\conf\httpd.conf дописываем следующее:

    Три блока VirtualHost описывают наши три виртуальных хоста. Каждому задается свой корневой каталог — DocumentRoot. путь к логу ошибок — ErrorLog и логу доступа — CustomLog .

    В корневом каталоге каждого домена создайте по файлу index.html с содержимым "Hello from test-domain1", "Hello from test-domain2" и ""Hello from test-domain3". Чтобы изменения в конфигурации вступили в силу, необходимо перезапустить Apache (левой кнопкой мыши по значку Apache монитора -> Restart). Если ошибок не было допущено, должно все работать:

    Поздравляю, теперь у вас есть настроенный веб-сервер с тремя локальными хостами. Раздолье для веб-мастера :) Самое время приступить к изучению основ веб-строительства.

    Web-сервер Apache для систем Linux

    Web-сервер Apache для систем Linux

    Максим Афанасьев

    Проект web-сервера Apache берет свое начало от сервера httpd. Пакет httpd был разработан Робом Макколом в Национальном центре по применению суперкомпьютеров (National Center for supercomputing, NCSA) в США. К 1995 году сервер httpd представлял собой один из самых популярных проектов по разработке web-серверов. Однако в том же году разработчик покинул NCSA и дальнейшее развитие проекта заморозилось. Тогда небольшая группа высококвалифицированных web-администраторов занялась последующей поддержкой, модернизацией и развитием данного проекта. В дальнейшем эта группа администраторов собрала вокруг себя единомышленников и стала ядром команды, которая впоследствии получила название Apache Group Incorporated. В 1995 году она разработала обновления для пакета httpd 1.3 и в конечном счете выпустила очередную версию сервера под названием Apache 0.6.2. С тех пор эта группа всецело посвятила себя модернизации и совершенствованию данного сервера. С 1996 года этот проект является одним из самых популярных в мире.

    В настоящее время существует три версии этого web-сервера, которые развиваются независимо друг от друга.

    Серверы, которые маркируются этой версией, отличаются стабильной работой, многочисленными «заплатками» в системе безопасности и имеют в своей основе первоначальный движок, разработанный еще в те далекие времена. Основным их отличием от других параллельных разработок является отсутствие многочисленных дополнительных модулей, а также поддержки в их разработке. То есть это web-сервер, лишенный всяческих излишеств, — при поддержке большинства технологий он остается компактным и быстрым в работе. Единственный его недостаток — это отсутствие поддержки IPv6 и многопроцессорности (потоков стандарта POSIX). В большинстве случаев эта версия сервера Apache используется только на UNIX-подобных системах, так как правильной оптимизации для других систем в данном пакете не предусмотрено. На текущий момент самой последней версией из этой линейки является Apache 1.3.39.

    Пакеты Apache этой версии поддерживают практически все новейшие технологии. Движок web-сервера был полностью переписан, и практически все модули к нему также подверг­лись кардинальным изменениям. Эта ветвь Apache хотя и развивается отдельно от версии 2.2.х, но почти не отличается от нее, за исключением того, что в ней отсутствует большинство дополнительных модулей. Ядро пакета не только предполагает использование web-сервера в операционных системах UNIX, но и обеспечивает его быструю и эффективную работу с операционными системами BeOS, Windows и др. Все последние обновления по безопасности к этому web-серверу совмещены в версии 2.0.61.

    Данная версия является самой продвинутой по сравнению с остальными. Пакеты этого типа сочетают в себе достоинства нового ядра 2.0 и дополнительных модулей, которые существенно расширяют возможности web-сервера. Отдельно стоит отметить полноценную поддержку протокола IPv6, мультипотоков, наличие большого количества модулей и простоту их разработки. В настоящий момент большинство дистрибутивов операционных систем на базе UNIX, содержат в себе пакет Apache именно этой версии. Последний релиз данного пакета — Apache 2.2.6.

    Все вышеперечисленные версии доступны для загрузки на сайте разработчиков httpd.apache.org. Там же можно найти необходимые и дополнительные модули для web-сервера, в создании которых принимали участие не только главные разработчики, но и сторонние люди. Стоит отметить, что модули, написанные для версии 1.3.х, не будут работать для версий 2.0.х и 2.2.х, и наоборот, то есть каждая из версий предполагает использование только написанных для нее плагинов.

    Как и большинство программ для Linux, пакет Apache распространяется по лицензии GPL, то есть бесплатно. Загрузить его можно с нескольких серверов, ссылки на которые расположены на сайте разработчиков. Web-сервер Apache представлен в виде tar.gz- или tar.bz2-архива для платформы Linux. В архиве находится исходный код, который необходимо скомпилировать для получения рабочей программы. Компиляция проходит обычным путем.

    Прежде чем начать компиляцию, необходимо запустить файл для автоматической конфигурации пакета перед сборкой. Сделать это можно, разархивировав исходный код в отдельную папку и, находясь в ней, запустив файл ./configure. Данный скрипт автоматически определит настройки системы и сообщит о необходимых библиотеках, если таковые требуются для установки. Также при запуске этого скрипта можно указать специальные настройки: исключить/добавить модули, указать папку для установки или имя пользователя, для которого этот сервис будет установлен. Более подробную информацию о возможных командах для скрипта можно почерпнуть на сайте разработчиков или в файле install, который находится в корне архива с исходным кодом. После конфигурирования пакета необходимо его скомпилировать командой make и установить make install. По умолчанию в системах Linux web-сервер устанавливается в папку /usr/. Исполняемый файл находится в папке /usr/sbin, а кроме того, он может быть запущен обычной командой httpd из командной строки. После установки все необходимые конфигурационные файлы будут перенесены в папку /etc/httpd/conf и /etc/httpd/conf.d, основным конфигурационным файлом сервера является файл httpd.conf, который содержит в себе все главные настройки. Поскольку httpd является, по сути, основным web-сервером для платформ Linux, он максимально интегрируется в систему при установке. По умолчанию он автоматически добавляется в системные сервисы, позволяя таким образом управлять ими через стандартную программную оболочку сервисов; подробнее о доступных командах можно узнать, набрав в командной строке service httpd.

    Установленный web-сервер готов к работе, и при наборе IP-адреса сервера должна отображаться стандартная страница приветствия. Она появляется в том случае, если в каталоге со страницами (папка по умолчанию /var/www/html) нет файлов index.htm, index.html или index.php. Следует понимать, что установка одного web-сервера не предполагает одновременной установки базы данных или отличных от CGI языков web-программирования. Такие пакеты, как PHP, MySQL и Perl (для работы скриптов CGI), устанавливаются отдельно и затем подключаются через конфигурационный файл httpd.conf и дополнительные модули. В версию 2.2.6 уже включены все библиотеки, необходимые для работы с этими сторонними приложениями.

    Поскольку рассмотрение всех возможных настроек, которые могут быть описаны в конфигурационном файле, займет не одну страницу, остановимся лишь на основных возможных проблемах, задачах и их решениях. Каждая из настроек подробно описана закомментированными строками в самом конфигурационном файле.

    В конфигурационном файле httpd.conf по умолчанию определены настройки web-сервера на максимальную производительность, при запуске сервиса автоматически запускаются до шести псевдопроцессов, которые отвечают за обработку данных. Такая конфигурация рассчитана на высокую нагрузку и большое количество клиентов сервера. Если web-сервер предназначен для небольшого сайта, состоящего из статических страниц html, а также не использует базу данных и большие объемы данных, подобные настройки не нужны. Для того чтобы уменьшить нагрузку на сервер (компьютер на котором установлен Apache), необходимо в конфигурационном файле httpd.conf отредактировать настройки MPM:

    <IfModule prefork.c>

    Что такое Apache?

    Это интересно Что такое Apache?

    Web-сервер – это сервер, являющийся местом хранения страниц вебсайта вместе с базами данных и различными программными модулями сайта, это основополагающий элемент в работе всех web-ресурсов, хранящихся на нем. Но сама по себе ОС сервера не будет обеспечивать функционирование вебсайта, необходимо определенное программное обеспечение, которым и является программный веб-сервер Apache.

    Этот web-сервер был разработан в начале 90-ых годов и был предназначен для работы на платформе ОС Linux и Unix. Со временем, список поддерживаемых операционных систем значительно расширился. В настоящее время, web-сервер Apache функционирует на платформе ОC Windows, Mac OS, BSD, Linux, OS/2 и Novell NetWare. Веб-сервер имеет широкий набор расширений для работы с многими языками web-программирования:

    • mod_php для PHP;
    • mod_perl для Perl;
    • mod_wsgi, mod_python для Python;
    • apache-ruby для Ruby;
    • apache-asp для ASP.

    Дополняют функционал Apache многие разработчики по всему миру, но разработкой ядра веб-сервера занимаются только специалисты Apache Software Foundation. Например, русские специалисты занимаются разработкой расширения для легкой восприимчивости Apache к русскоязычной кодировке. Apache можно использовать как на web-сервере, работающем в глобальной сети, так и для локального использования, чтобы тестировать разрабатываемые вебсайты.

    Достоинства веб-сервера Apache

    Apache является самым распространенным веб-сервером, установленным на больше чем половине хостов по всему интернету. Главным образом, этому способствовало:

    1. его бесплатная лицензия, которая позволяет работать с ним как новичкам так и профессионалам web-индустрии;
    2. кроссплатфоменность (которая является одним из главных плюсов по сравнению с вечным соперником – веб-сервером IIS);
    3. открытость кода, благодаря которой многие специалисты могли дополнять и улучшать функционал Apache;
    4. высокий уровень безопасности;
    5. надежность и удобство работы.
    P.S. И в дополнение дам совет не связанный с миром Web'a. Если вы занимаетесь массажем и у вас есть свой массажный кабинет, то рекомендуем вам обратить внимание на интернет-магазин massage-chairs-abakan.ru. Там вы сможете купить массажные столы по привлекательной цене.

    Web сервер apache

    Конфигурирование веб-сервера Apache

    Установка веб-сервера Apache не вызывает больших затруднений как под Windows, так и под Unix. Все вопросы при установки не выходят за рамки знаний обычного пользователя. Наиболее сложным моментом является конфигурирование и подключение дополнительных модулей. Предполагая, что наибольшее число читателей будут конфигурировать сначала веб-сервер на своей локальной машине, скорее всего под управлением Windows, то начнем рассмотрение конфигурации веб-сервера Apache именно с этого варианта.

    Первое, что вам нужно проверить, это наличие протокола TCP/IP, и так называемой, обратной петли. В командной строке дайте команду route print. Результат ее должен начинаться со следующих строк:

    Сейчас, наверное, уже сложно представить себе вариант отсутствия обратной петли, т.к. большинство компьютеров имеют выход в Интернет. Однако, года четыре назад я столкнулся с такой проблемой, когда начинал осваивать MS SQL Server 6.5. Если все же вы не получили должного результата команды route print, добавьте протокол TCP/IP. Для этого на рабочем столе щелкните правой кнопки мыши на иконке "Сетевое окружение" и выберете меню "свойства". Далее кнопку "добавить".

    По умолчанию, конфигурационный файл Apache httpd.conf лежит в папке C:\Program Files\Apache Group\Apache\conf. При запуске веб-сервера на локальной машине под Windows мне пришлось прописать в файл httpd.conf строчку ServerName localhost. Без этой строки он не запускался. В юникс такая строчка не требуется. Запускать и останавливать веб-сервер надо при помощи иконок лежащих в Пуск->Программы->Apache Web Server. Теперь запускайте веб-сервер, щелкните в меню Пуск->Программы->Apache Web Server->Start Apache. Запустите обозреватель Internet Explorer и введите http://127.0.0.1/. Вы увидите ответ веб-сервера. У меня на экране появилась страничка следующего содержания:

    Not Acceptable

    An appropriate representation of the requested resource / could not be found on this server.

    Available variants:
    • index.php.ca. type text/html, language ca
    • index.php.cz. type text/html, language cz
    • index.php.de. type text/html, language de
    • index.php.dk. type text/html, language da
    • index.php.ee. type text/html, language et
    • index.php.en. type text/html, language en
    • index.php.es. type text/html, language es
    • index.php.fr. type text/html, language fr
    • index.php.it. type text/html, language it
    • index.php.lu. type text/html, language ltz
    • index.php.nl. type text/html, language nl
    • index.php.pt. type text/html, language pt
    • index.php.se. type text/html, language sv
    Apache/1.3.12 Server at localhost Port 80

    Щелкните на ссылку index.php.en и вы попадете на главную страницу веб-сервера, с которой можно попасть на документацию по веб-серверу - ссылка documentation (http://127.0.0.1/manual/index.php).

    Теперь переходим к работе с виртуальными хостами. Веб-сервер Apache, IIS или любой другой обслуживает не один веб-сайт, а несколько десятков. Каждый из них имеет свое символическое имя, но все они указывают на один и тот же IP-адрес в базе данных DNS. На локальной машине мы не будем развертывать DNS-сервер, чтобы завести несколько веб-сайтов. Настройка DNS-сервера выходит за рамки данной книги. В операционных системах Unix и Windows есть, так называемая, локальная база DNS - это файл hosts. В Unix он лежит в каталоге /etc, в Windows - c:\windows, в WinNT - c:\WINNT\system32\drivers\etc. Любое приложение, прежде чем соединится с узлом, вызывает системную функцию gethostbyname, которая возвращает IP-адрес. Система, прежде чем обращаться к DNS-серверу просматривает файл hosts на наличие в нем данного имени хоста. Формат этого файла предельно простой.

    Таким образом вы можете передопределить для программ своей машины и IP-адрес microsoft.com. Но это переопределение будет действовать только для вашей машины, т.к. бругие компьютеры будут получать IP-адрес microsoft.com с DNS-серверов.

    Добавьте в свой файл hosts вторую строчку из приведенного примера. И затем, в конфигурационный файл Apache httpd.conf добавьте следующее строки:

    NameVirtualHost задает IP-адрес, на котором будут висеть веб-узлы. Этих директив может быть несколько. Теоретически, в сервере имеется несколько сетевых карт, и у каждой сетевой карты может быть несколько IP-адресов. Чаще всего у вас будет одна карточка с реальным IP-адресом и одна или две сетевых карты с виртуальным IP-адресом локальной сети, т.к. ваш сервер еще будет обеспечивать доступ компьютеров локальной сети к Интернет. В директиве VirtualHost должен стоять IP-адрес, но можно также указать и имя хоста, указывающего на этот IP. В нашем случае, это имя хоста it.ru, которое указывает на 127.0.0.1. ServerAdmin содержит адрес электронной почты, который будет выдаваться клиентам при возникновение каких-либо ошибок, например, при аварийном заверении CGI-программы. DocumentRoot задает путь к корню веб-сервера. ServerName содержит имя веб-сервера. Далее идут пути к логам веб-сервера. Стого рекомендую размещать логи в корне самого веб-сайта, а не где-нибудь еще. В реальной жизни вы вряд ли будете иметь доступ ко всему жесткому диску сервера. У веб-мастера будет доступ по ftp только к содержимому папки веб-сайта. Так что, если логи будут не внутри папки веб-сайта, то их не сможет просматривать веб-мастер. И наконец, ScriptAlias /cgi-bin "c:\projects\www\itsoft\cgi-bin" задает папку, где будут лежать исполняемые файлы. Имя этой папки не обязательно cgi-bin, но желательно придерживаться исторических традиций. Поясню более детально, что это за каталог. По умолчанию, при запросе любого файла с веб-сервера, он тут же начнется скачиваться клиенту. При запросе же исполняемого файла из папки cgi-bin, этот файл сначала будет запущен веб-сервером, а потом клиенту будет передано то, что напечатает этот исполняемый файл на стандартный поток вывода( STDOUT ). Обратите внимание, что при запросе исполняемого файла из папки, не прописанной в httpd.conf как ScriptAlias /cgi-bin "PathToFolder", вы получите сам исполняемый файл, а не результат его работы. Особо будьте бдительны, если вы будете использовать не бинарные исполняемые файлы, а скриптовые исполняемые файлы. Злоумышленник, заполучив их, сможет прочитать и найти дыру в вашем веб-узле. Невинная гостевая книга или отправка почтового сообщения могут привести не только к неправильной работе этих скриптов и падению веб-узла, но и падению\зависанию всего сервера со всеми размещенными на нем веб-узлами.

    Далее создайте папку по адресу c:\projects\www\ с именем itsoft. Путь и имя лучше переправьте. Так вы натолкнетесь на ошибки, связанные с неправильным путем и лучше усвоите материал, исправляя их. В папке itsoft создайте файл index.php, поддиректорию logs с файлами error.log и custom.log. Теперь перезагрузите веб-сервер Apache. Наберите в броузере it.ru и вы увидите содержание index.php. Вот так вы создали свой первый веб-сайт. Теперь можете размещать на нем документы и скрипты. Далее вас ждет увлекательное путешествие по различным технологиям построения веб-сайтов.