Разное

Апачи программа – Apache http server — Википедия

16.06.2018

WEB-сервер Apache. — Лунная База

Apache

Apache HTTP-сервер, назван именем группы племён североамериканских индейцев апачей; кроме того, является искажённым сокращением от англ. a patchy server; среди русских пользователей общепринято переводное апач) — свободный веб-сервер.

Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.

Статьи по HTTP-серверу Apache

Подробности
Родительская категория: Серверы
Категория: Apache

После того, как все настройки сервера в связке NGiNX + Apache сделаны, (читать по → этой ссылке), администратор сервера сталкивается в вопросом о том, как передать реальный IP пользователя web-серверу Apache, работающему за проксирующим NGiNX. И это не праздны вопрос и не тривиальная задача. Мало того, что в логи Апача пишутся IP не реальных пользователей, а IP локального NGiNX (127.0.0.1), то есть не несут никаких сведений о том, какой пользователь был на сайте, но и перестают работать все сервисы, привязанные к IP пользователю на сайтах. Как это быстро исправить, рассмотрим в этой статье.

Подробнее: Как передать реальный IP для Apache, работающем за прокси NGiNX

Подробности
Родительская категория: Серверы
Категория: Apache

После установки модуля Apache libapache2-mpm-itk на сервер под ОС Debian 9, модуль находится на диске сервера, но для его работы, его нужно подключить к Апачу. Данный модуль служит для того, чтобы запускать процессы Apache с правами того пользователя, который является владельцем файлов сайта (по сути, владельцем сайта). О том, как это включить этот модуль и как проверить то, что модуль действительно подключился, рассмотрим в этой статье.

Подробнее: Подключение модуля mpm-itk к серверу Apache под Debian 9

Подробности
Родительская категория: Серверы
Категория: Apache

В этой статье подробно рассмотрим установку сервера

Apache 2 на сервер с ОС Debian 9. В этом нет ничего сложного или замысловатого, но есть некоторые моменты (типа обновления списка пакетов и предварительного апгрейда системы) про которые легко забыть. Большой ошибки не будет в том, чтобы просто накатить и развернуть пакет Apache на сервере, но в целях безопасности дальнейшей работы всей системы, всё-таки лучше делать всё последовательно и обо всём вовремя вспоминать.

Подробнее: Установка Apache 2 на сервер с ОС Debian 9

Подробности
Родительская категория: Apache
Категория: apache2.conf

При переезде на новый сервер без ISPmanager нужно вручную правильно собрать связку NGiNX + Apache. Для того, чтобы было на что ориентироваться, если что-то пойдёт не так, я сохранил исходные конфиги серверов у себя на локальном компьютере. Но, для того, чтобы не лазить по архивам, выискивая нужные файлы, выкладываю конфиг Apache 2 в ISPmanager Lite 5 (Debian 8 связка NGiNX + Apache). К тому же удобнее смотреть в браузере и на сервере в Notepad++, чем в нескольких вкладках.

Подробнее: apache2.conf — конфиг Apache 2 в ISPmanager Lite 5 (Debian 8 связка NGiNX + Apache)

Подробности
Родительская категория: Серверы
Категория: Apache

WEB-сервер Apache по умолчанию работает таким образом, что все процессы запускаются под одним пользователем, и обычно это www-data. С одной стороны — это удобно, но с другой… Если на сервере, с настроенными виртуальными хостами, находится несколько сайтов, то при взломе злоумышленниками одного из них, как бы не были настроены права к папкам на сервере, с помощью Apache, можно получить доступ к файлам других сайтов, загрузив простейший файловый менеджер, который будет запускаться под пользователем 

www-data и, таким образом, иметь доступ во все папки, которые доступны через веб-интерфейс, если его запросы обрабатывает Apache.

Подробнее: Установка модуля Apache apache2-mpm-itk (libapache2-mpm-itk) на сервер под ОС Debian 9

mb4.ru

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

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

  1. Скачайте Web-сервер Apache
  2. Установите Web-сервер Apache
  3. Настройте файла конфигурации Apache mime.types
  4. Настройте файла httpd.conf
  5. Проверте Web-сервера
  6. Проверте выполнение CGI-программы

Сервер Apache вы можете загрузить с узла компании по адресу http://www.apache.org. Щелкните на ссылке с именем download и выберите самую повую версия сервера для платформы Win32. Имя файла будет скорее всего вроде apache_1_3_9_win32.exe.

После того как пакет установки загружен, вам следует установить программу. Сервер Apache использует стандартную процедуру установки, поэтому вам нужно лишь дважды щелкнуть на файле пакета установки, принять условия лицензии, указать папку для программы и выбрать тип установки.

Рекомендуем установить сервер так (шесть шагов):

  1. Определитесь с директорией, в которую Вы будете устанавливать Apache. Все дальнейшие рассуждения основаны на том, что Вы выбрали для этой цели такой каталог: f:usrlocalapache Если диска F: у Вас нет, или если Вы не хотите его захламлять, советуем сделать одно из трех:
    1. Создайте диск F: с помощью какой-нибудь программы для виртуальных разделов (например, с помощью встроенной в Windows 95/98 программы DriveSpace). Это самое лучшее решение, и с точки зрения экономии памяти, и с точки зрения быстродействия. Ведь что такое Web-сайт, как не набор очень небольших файлов? А DriveSpace как раз и оптимизирует работу с такими файлами.
    2. Сделайте виртуальный диск F:. Для этого создайте где-нибудь на любом диске директорию, которая в будущем будет являться корневой для диска F:. Предположим, Вы выбрали C:INTERNET. Далее, в начале файла c:autoexec.bat пропишите такую строку:

      и перезагрузите компьютер. У вас должен появиться виртуальный пустой диск F:.

      ВНИМАНИЕ: имеются сведения, что в Windows 95/98 есть ошибка, в результате которой иногда subst-пути «сами по себе» преобразуются в абсолютные. То есть, например, иногда в рассмотренном выше примере команды

      f:
      cd
      cd
      dir

      (а точнее, команда dir в своем заголовке) ошибочно выведут, что текущая директория C: (а не F:, как это должно быть). Указанная ошибка чаще всего проявляется в неработоспособности Perl-транслятора. Так что лично мы не рекомендуем Вам использовать subst. Вместо этого воспользуйтесь пунктом 1.

    3. Наконец, Вы можете всего этого не делать и поставить Apache на любой другой диск, только тогда Вам придется немного тяжелее при выполнении всех остальных действий. Нужно будет все указываемые пути заменять на Ваши собственные, а это крайне неприятно. Еще раз настоятельно рекомендуем воспользоваться диском F:.

    Рекомендуем все же разместить Apache в указанном в начале каталоге, так как он максимально соответствует каталогу для реального Web-сервера Интернета. Ведь чем ближе в плане конфигурации мы будем к такому серверу, тем лучше и эффективнее сможем работать.

  2. Запустите только что скачанный файл. В появившемся диалоге нажмите кнопку Yes, а затем — кнопку Next.
  3. Теперь нажмите Browse. Вручную задайте директорию для установки: f:usrlocalapache и нажмите кнопку OK.
  4. Выберите тип установки — Сustom и уберите флажок Source Code (если, конечно, не хотите посмотреть исходные тексты Apache). Этим Вы сэкономите себе 3 Мбайта.
  5. Нажмите Next и подождите, пока будут копироваться файлы Apache.
  6. На запрос о перезагрузке компьютера ответьте «Перезагрузить».

Поздравляем — Apache установлен! Теперь самое неприятное — его настройка.

  1. Откройте директорию f:usrlocalapacheconf. Откройте находящийся там файл mime.types.
  2. Найдите в нем такую строчку:

    Измените ее на

    text/html      html htm shtml shtm sht

    Следует заметить, что если Вы по каким-то причинам не хотите портить файл mime.types, то можно вместо этого прописать в файле httpd.conf (см. ниже) строки вида

    AddType text/html html htm shtml shtm sht

Внимание! Это — самый ответственный момент установки. Просим соблюдать инструкции БУКВАЛЬНО.

  1. Откройте директорию f:usrlocalapacheconf Откройте находящийся там файл httpd.conf. Это — единственный файл, который Вам осталось настроить. Вам предстоит найти и изменить в нем некоторые строки, а именно те, о которых упоминается далее. Во избежание недоразумений не трогайте все остальное. Следует заметить, что в нем каждый параметр сопровождается несколькими строками комментариев, разобраться в которых с первого раза довольно тяжело. Поэтому не обращайте на них внимание.
  2. В поле ServerAdmin укажите Ваш E-mail адрес, который будет показываться в сообщениях об ошибке сервера. Например:
  3. В поле ServerName напишите любое слово — на работе это не сказывается, например:

    Только не забудьте раскомментировать поле ServerName, то есть убрать символ «#» перед этим параметром (по умолчанию он закомментирован)!

  4. В поле DocumentRoot укажите ту директорию, в которой будут храниться Ваши html-файлы, например:

    Разумеется, можете указать и любую другую директорию, если хотите. В любом случае, не забудьте ее создать, лучше сделайте это прямо сейчас!

  5. Найдите блок, начинающийся строкой <Directory /> и заканчивающийся </Directory> (вообще, такие блоки обозначают установки для заданной директории и всех ее поддиректорий). Его нужно изменить на:
    <Directory />
      Options Indexes Includes
      AllowOverride All
    </Directory>

    Таким образом, в этом блоке будут храниться установки для всех директорий по умолчанию (т.к. это — корневая директория).

  6. Найдите аналогичный блок, начинающийся <Directory «f:/usr/local/apache/htdocs»> и заканчивающийся </Directory>. Там будет много комментариев, не обращайте на них внимание. Этот блок следует заменить на:
    <Directory "f:/www">
      Options Indexes Includes
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>

    Это — установки для директории с Вашими html-документами. Если хотите, можете установить другую директорию, главное, чтобы она совпадала с той, которая прописана в параметре DocumentRoot

  7. Идем дальше. Установите UserDir, например так:

    Это будет директория, в которой хранились бы домашние страницы пользователей, если бы это был настоящий Web-сервер, а также корневые каталоги виртуальных хостов (см. ниже). Не забудьте также создать этот каталог.

  8. Установите DirectoryIndex так:
    DirectoryIndex index.htm index.html

    Это — так называемые файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории, если не указано имя html-документа. В принципе, можно добавить сюда и другие имена, например, index.phtml, если Вы будите работать с PHP и т.д.

  9. Найдите и пропишите такой параметр:
    ScriptAlias /cgi-bin/ "f:/cgi-bin/"

    Да, именно так, с двумя слэшами. Это будет та директория, в которой должны храниться Ваши CGI-скрипты. Если хотите, можете задать другое имя, например:

    ScriptAlias /mycgi/ "f:/mycgidir/"

    Подобный параметр говорит Apache о том, что, если будет указан путь вида http://localhost/cgi-bin, то на самом деле следует обратиться к директории f:/cgi-bin.

  10. Теперь следует найти и настроить блок параметров, начинающийся с <Directory «f:/cgi-bin»> и заканчивающийся </Directory>. Это — установки для Вашей CGI-директории (если Вы установили для нее другое имя на предыдущем шаге, соответственно модифицируйте путь). Там должно быть:
    <Directory "f:/cgi-bin">
      AllowOverride All
      Options ExecCGI
    </Directory>
  11. Настройте следующий параметр:
    AddHandler cgi-script .bat .exe

    Это говорит Apache о том, что файлы с расширением .exe и .bat нужно рассматривать как CGI-скрипты.

  12. И последнее — установите:
    AddHandler server-parsed .shtml .shtm .sht

    Или, если Вы хотите, чтобы и обычные файлы html обрабатывались SSI, напишите так:

    AddHandler server-parsed .shtml .shtm .sht .html .htm

Поздравляем — Вы настроили свой Apache, и он должен уже работать! Для запуска сервера нажмите Пуск->Программы->Apache Web Server->Start Apache as console app, при этом появится окно, очень похожее на Сеанс MS-DOS, и ничего больше не произойдет. Не закрывайте его и не трогайте до конца работы с Apache.

Несколько слов о том, как можно упростить запуск и завершение сервера. В Windows можно назначить любому ярлыку функциональную комбинацию клавиш, нажав которые, Вы запустите этот ярлык. Так что щелкните правой кнопкой на панели задач, в контекстном меню выберите Свойства, затем Настройка меню и кнопку Дополнительно. В открывшемся Проводнике назначьте ярлыку Start Apache as console app комбинацию Ctrl+Alt+A, а ярлыку Shutdown Apache as console app — Ctrl+Alt+S

  • Проверка html: в директории f:/www с html-документами Apache создайте файл index.html. Теперь запустите браузер и наберите:
    http://localhost/index.html

    или просто

    Загрузится Ваш файл.

  • Проверка CGI: в директории f:/cgi-bin для CGI-скриптов создайте файл test.bat с таким содержанием:
    @echo off
    echo Content-type: text/html
    echo.
    echo.
    dir

    Теперь в браузере наберите:

    http://localhost/cgi-bin/test.bat

    В окне отобразится результат команды DOS dir. (Хотелось бы отметить, что указанный тест работает не на всех версиях Windows: иногда вместо того, чтобы выполнить файл test.bat, Apache выводит в браузер его содержимое. С чем это связано — не совсем ясно, однако, кажется, можно избавиться от указанной ошибки путем манипулирования с Реестром. Если у Вас test.bat не запускается, не расстраивайтесь: вряд ли Вы когда-нибудь будете писать скрипты в виде bat-файлов, тем более, что это несовместимо с Unix.)

  • Проверка SSI: аналогична проверке html. Используйте, например, директиву
    <!--#include virtual="/cgi-bin/test.bat"-->

Если bat-файлы Ваш Apache запускать не хочет (см. выше), то дождитесь установки Perl или PHP.

Если вы получили страницу с надпиьсю о правильной работе, вам нужно убедиться что сервер может выполнять CGI-программы. Для этого вы должны написать простую программу, поместить ее в правильный каталог и проверить, как она выполняется Web-сервером.

Ниже вы видите текст простой проверочной программы на языке Perl.

#!/usr/local/bin/perl
use CGI;
$query = new CGI;
print $query->header;

print "<html><head><title>Проверка</title></head>n";
print "<body>Проверка прошла успешно.</body></html>";

Скопируйте текст этой программы в Блокнот, сохраните его в файле test.pl и поместите этот файл в каталог cgi-bin корневого каталога вашего сервера. Первую строку в этой программе нужно изменить так, чтобы она отражала действительное положение интерпритатора Perl на вашем компьютере.

Примечание: Первая строка важна при работе под управлением UNIX, так как именно в ней указывается, какая программа должна обрабатывать этот текст. Версия Apache для Windows тоже придерживается этого соглашения.

Теперь можете проверить выполнение этой программы, набрав в адресной строке броузера следующее:

http://localhost/cgi-bin/test.pl

Если все работает правильно, вы должны увидеть в окне броузера страницу, HTML-код которой указан в операторах print. Результат выполнения этой программы вы можете увидеть кликнув тут. Русский текст может быть отображен броузером в неверной кодировке. Если это случилось, то в открывшемся окне вручную выставте кодировку Кирилица (Windows). Как устанавливать кодировку HTML-страницы возвращаемой CGI-программой, чтобы броузер ее всегда верно отображал, будет рассказано позже.

Эта программа проверяет правильность установки компонентов для CGI-программирования. В частности, при выполнении этой программы проверяется следующее.

  • Web-сервер настроен и сконфигурирован правильно и может выполнять CGI-программы.
  • Программа помещена в правильный каталог, сервер распознает файлы в этом каталоге как программы.
  • Интерпритатор Perl установлен и работает правильно; путь к программе интерпритатора правильно указан в первой строке.
  • Библиотеки, входящие в комплект поставки Perl, установлены правильно, в частности CGI.pm.

При написании статьи использовались материала сайта http://www.dklab.ru.

www.internet-technologies.ru

Apache


Apache HTTP-сервер (является сокращением от англоязычного a patchy server, «сервер с заплатками», кроме того, здесь есть аллюзия и к индейскому племени апачей.  Среди русских пользователей общепринято искажённое произношение апа́ч) — это полнофункциональный, расширяемый веб-сервер, полностью поддерживающий протокол HTTP/1.1, с открытым кодом.

Сервер может работать практически на всех распространенных платформах. Существуют готовые исполняемые файлы сервера для Windows NT, Windows 9x, OS/2, Netware 5.x и нескольких UNIX-систем. При этом он очень прост в установке и конфигурации.

Собственно, именно гибкость конфигурации, а также его надежность, считаются основными достоинствами Apache-сервера. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6.

Apache настраивается с помощью текстовых конфигурационных файлов. Основные параметры уже настроены «по умолчанию» и будут работать в большинстве случаев. Если же функциональности штатного «Апача» не хватает, то возможно использовать разнообразные модули, написанные Apache Group и сторонними разработчиками. Немаловажным преимуществом является то, что создатели активно общаются с пользователями и реагируют на все сообщения об ошибках.
Самая простая функция, которую может выполнять Apache – стоять на сервере и обслуживать обычный HTML-сайт. При получении запроса на определенную страницу сервер отправляет в ее ответ браузеру. В качестве запроса выступает адрес, набранный в адресной строке браузера.

Для разделения дизайна и функциональной части сайта, а также для упрощения изменения статических объектов существует технология SSI. Она позволяет вам поместить всю повторяющуюся информацию в один файл (например, top.inc), а затем вставлять в страницы ссылку на нее. Затем, если понадобится изменить несколько строк в этой информации, то придется поменять их только в одном файле. Сервер Apache поддерживает эту технологию и позволяет использовать серверные включения в полном объеме.

Функции Web-сервера выполняет не сам компьютер, а программа установленная на нём, то есть. Когда браузер пользователя подключается к Web-серверу и посылает заголовок GET (это просьба передать файл), его запрос обрабатывает именно Apache. Apache проверяет, существует ли указанный в заголовке GET файл, и, если есть, отправляет его вместе с заголовками браузеру.

Apache — это своего рода стандарт Web-сервера в Интернете. Его основным конкурентом является IIS (Internet Information Server) от Microsoft, который работает под Windows. Apache, хотя и существуют его версии под Windows, преимущественно устанавливается на Unix-подобных операционных системах — Lin ux и FreeBSD. Нужно также заметить, что большинство хостеров используют именно Apache, a не IIS. IIS обычно устанавливается на корпоративных серверах, работающих под Windows.

Сервер Apache был одним из первых серверов, которые начали поддерживать виртуальные сервера (хосты). Эта возможность позволяет размещать на одном физическом сервере несколько полноценных сайтов. У каждого из них может быть свой домен, администратор, IP-адрес и так далее.

В Apache существует поддержка технологии CGI и PHP, а также возможность подключать другие языки. Это значительно упрощает работу с динамическими Интернет-страницами (которыми, по сути, сегодня являются все веб-страницы).

На данный момент сервер Apache сейчас установлен на 67% серверов по всему миру.

История создания

Сервер Apache разработан и поддерживается организацией Apache Project.

Первоначально он был разновидностью Web-сервера NCSA, разработанного в Национальном центре разработок суперкомпьютеров Иллинойского университета. Но в 1994 году главный разработчик NCSA  благополучно ушел из проекта, оставив своих последователей самостоятельно разбираться в его сервере. Со временем начали появляться исправления и дополнения к серверу NCSA — так называемые patches (патчи, В переводе с английского – «заплатка»). А в апреле 1995 года вышла первая версия сервера Apache, который был основан на версии 1.3 сервера NCSA. Первая версия Apache просто вобрала в себя все известные исправления сервера NCSA. Да и само название Apache произошло именно от этого — «A PatCHy».

Позже Apache стал самостоятельной разработкой. Со второй версии код был переписан заново таким образом, чтобы в нем не содержалось ни намека на код NCSA. Сейчас сервер Apache поддерживается группой программистов-добровольцев Apache Group.

Сервер Apache изначально разрабатывался для ОС Linux и Unix, но со временем были выпущены его версии для ОС Windows и OS/2.

На данный момент разработка ведётся в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности. Сегодня последняя версия ветки 2.4 —  это версия 2.4.3, вышедшая 21 августа 2012. Для первой версии последние исправления маркируются как 1.3.42.

Веб-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.

С апреля 1996 и до настоящего времени является самым популярным HTTP-сервером в Интернете. Наивысшие показатели были достигнуты в 2012 году – Apache работал на 67% серверов всего мира. В 2011 году его доля составляла 59%, в 2009-ом – 46%, а в 2007 – 51%.

Схема внутренних системных вызовов Apache


Архитектура Apache

Ядро Apache включает в себя основные функциональные возможности, такие как обработка конфигурационных файлов, протокол HTTP и система загрузки модулей. Ядро (в отличие от модулей) полностью разрабатывается Apache Software Foundation, без участия сторонних программистов.

Теоретически, ядро apache может функционировать в чистом виде, без использования модулей. Однако функциональность такого решения крайне ограничена.
Ядро Apache полностью написано на языке программирования C.

Система конфигурации Apache основана на текстовых конфигурационных файлах. Имеет три условных уровня конфигурации:

•    Конфигурация сервера (httpd.conf).
•    Конфигурация виртуального хоста (httpd.conf c версии 2.2, extra/httpd-vhosts.conf).
•    Конфигурация уровня директории (.htaccess).

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

Часть модулей использует в своей работе конфигурационные файлы операционной системы (например /etc/passwd и /etc/hosts).

Помимо этого, параметры могут быть заданы через ключи командной строки.

Кроме того, для веб-сервера Apache существует множество моделей симметричной мультипроцессорности.

Также Apache HTTP Server поддерживает модульность. Существует более 500 модулей, выполняющих различные функции. Несмотря на то, что часть из них разрабатывается непорсдетсвенно командой Apache Software Foundation, большинство существующих модулей разработано сторонними open source-разработчиками.

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

С помощью модулей можно реализовать следующее:

1. Расширение поддерживаемых языков программирования
2. Добавление дополнительных функций либо модификация основных.
3. Исправление ошибок
4. Усиление безопасности.

Часть веб-приложений, например панели управления ISPmanager и VDSmanager реализованы в виде модуля Apache.

Сервер Apache оснащен встроенным механизмом виртуальных хостов. Благодаря этому возможно полноценно обслуживать на одном IP-адресе множество сайтов (доменных имён), отображая для каждого из них собственное содержимое.

Для каждого виртуального хоста можно указать собственные настройки ядра и модулей, ограничить доступ ко всему сайту или отдельным файлам. Некоторые MPM, например Apache-ITK позволяют запускать процесс httpd для каждого виртуального хоста с отдельными идентификаторами uid и guid.

Также существуют модули, позволяющие учитывать и ограничивать ресурсы сервера (CPU, RAM, трафик) для каждого виртуального хоста.

Интеграция с другим ПО и языками программирования

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

•    PHP (mod_php).
•    Python (mod python, mod wsgi).
•    Ruby (apache-ruby).
•    Perl (mod perl).
•    ASP (apache-asp)[6].
•    Tcl (rivet[7])
Кроме того, Apache поддерживает механизмы CGI и FastCGI, что позволяет исполнять программы на практически всех языках программирования, в том числе C, C++, Lua, sh, Java.

Обеспечение безопасности

Обеспечение безопасности в Apache осуществляется с помощью различных механизмов, которые, кроме всего прочего, разграничивают доступ к данным. Основными являются:

•    Ограничение доступа к определённым директориям или файлам.
•    Механизм авторизации пользователей для доступа к директории на основе HTTP-аутентификации (mod_auth_basic) и digest-аутентификации (mod_auth_digest).
•    Ограничение доступа к определённым директориям или всему серверу, основанное на IP-адресах пользователей.
•    Запрет доступа к определённым типам файлов для всех или части пользователей, например запрет доступа к конфигурационным файлам и файлам баз данных.
•    Существуют модули, реализующие авторизацию через СУБД или PAM.

В некоторых MPM-модулях присутствует возможность запуска каждого процесса Apache используя различные uid и gid с соответствующими этим пользователям и группам пользователей.

Также, существует механизм suexec, используемый для запуска скриптов и CGI-приложений с правами и идентификационными данными пользователя.
Для реализации шифрования данных, передающихся между клиентом и сервером используется механизм SSL, реализованный через библиотеку OpenSSL. Для удостоверения подлинности веб-сервера используются сертификаты X.509.

Существуют внешние средства обеспечения безопасности, например mod_security.

Языки

Возможность определения сервером местоположения пользователя появилась с версии 2.0. С этого момента также все сервисные сообщения, а также сообщения об ошибках и событиях, воспроизводятся на нескольких языках с использованием SSI-технологии.

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

Обработка событий

Администратор может установить собственные страницы и обработчики для всех HTTP ошибок и событий, таких как 404 (Not Found) или 403 (Forbidden). В том числе существует возможность запуска скриптов и отображения сообщений на разных языках.

Server Side Includes

В версиях 1.3 и старше был реализован механизм Server Side Includes, позволяющий динамически формировать HTML-документы на стороне сервера.
Управлением SSI занимается модуль mod_include, включённый в базовую поставку Apache.

Apache vs IIS

Споры о выборе Apache или IIS являются столь же давними, как и споры о выборе ОС — Linux или Windows. Поэтому, прежде чем сделать окончательный выбор, стоит адекватно оценить преимущества и недостатки и того, и другого.

Основные преимущества Apache и серверных систем LAMP:

1.    низкие затраты, так как нет необходимости приобретать лицензии на программное обеспечение;
2.    гибкое программирование благодаря открытому исходному кода;
3.    улучшенная безопасность, так как Apache был разработан для операционной системы не-Windows (а большинство вредоносных программ написано под ОС от Microsoft), то он всегда имел репутацию более безопасной системы, чем IIS производства Microsoft.

Преимущества Internet Information Services (IIS):

1.    Windows и IIS поддерживаются корпорацией Microsoft, тогда как Apache поддерживается только пользовательским сообществом;
2.    IIS поддерживает платформу.NET Microsoft и сценарии ASPX.
3.    модули позволяют включить потоковую передачу аудио и видеоконтента.

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

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

www.cy-pr.com

apache2ctl (apachectl) — программа для управления сервером Apache

При работе с WEB-сервером Apache часто приходится сталкиваться с командами, начинающимися с apache2ctl (или apachectl). В этой статье кратко рассмотрим, что это за зверь, откуда у него ноги растут и какой список команд может принимать и обрабатывать apachectl. Первая встреча с ним описана в → этой статье. Ниже копнём немного глубже и посмотрим на то, что же всё-таки из себя представляет apache2ctl.

Что такое apache2ctl (или apachectl)

Внимательно изучив ответ на команду

root@server:~# apachectl -h

или

root@server:~# apache2ctl -h

похоже, что они в Debian синонимичны. Посмотрим же на то, что же это за команда и как она запускается. Для этого воспользуемся командой whereis, которую удобно использовать для определения месторасположения исходных файлов.

root@server:~# whereis apache2ctl
apache2ctl: /usr/sbin/apache2ctl /usr/share/man/man8/apache2ctl.8.gz

Как видно, сам файл, реагирующий на эту команду находится тут: /usr/sbin/apache2ctl, а мануал можно найти по адресу /usr/share/man/man8/apache2ctl.8.gz. В мануал не полезем, посмотрим на сам файл.

/usr/sbin/apache2ctl — bash-скрипт консольного управления сервером Apache

Пройдём по найденному пути и откроем этот файл. Оказывается это обычный bash-скрипт, из комментариев которого следует, что это «Apache control script» (Скрипт управления Apache), созданный для простого управления сервером с помощью команд из консоли. Содержит всего порядка 200 строчек кода. В коде есть переменные, которые можно менять, но не будем пока ничего трогать. достаточно того, что с «волшебной» командой apache2ctl (apachectl) разобрались, вернее, нашли тот скрипт, который обрабатывает запросы согласно прописанным директивам.

Можно двигаться дальше в настройке Apache.

Заберите ссылку на статью к себе, чтобы потом легко её найти 😉

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

mb4.ru

Andew.ru | Установка Apache на Windows

В статье описана портативная установка WEB сервера Apache на Windows из zip архива, включая все детали и шаги, такие как поиск и получение актуальной версии дистрибутива Apache для Windows, структура каталогов сборки, настройка Apache перед запуском, тестирование http и https соединений, инсталляция Apache как системной службы Windows. Следуя скринкасту и инструкциям из статьи вы сможете самостоятельно организовать полноценный WEB сервер Apache на Windows и использовать его как для WEB разработки, так и для хостинга своих сайтов.

 

Apache на Windows

Apache — наиболее распространенный WEB сервер, который используется на многих хостингах и платформах и прекрасно справляется со своими обязанности для мелких и средних проектов и WEB сайтов. Так же, Apache поддерживается практически всеми хостинг провайдерами и часто предоставляется уже преднастроенным пользователю. Apache является открытым программным обеспечением, не требует платы за использование и очень хорошо сочетается с PHP языком программирования, CMS и сайтами, написанными на PHP, за счет встроенной поддержки и интеграции с PHP,  т.к. Apache, в первую очередь, предназначен для отдачи динамического содержимого. Долгое сотрудничество Apache и PHP делает связку WEB сервера Apache с языком программирования PHP отлаженной, проверенной временем и хорошо настраиваемой платформой для веб приложений, базирующихся на PHP. Многие, достаточно крупные WEB проекты используют именно Apache в связке с PHP CMS. Особенно привлекает в Apache его доступность и простота, в сочетании с большой гибкостью и функциональностью, наличие огромного количества документации и примеров по его настройке и эксплуатации.

 

Перейти к скринкасту: Установка Apache на Windows

 

Несмотря на то, что Apache преимущественно используется на Unix и Linux системах он, с тем же успехом и без потери в функциональности, может использоваться и на Windows. Использовать Apache на Windows можно как для WEB разработки, так и для полноценного хостинга сайтов на PHP CMS. Однако, на мой взгляд, наиболее удобно использовать Apache на Windows именно тем, кто ведет PHP веб разработку и тестирование CMS и при этом работает на Windows. Например, если вы постоянно работает на Windows, но вам нужно развернуть и протестировать сайт на PHP CMS, например, WordPress, Joomla или Yii.

В таком случае у вас есть несколько выборов:

  • виртуальная машина VM с Linux, что затратно по времени развертывания и потреблению ресурсов системы;
  • различные сборки Win+AMP;
  • самостоятельно установить все необходимы компоненты Apache, MySQL, PHP на Windows  и настроить, как если бы это было на Linux.
  • Больше вариантов смотри в статье: «Как организовать среду для web разработки»

Использовать виртуальную машину с Linux это очень хороший вариант, но он не всегда удобен, т.к. сама по себе, работающая VM, будет забирать у вашей системы ресурсы, и при слабом железе вы столкнетесь с тормозами, что не добавить комфорта в работе. Так же, нужно будет полностью настроить Linux на VM как WEB сервер. Однако если ваш PC достаточно мощный для такого варианта, то такой подход будет, все же, лучшим решением.

Вариант использования уже готовых сборок Win+AMP тоже не лишен недостатков. Главный недостаток таких сборок в том, что они предлагают свою систему конфигурации Apache, MySQL и PHP, которая часто сильно отличается от нормального подхода при настройке Apache на реальном Linux сервере. Поэтому эти сборки, предлагая вроде бы как облегчение в конфигурации Apache, на самом же деле еще больше запутывают и ломают стандартный поход к конфигурации WEB сервера. Еще одни из недостатков готовых сборок Win+AMP — это привязанность к сайту разработчиков этих сборок, необходимость регистрироваться для получения дополнительных компонентов, а иногда и делать оплату или терпеть рекламу. И самое главное в том, что работая с такими сборками, трудно получить правильное представление о настройке Apache, MySQL и PHP, как это выполнялось бы на реальном Linux сервере. Соответственно, когда придется настраивать Apache и другие компоненты LAMP на реальном Linux сервере, придется заново переучиваться уже на правильные методы и подходы настройки и конфигурации Apache и других компонентов LAMP путем внесения изменений в конфигурационные файлы.

Что делать, если нет желания вникать в системы конфигурации этих сборок, a хочется настраивать и использовать web сервер Apache точно так же, как это делается на Linux сервере, т.е. использовать правильный и естественный подход правки конфигурационных файлов. Именно в этой ситуации, когда вы хотите работать с Apache на Windows точно так же, как и на Linux, самостоятельная, отдельная установка Apache и будет полезна и целесообразна, тем более, что делается это достаточно легко и стандартно, а настройка выполнятся точно также как на Linux сервере.

 

Как добавить поддержку PHP как обработчика сценариев в Apache на Ubuntu или Windows детально описано в статье Установка PHP7 на Windows в разделе Настройка Apache2.4 для работы с PHP.

 

Portable Apache на Windows

Apache не предоставляет официальных сборок под Windows, но есть исходники сервера и есть люди, которые делают и выкладывают сборки web сервера Apache для операционный системы Windows. В примерах этой статьи мною будет использоваться для получения таких сборок Apache для Windows сайт: Apache Haus — Your place for the Apache Server and Modules on Windows, на котором размещены для свободного скачивания сборки Apache для Windows на странице загрузки Apache Haus Downloads.

В целях безопасности и предотвращения заражения системы вирусами и троянами, рекомендую скачивать дистрибутивы только из официальных источников. Так же отдавайте предпочтение zip архивам для ручной инсталяции. И даже в этом случае, проверяете скачанные файлы актуальным антивирусом. На своем опыте неоднократно убедился, что в сети нередко предлагают дистрибутивы в виде .exe архива, который содержит вирусы или трояны.

Выбор сайта Apache Haus Downloads, как поставщика дистрибутива Apache, мною сделан не случайно по следующим причинам:

  • во-первых, данный сайт находится в списке рекомендованных сайтов на сайте самого Apache, что повышает доверие к нему;
  • во-вторых, дистрибутив Apache поставляется в виде zip архива, соответственно его можно легко проверить на вирусы и трояны, и быть уверенным в безопасности такой установки.

В примерах этой статьи будет выполнена инсталляция сборки Apache 2.4.23 x64, в состав которой входит: OpenSSL 1.0.2j, nghttp 1.15.0, Zlib 1.2.8 (mod_deflate), PCRE 8.39, APR 1.5.2, APR-Util 1.5.4, IPv6 and TLS SNI enabled на операционную систему Windows7 x64. Данная сборка выполнена с применением Visual Studio 2015 с использованием пакета VC14Visual C++ 2015 x64 Redistributable Package, который должен быть установлен в вашей системе. Компоненты VC14, обычно уже имеются в системе, но если они не установлены, то скачать VC14 для инсталляции можно на официальном сайте Microsoft по ссылке: Распространяемый компонент Microsoft Visual C++ 2015 Update 3 RC.

 

ШАГ 1 развертывание дистрибутива Apache

Выбор каталога установки Apache

Сборка Apache 2.4.23 x64 от Apache Haus поставляется в zip архиве и не имеет инсталлятора Windows, поэтому считается портативным (portable) вариантом дистрибутива Apache. Portable версия имеет ряд удобств и позволяет разместить дистрибутив в любом каталоге файловой системы и самостоятельно настроить запуск Apache так как вам нужно.

Рекомендую для разрешения дистрибутива Apache выбрать каталог, путь к которому будет содержать только EN символы и не будет иметь пробелов, т.к. этот путь станет для Apache значением ServerRoot директивы, в которой задается домашняя директория WEB сервера.

В примерах этой статьи и скринкаста дистрибутив Apache будет развернут в директорию «Z:\WebDevelopment\Apache24» и, соответственно, ServerRoot директива будет определена как «Z:/WebDevelopment/Apache24».

Формат значения пути в директиве ServerRoot следующий:

  • слеши прямые и одинарные;
  • завершающего слеша нет;
  • если есть пробелы, то путь должен быть в кавычках («path_to»),
  • на Linux значение чувствительно к регистру символов.

Структура дистрибутива Apache

Сборка Apache 2.4.23 x64 от Apache Haus имеет следующую структуру каталогов:

|Apache24....................Домашняя директория Apache - ServerRoot
    |-- bin..................Директория с бинарниками Apache
    |    `-- ...
    |    `-- ApacheMonitor.exe...Программа монитор для управления Apache как Windows службой
    |    `-- httpd.exe...........Главный исполняемый файл web сервера Apache
    |    `-- ...
    |-- cgi-bin.......Директория обработчика для CGI program
    |-- conf..........Директория с конфигурационными файлами Apache
    |    `-- extra....Директория с дополнительными конфигами Apache, которые подключаются в httpd.conf
    |        |    `-- httpd-ahssl.conf
    |        |    `-- httpd-autoindex.conf
    |        |    `-- httpd-dav.conf
    |        |    `-- httpd-default.conf
    |        |    `-- httpd-deflate.conf
    |        |    `-- httpd-info.conf
    |        |    `-- httpd-languages.conf
    |        |    `-- httpd-manual.conf
    |        |    `-- httpd-mpm.conf
    |        |    `-- httpd-multilang-errordoc.conf
    |        |    `-- httpd-proxy-html.conf
    |        |    `-- httpd-ssl.conf
    |        |    `-- httpd-userdir.conf
    |        |    `-- httpd-vhosts.conf
    |    `-- original........Директория исходных конфигов от Apache, добавлена в сборку для справки
    |    `-- ssl.............Директория для SSL сертификатов
    |    `-- charset.conv....Конфиг установки кодировки, подключаются в httpd.conf
    |    `-- httpd.conf......Главный конфиг Apache в данной сборке от Apache Haus
    |    `-- magic...........Конфиг скриптов для модуля mime_magic
    |    `-- mime.types......Конфиг установки MIME типов
    |    `-- openssl.cnf.....Конфиг OpenSSL
    |-- error................Директория с конфигами страниц ошибок для Apache
    |-- htdocs...............Директория и хост по умолчанию с документацией от Apache Haus
    |-- icons................Директория с иконками
    |-- include..............Директория служебных скриптов Apache
    |-- lib..................Директория вспомогательных библиотек
    |-- logs.................Директория файлов журналов Apache
    |-- modules..............Директория модулей Apache
    |-- ABOUT_APACHE.txt
    |-- CHANGES.txt
    |-- INSTALL.txt
    |-- LICENSE.txt
    |-- NOTICE.txt
    |-- OPENSSL-NEWS.txt
    |-- OPENSSL-README.txt
    |-- README.txt
|-- readme_first.html......Краткий help от Apache Haus, лежит в корне zip архива

Данная сборка Apache 2.4.23 x64 от Apache Haus для Windows является полным дистрибутивом WEB сервера и содержит все необходимые исполняемые и конфигурационные файлы для полноценной работы Apache как веб сервера, включая и использование https соединения. Соответственно, установил эту сборку и настроив ее, вы получаете полный, со всеми модулями, web сервер Apache, который можете использовать не только для разработки и тестирования, но и для продуктивного хостинга сайтов на Windows.

В zip архиве данной сборки так же вложен файл readme_first.html, который содержит краткое описание компонентов данной сборки и их версий. Так же, в этом файле приведены краткие инструкции от Apache Haus по установке Apache, VC14, инсталляции Apache как системной службы и даны необходимые ссылки.

 

ШАГ 2 настройка Apache

Все конфигурационные файлы WEB сервера Apache данной сборки расположены в каталоге /Apache24/conf. Главным конфигом является файл /Apache24/conf/httpd.conf.

Для успешного запуска Apache, необходимо выполнить всего одну настройку в httpd.conf конфиге сервера, в строке №38, указать директиву ServerRoot, которая определяет путь к домашней директории вашей инсталляции Apache.

Указание ServerRoot

Для примеров этой статьи директива ServerRoot будет иметь значение:

Define SRVROOT "Z:/WebDevelopment/Apache24"
ServerRoot "${SRVROOT}"

здесь в httpd.conf задание ServerRoot выполнено не напрямую, а через определение переменной SRVROOT. Это удобный способ, т.к. позволяет задавать путь единожды в начале конфига, а далее он будет уже применяться автоматически в нужных местах конфигурации через эту переменную.

После установки ServerRoot директивы WEB сервер Apache может быть успешно запущен и будет отображать страницу по умолчанию с документацией по адресу localhost. Все остальные настройки конфигурации Apache уже являются дополнительными и зависят от ваших потребностей.

Детали по конфигам Apache вы можете посмотреть в статьях «Обзор конфигурации Apache в Ubuntu» и «Главный config WEB сервера Apache в Ubuntu», т.к. вся логика, приемы настройки и значения директив будут в данном случае одинаковые как для конфигурации Apache на Windows, так и на Linux.

 

ШАГ 3 ручной запуск Apache

Основным исполняемым файлом WEB сервера Apache является файл Apache24\bin\httpd.exe. Соответственно, Apache можно запустить на исполнение как процесс, кликнув по файлу httpd.exe или выполнить команду запуска этого файла в консоли, что будет равнозначно.

Для того, что бы запустить Apache из командной строки на Windows, перейдите в проводнике в директорию с файлом Apache24\bin\httpd.exe и, зажав клавишу Shift, нажмите правую кнопку мыши и в контекстовом меню выберите пункт «Открыть окно команд«. Тогда командная строка Windows cmd.exe будет запущена уже в этом каталоге с бинарниками сервера и вам не нужно будет в команду включать полный путь до файла httpd.exe, а достаточно будет указать только сам файл с расширением. Если же вы запустил консоль в другом расположении, то включите, в приведенную ниже команду, полный путь к файлу httpd.exe.

 

Для запуска Apache необходимо набрать в консоли команду

если вы находитесь в папке с исполняемым файлом apache httpd.exe:

>httpd.exe

или, если вы находитесь вне папки с исполняемым файлом apache httpd.exe, то укажите в команде полный путь исполняемому файлу apache:

>Z:\WebDevelopment\Apache24\bin\httpd.exe

Данная команда приведет к запуску WEB сервера Apache, при этом, консоль останется запущенной и в окне командной строки исчезнет приглашение на ввод команды в виде знака >. Если при выполнении этих команд командная строка закроется, значит apache не запустился по причине каких либо ошибок в его конфигурации, для этого смотрите основной файл лога apache.

 

Что бы запускать Apache вручную в окне командной строки из любого места файловой системы простой командой:

> httpd

,т.е. без привязки к каталогу инсталяции Apache и при этом не указывать полный путь к файлу httpd.exe, то нужно прописать в системную переменную PATH путь до каталога с исполняемым файлом apache, т.е. добавить в переменную path строку вида:

;Z:\WebDevelopment\Apache24\bin

Как добавить в переменную path путь к папке с исполняемым файлом детально расписано в статье Установка PHP7 на Windows в разделе ШАГ 2 размещение PHP в Windows на примере PHP.

 

Если Apache запустился, то в диспетчере задач Windows появятся два активных процесса с именами файлов httpd.exe и описанием для них «Apache HTP Server«. Это,собственно, и есть работающий WEB сервер Apache. То, что мы видим два процесса httpd.exe — это нормально. Это Apache модуль Multi-Processing (MPM) по умолчанию для операционных систем Windows. Он использует единый процесс управления, который запускает дочерний процесс, который, в свою очередь, создает потоки для обработки запросов.

Если же что то пошло не так и сервер не запускается, то читайте его журналы ошибок, которые расположены в каталоге: Apache24\logs

 

Для остановки Apache, запущенного вручную, вышеописанным способом, необходимо вернуться в консоль (в окно открытой командной строки) и нажать комбинацию клавиш Ctrl+C, и через несколько секунд сервер будет остановлен, о чем будет свидетельствовать отсутствие httpd.exe процессов в Диспетчере задач Windows и в окне командной строки снова появится курсор (знак >) ожидания ввода команды. Иногда бывает, что командная строка «виснет», в этом случае повторно нажмите Ctrl+C и если курсор ввода команды не появится, то нажмите Enter. Если с использованием комбинаций клавиш Ctrl+C не получается остановить Apache в консоли, то просто закройте окно командной строки и сервер будет остановлен. Так же можно остановить Apache, выполнив завершение процессов httpd.exe в Диспетчере задач Windows, если предыдущие способы остановки не сработают.

 

 

htdocs\index.html

Теперь когда web сервер Apache запущен можно обратиться к его дефолтовый html странице, которая настроена в httpd.conf как хост по умолчанию и физически располагается в каталоге Apache24\htdocs\index.html.

Для проверки работы Apache наберите в адресной строке браузера адрес:

http://localhost

Если сервер работает, то вы увидите стартовую дефолтового страницу web сервера Apache от Apache Haus с надписью IT WORKS, что будет говорить о том, что все прошло успешно и Apache полноценно функционирует.

Для проверки HTTPS соединения обратитесь в браузере по адресу:

https://localhost

Браузер запросит ваше подтверждение на использование данного сертификата. Нужно будет вручную разрешить использование этого сертификата, т.к. входящий в сборку сертификат предназначен только для тестирования https соединения и является самоподписным, поэтому он будет отклоняться браузером в начале и требовать вашего одобрения на использование. После добавления сертификата в разрешенные для браузера, откроется снова стартовая страница Apache, но соединение уже будет защищенное по https протоколу с использованием SSL шифрования.

 

 

 

ШАГ 4 инсталляция Apache как службы Windows

Приведенный выше способ запуска и остановки web сервера Apache прекрасно работает и им можно с успехом пользоваться, создав ярлык на исполняемый файл httpd.exe или написав .bat файлы с командами старта и остановки сервера. Однако более удобным вариантом будет использование Apache как системной службы Windows, что позволит запускать и останавливать Apache в автоматическом, полуавтоматическом режимах и вручную. Для этих действий можно будет использовать утилиту управления Apache службой Apache24\bin\ApacheMonitor.exe, которая входит в данный дистрибутив Apache. ApacheMonitor.exe это маленькая утилита, представлявшая собой оконную программку, висящую в системном трее и позволяющую выполнять запуск и остановку службы Apache и контролировать ее состояние. Такой подход дает некоторое удобство в работе с web сервером Apache как системной службой Windows. Поэтому, далее будут рассмотрены необходимые действия для установки Apache как системной службы Windows.


Для просмотра списка доступных команд Apache наберите в консоли:

>Z:\WebDevelopment\Apache24\bin\httpd help

или, находясь в каталоге с бинарниками Apache:

>httpd -h

и в консоли будет выведен краткий help по доступным командам Apache и их синтаксис:

>httpd -h

Usage: httpd [-D name] [-d directory] [-f file]
             [-C "directive"] [-c "directive"]
             [-w] [-k start|restart|stop|shutdown] [-n service_name]
             [-k install|config|uninstall] [-n service_name]
             [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
  -D name            : define a name for use in  directives
  -d directory       : specify an alternate initial ServerRoot
  -f file            : specify an alternate ServerConfigFile
  -C "directive"     : process directive before reading config files
  -c "directive"     : process directive after reading config files
  -n name            : set service name and use its ServerConfigFile and ServerRoot
  -k start           : tell Apache to start
  -k restart         : tell running Apache to do a graceful restart
  -k stop|shutdown   : tell running Apache to shutdown
  -k install         : install an Apache service
  -k config          : change startup Options of an Apache service
  -k uninstall       : uninstall an Apache service
  -w                 : hold open the console window on error
  -e level           : show startup errors of level (see LogLevel)
  -E file            : log startup errors to file
  -v                 : show version number
  -V                 : show compile settings
  -h                 : list available command line options (this page)
  -l                 : list compiled in modules
  -L                 : list available configuration directives
  -t -D DUMP_VHOSTS  : show parsed vhost settings
  -t -D DUMP_RUN_CFG : show parsed run settings
  -S                 : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG
  -t -D DUMP_MODULES : show all loaded modules
  -M                 : a synonym for -t -D DUMP_MODULES
  -t -D DUMP_INCLUDES: show all included configuration files
  -t                 : run syntax check for config files
  -T                 : start without DocumentRoot(s) check
  -X                 : debug mode (only one worker, do not detach)

Рекомендация: используйте с данными командами полный путь до файла httpd.exe как в примерах ниже.

 

Для инсталляции Apache как системной службы Windows нужно выполнить в консоли команду:

>Z:\WebDevelopment\Apache24\bin\httpd.exe -k install

 

Для деинсталяции Apache как системной службы Windows нужно выполнить в консоли команду:

>Z:\WebDevelopment\Apache24\bin\httpd.exe -k uninstall

 

После установки Apache в качестве системной службы Windows вы можете настроить работу этой службы стандартным для всех служб Windows способом в Консоли управления Microsoft — оснастке services.msc запустив ее в cmd.exe командой:

>services.msc

или воспользовавшись другими стандартными способами:

  • Меню Пуск, в строке поиска наберите services.msc и нажмите клавишу Enter;
  • Нажмите сочетание клавиш Win+R, наберите services.msc и нажмите клавишу Enter;
  • Через оконный интерфейс по пути: Пуск->Панель управления->Администрирование->Службы

Установленная служба Apache будет иметь:

  • название: Apache2.4;
  • описание: Apache/2.4.23 (Win64) OpenSSL/1.0.2j;
  • тип запуска: Автоматически.

Настройте необходимый вам вариант запуска службы стандартным способом.

Так же, для управления службой Apache2.4 вы можете воспользоваться описанной выше программой из дистрибутива сервера Apache24\bin\ApacheMonitor.exe. Для этого запустите указанный файл ApacheMonitor.exe и воспользуйтесь для запуска или остановки Apache кнопками в окне данной программы. В свернутом состоянии эта программа ‘висит’ в системном трее в виде иконки состояния службы Apache и может быть от туда вызвана.

Скриншот запущенной программы ApacheMonitor.exe

 

На этом Portable инсталляция Apache на Windows из zip архива закончена, далее можно приступать к индивидуальной настройке web сервера и организации виртуальных хостов.

 

Смотри также:

Настройка работы PHP с web сервером Apache2.4 на Windows

Настройка виртуального хоста Apache

Еще, дополнительно, о настройке можно почитать на сайте Apache: CUSTOMIZING APACHE FOR WINDOWS.

 

 

andew.ru

Как установить на Windows Apache 2.4 и PHP 7

Проект Apache не предоставляет бинарные версии программного обеспечения, а только исходный код. Тем не менее, их можно получить на сторонних сайтах:

  • ApacheHaus;
  • Apache Lounge.

Загрузите 32-разрядную версию Apache Windows (httpd-2.4.20-win32-VC14.zip) или 64-разрядную версию (httpd-2.4.20-win64-VC14.zip). Проверьте, установлена ли у вас 64-разрядная версия ОС. Чтобы определить это, можно использовать msinfo32.exe. Этот инструмент помогает в сборе информации о компьютере, в диагностике проблем или его можно использовать для доступа к другим инструментам.

Чтобы запустить его, выполните команду Выполнить> msinfo32> нажмите Enter.

После того, как найдете нужную версию, скачайте Zip-архив, а затем извлеките его содержимое в папку C:Apache24.

Перед запуском сервера Apache, если нужно изменить порт прослушивания на 8181:

  • Откройте в текстовом редакторе файл C:Apache24confhttpd.conf;
  • Найдите следующую строку: Listen 80;
  • И измените ее на: Listen 8181.

Сохраните изменения.

Теперь можно запустить сервер Apache Windows 7:

Откройте командную строку от имени администратора и перейдите в подкаталог bin:

Введите httpd.exe и нажмите Enter.

Если на экране появилось диалоговое окно с сообщением об отсутствии файла MSVCR140.dll, необходимо установить Visual C ++ Redistributable для Visual Studio 2015 (выберите vc_redist.x64.exe, если у вас установлена 64-разрядная версия Windows).

Теперь откройте браузер и введите в адресную строку http://localhost:8181, чтобы запустить демонстрационный сайт.

PHP 7 — важное обновление для серверного языка веб-разработки PHP. Загрузите zip-архив VC14 x64 Thread Safe (2016-Apr-29 00:38:19). Если вы загрузили 32-разрядную версию Apache, необходимо установить PHP x86.

Создайте папку с именем «php7», извлеките в нее содержимое архива php-7.0.6-Win32-VC14-x64.zip, а затем поместите папку в корень диска C:

Откройте файл конфигурации установки Windows Apache C:Apache24confhttpd.conf.

Скопируйте следующие строки в начало файла:

  • AddHandler application/x-httpd-php.php;
  • AddType application/x-httpd-php .php .html;
  • LoadModule php7_module «c:/php7/php7apache2_4.dll»;
  • PHPIniDir «c:/php7».

В разделе <IfModule dir_module> добавьте строку index.php и поместите ее перед index.html:

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

Сохраните файл Apache PHP Windows. Теперь переименуйте файл C:php7php.ini-development в C:php7php.ini.

Откройте файл конфигурации Apache C:Apache24confhttpd.conf;
Найдите в нем строку #LoadModule rewrite_module modules/mod_rewrite.so и удалите символ хеш «#»;
Найдите все вхождения строки «AllowOverride None» и измените их на «AllowOverride All».

Отредактируйте файл php.ini и раскомментируйте каталог расширений. Удалите символ «;» в начале строк:

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
extension_dir = "ext"

Активируйте следующие строки, это даст возможность запуска модулей MySQL:

extension=php_mysqli.dll
extension=php_pdo_mysql.dll

А также приведенные ниже строки, если вы используете установку Apache PHP MySQL Windows в среде разработки:

extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_openssl.dll

Раскомментируйте error_log, чтобы включить ведение журнала файлов:

; Log errors to specified file. PHP's default behavior is to leave this value
; empty.
; http://php.net/error-log
; Example:
error_log = c:php7php_errors.log

Сохраните изменения.

ВАЖНО! Установите PATH для Windows, чтобы найти PHP

  • Кликните правой кнопкой мыши на ярлыке Мой компьютер — Свойства — Дополнительно — Переменные среды;
  • В разделе «Системные переменные» найдите пункт «Путь», кликните по нему и выберите «Изменить»;
  • Добавьте в конце путь к папке php (обязательно после точки с запятой «;»). Например: «;C:php7«;
  • Нажмите «ОК».

Создайте файл по адресу C:Apache24htdocsphpinfo.php и добавьте в него следующий код:

Перезапустите Apache Windows, а затем в браузере перейдите по адресу http://localhost:8181/phpinfo.php. На этой странице должна отобразиться информация об установленной версии PHHP.

Если нужно зарегистрировать Apache как службу Windows, откройте командную строку и введите:

C:Apache24binhttpd -k install

Если вы не хотите, чтобы Apache запускался автоматически при запуске / перезагрузке системы, введите:

C:> sc config Apache2.4 start= demand

Данная публикация представляет собой перевод статьи «How To easy install Apache 2.4 and PHP 7 on Windows» , подготовленной дружной командой проекта Интернет-технологии.ру

www.internet-technologies.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *