Веб-сервер apache: установка, настройка и способы защиты от атак

Настройка Apache

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

Все настройки содержатся в папке /etc/apache/:

  • Файл /etc/apache2/apache2.conf отвечает за основные настройки
  • /etc/apache2/conf-available/* — дополнительные настройки веб-сервера
  • /etc/apache2/mods-available/* — настройки модулей
  • /etc/apache2/sites-available/* — настойки виртуальных хостов
  • /etc/apache2/ports.conf — порты, на которых работает apache
  • /etc/apache2/envvars

Как вы заметили есть две папки для conf, mods и site. Это available и enabled. При включении модуля или хоста создается символическая ссылка из папки available (доступно) в папку enable (включено). Поэтому настройки лучше выполнять именно в папках available. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.

Сначала давайте рассмотрим главный файл конфигурации:

Timeout — указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных. 160 секунд будет вполне достаточно.

KeepAlive On — очень полезный параметр, позволяет передавать несколько файлов, за одно соединение, например, не только саму html страницу, но и картинки и css файлы.

MaxKeepAliveRequests 100 — максимальное количество запросов за одно соединение, чем больше, тем лучше.

KeepAliveTimeout 5 — таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд, так что больше ставить не нужно, но и рвать соединение раньше чем загрузились все данные тоже не нужно.

User, Group — пользователь и группа, от имени которых будет работать программа.

HostnameLookups — записывать в логи вместо ip адресов доменные имена, лучше отключить, чтобы ускорить работу.

LogLevel — уровень логирования ошибок. По умолчанию используется warn, но чтобы логи заполнялись медленнее достаточно включить error

Include — все директивы include отвечают за подключение рассмотренных выше конфигурационных файлов.

Директивы Directory отвечают за настройку прав доступа к той или иной директории в файловой системе. Синтаксис здесь такой:

Здесь доступны такие основные опции:

AllowOverride — указывает нужно ли читать .htaccess файлы из этой директории, это такие же файлы настроек и таким же синтаксисом. All — разрешать все, None — не читать эти файлы.

DocumentRoot — устанавливает из какой папки нужно брать документы для отображенияа пользователю

Options — указывает какие особенности веб-сервера нужно разрешить в этой папке. Например, All — разрешить все, FollowSymLinks — переходить по символическим ссылкам, Indexes — отображать содержимое каталога если нет файла индекса.

Require — устанавливает, какие пользователи имеют доступ к этому каталогу. Require all denied — всем запретить, Require all granted — всем разрешить. можно использовать вместо all директиву user или group чтобы явно указать пользователя.

Order — позволяет управлять доступом к директории. Принимает два значения Allow,Deny — разрешить для всех, кроме указанных или Deny,Allow — запретить для всех, кроме указанных. Теперь мы можем запретить доступ к директории для всех: Deny from all, а затем разрешить только для приложения от losst.ru: Allow from losst.ru.

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

У нас остался файл /etc/apache2/ports.conf:

В нем только одна директива, Listen, которая указывает программе на каком порту нужно работать.

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

Дальше поговорим немного о htacess. Совсем немного.

Выпуск самоподписанного сертификата Windows

В отличии от IIS, сертификат для Apache выпускается с помощью стороннего программного обеспечения OpenSSL.

После скачивания дистрибутива установки необходимо его запустить.

На первой странице нужно согласиться с условиями лицензионного соглашения (переключить переключатель на «I accept the agreement») и нажать кнопку «Next».

Мастер переключится на страницу размещения дистрибутива. Если местоположение не планируется изменять, то можно оставить поле в значении по умолчанию и нажать кнопку «Next».

На следующем шаге ничего менять не нужно и можно просто нажать «Next».

Дистрибутив готов к установке. Нужно нажимать кнопку «Install» и дождаться завершения установки.

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

Дистрибутив OpenSSL установлен и теперь можно переходить к генерации сертификата.

Для этого необходимо запустить интерпретатор командной строки от имени Администратора.

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

Директория bin для OpenSSL была указана на втором шаге установщика.

Если пришлось добавить директорию bin в переменные окружения, то необходимо перезапустить командную строку от имени администратора. В противном случае, если ввод перешел в режим конфигурирования OpenSSL, нужно нажать сочетание клавиш Ctrl + C.

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

После создания нужно перейти в созданную директорию.

После чего требуется ввести команду генерации сертификата, где вместо <SERVER> нужно подставить имя компьютера, на котором планируется размещен Apache:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout <SERVER>.key -out <SERVER>.crt

Во время выполнения команды будет задано несколько вопросов. Для «Common Name (e.g. server FQDN or Your bane)» нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме «Country name» — здесь можно оставить по умолчанию).

Установка PHP (ручная)

Нужен ли нам Apache без PHP? Конечно нет, это нонсенс! Поэтому далее мы рассмотрим ручную (без использования инсталлятора) установку PHP.

Содержимое архива распаковываем в директорию C:\PHP (папку PHP создаём сами). Далее в папке C:\PHP находим два файла php.ini-development и php.ini-production. Эти файлы содержат базовые настройки. Первый файл оптимизирован для разработчиков, второй для рабочих систем. Основная разница в настройках: для разработчиков разрешен вывод на экран ошибок, тогда как для рабочих систем вывод ошибок запрещен из соображений безопасности.

Сделаем кое что, прежде чем продолжить установку PHP. Открываем Панель управления → оформление и персонализация → параметры папок → вкладка Вид, находим строку «Скрывать расширения для зарегистрированных типов файлов», и если там стоит галочка, убираем ее и нажимаем «Применить».

Продолжаем установку. И так, выбираем нужный вам файл (я выбрал php.ini-development). Выбранный файл нужно будет просто немного переименовать.
Правый клик по файлу → Переименовать → стираем «-development», оставляя только php.ini

Теперь открываем php.ini, нам необходимо внести несколько изменений (будьте внимательны при внесении изменений, если в начале строки стоит точка с запятой, ее надо будет убрать):

  1. Найти опцию extension_dir (строка 721) и изменить путь к папке ext в соответствии с путем установки PHP. У меня это выглядит так: extension_dir = «C:\PHP\ext»
  2. Найти опцию upload_tmp_dir (строка 791). Здесь надо указать путь к временной папке. Я выбрал c:\windows\temp. Всё вместе: upload_tmp_dir = «C:\Windows\Temp»
  3. Найти опцию session.save_path (строка 1369). Здесь также требуется указать путь к временной папке: session.save_path = «C:\Windows\Temp»
  4. В разделе Dynamic Extensions необходимо раскомментировать несколько строк (убрать точку с запятой в начале), соответствующих модулям PHP, которые могут понадобиться для работы: 866, 873, 874, 876, 886, 895, 900

Сохраняем изменения и закрываем.

Теперь вернемся к настройкам Apache. Нам придется немного отредактировать конфиг Apache. Заходим в папку C:\Apache24\conf и открываем файл httpd.conf.

Переходим в конец файла и в самом низу добавляем следующие строчки:

# Charset
AddDefaultCharset utf-8
# PHP
LoadModule php5_module "C:/PHP/php5apache2_4.dll"
PHPIniDir "C:/PHP"
AddType application/x-httpd-php .php

Путь к папке php указываете тот, который вы выбрали в процессе установки (если вы устанавливали в другую директорию).

В этом же файле находим следующие строки (строки примерно 274-276):

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

Перед index.html дописываем через пробел index.php. В итоге получается:

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

Чтобы изменения вступили в силу, перезапускаем службу Apache (значок в трее — Apache monitor). Если служба перезапустится — это хороший знак. Если нет (выскочит ошибка) — ищите ошибки в конфигурационных файлах. Особенно внимательно проверьте все пути.

Чтобы нам убедиться в работоспособности PHP, откройте папку C:\Apache24\htdocs (здесь содержатся файлы веб-сайта по умолчанию). Создайте в этой папке файл index.php со следующим содержанием:

<?php phpinfo(); ?>

Теперь откройте в браузере http://localhost/ (или просто localhost). Если все прошло нормально, вы увидите похожую страницу:

Если у вас вместо страницы с инфомацией о php открылась страница с надписью «It works!», тогда просто нажмите обновить страницу.

Шаг 2: Изменение конфигурационного файла

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

  1. Перейдите по пути .

Дважды кликните по файлу «httpd.conf» для его открытия.

Если у вас есть продвинутый текстовый редактор, выберите его для просмотра файла конфигурации. В противном случае используйте стандартный «Блокнот».

В документе найдите строку .

Замените ее на , чтобы указать новый путь к файлам. Учитывайте, что в строке мы указали созданный ранее путь. Если у вас он отличается, поменяйте выражение в кавычках.

Далее найдите строку , которая по умолчанию заключена в комментарий и неактивна.

Измените ее на , указав тем самым локальный адрес, который в дальнейшем и будет использоваться для проверки веб-сервера.

Отыщите строки и , которые отвечают за расположение связанных с сервером файлов.

Замените их на и .

Сейчас параметр имеет только значение , поэтому его тоже нужно найти и отредактировать.

Добавьте еще несколько доступных форматов файлов, чтобы в итоге строка обрела вид .

Для строки поменяйте состояние на , удалив предыдущее выражение.

Осталось только найти и убрать значок #, активировав тем самым строку.

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

Если с поиском конкретных строк у вас возникают проблемы, используйте сочетание клавиш Ctrl + F, чтобы вызвать инструмент «Найти» и вписать там необходимое выражение.

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

Настройка модулей Apache

Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:

Включить модуль можно командой:

А отключить:

После включения или отключения модулей нужно перезагрузить apache:

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.

Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

Публикация информационной базы Windows

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

C:\Apache24\conf\extra\httpd-ahssl.conf

Нужно в файле найти секцию VirtualHost _default_:443 и в ней заменить SSLCertificateFile  и SSLCertificateKeyFile на полные пути к ключу и закрытого файла сертификата, на подготовленные заранее файлы.

SSLCertificateFile "${SRVROOT}/certs/server1.crt"
SSLCertificateKeyFile "${SRVROOT}/certs/server1.key"

После этого можно переходить к публикации базы.

Для публикации информационной базы нужно открыть конфигуратор конкретной базы от имени администратора и перейти в пункт меню «Администрирование». После этого выбрать «Публикация информационной базы».

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

После этого требуется нажать кнопку «Опубликовать» и дождаться окончания операции.

НАСТРОЙКА МОДУЛЕЙ APACHE

Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:

Включить модуль можно командой:

А отключить:

После включения или отключения модулей нужно перезагрузить apache:

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.

Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

Проблема установки Apache под Windows

Основная проблема установки Web-сервера Apache под Windows заключается в том, что после первичной установки дистрибутива весь пакет (исполняемые программы, конфигурационные файлы, файлы журналов работы сервера и файловая область для размещения Web-страниц) размещается в одном месте. Это мешает нормальной эксплуатации продукта по следующим причинам:

  • Разграничение прав доступа. Исполняемые файлы должны оставаться неизменными, конфигурационными файлами управляет администратор Web-сервера, а доступ к файловой области Web-страниц должны иметь разработчики и администраторы сайта. Права доступа к папке «Program Files» настроены в предположении, что в ней хранятся исполняемые модули программных пакетов, модификация которых не требуется.
  • Захламление системных папок. Папка «Program Files» операционной системы Windows изначально предназначена для размещения только исполняемых файлов. Она может находиться на отдельном томе, размер которого выбирается системным администратором в предположении о его относительном постоянстве. Уж точно никто не ожидает, что в этой папке будут храниться пользовательские данные, галереи рисунков и файловый архив сайта.

Поэтому установка Apache под Windows должна проводиться в два этапа:

  1. Первичная установка программного пакета в выбранную папку.
  2. Оптимизация размещения файловых областей web-сервера и соответствующее изменение его конфигурации.

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

Установка Apache под Windows

Поэтому нужно скачать архив и разархивировать в любую удобную папку, например, C:\Apache24. 24. В названии папки указан номер версии Apache. В данном случае используется версия 2.4

При публикации информационной базы из командной строки стоит обращать на это внимание, так как с платформой поставляются отдельные библиотеки веб-компонент для версий Apache 2.2 и 2.4

После разархивирования файла архива, откройте командую строку от имени администратора. Самый простой вариант – это открыть меню Пуск и ввести cmd. После того, как приложение будет найдено щелкнуть по нему правой кнопкой мыши и выбрать пункт меню «Запустить от имени Администратора» («Run as Administrator»).

В командной строке переходим в директорию распакованного Apache с помощью команды cd. Например:

cd C:\Apache24

В директории Apache вводим команду:

httpd.exe -k install

Это установит службу Apache, которой можно будет управлять в окне служб.

На этом установка Apache закончена. Осталось только опубликовать информационную базу и указать файлы сертификата в настройках Apache.

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

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

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

По умолчанию Apache содержит стандартный файл конфигурации 000-default.conf, который хранится в директории /etc/apache2/sites-available.

Файлы наших виртуальных хостов будут храниться здесь же, и мы сформируем их на основе 000-default.conf.

Однако сначала мы отключим стандартный файл конфигурации командой:

$ sudo a2dissite 000-default

Теперь скопируем его содержимое в файл, который будет содержать настройки Вашего сайта.

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

$ sudo cp /etc/apache2/sites-available/000-default.conf 
/etc/apache2/sites-available/site1.conf

Далее нам нужно отредактировать конфигурационный файл. Откроем его командой:

$ sudo nano /etc/apache2/sites-available/site1.conf

Приведем содержимое файла к следующему виду:

<VirtualHost *:80>
 ServerName site1.com 
 DocumentRoot /var/www/site1/public_html

<Directory /var/www/site1/public_html>
 AllowOverride All
 Require all granted
 </Directory>

ErrorLog /var/www/site1/error.log
 CustomLog /var/www/site1/access.log combined
</VirtualHost>

Поясним приведенные выше параметры.

Блок <VirtualHost> включает в себя набор директив, задающих настройки для конкретного виртуального хоста.

Имя этого хоста Вы указали в параметре ServerName — полное доменное имя Вашего сайта.

Далее следует директива DocumentRoot — она задает путь до директории, в которой хранятся файлы сайта site1 (все необходимые директории мы создадим позже).

Следующий параметр — блок <Directory>. Он задает настройки, которые будут применены для конкретной папки.

В данном случае:

  • AllowOverride All — разрешение допускать настройки, заданные в .htaccess;
  • Require all granted — доступ к каталогу разрешен всем.

В параметре ErrorLog мы указали расположение файла с логами ошибок.

В CustomLog — расположение файла с логами доступа.

После указания всех необходимых параметров закройте файл, сохранив изменения.

Далее мы создадим все необходимые папки, которые мы прописали в конфигурационном файле, и установим права на них:

$ sudo mkdir /var/www/site1/
$ sudo chown www-data:www-data /var/www/site1/
$ sudo mkdir /var/www/site1/public_html
$ sudo chown www-data:www-data /var/www/site1/public_html

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

$ nano /var/www/site1/public_html/index.html

Внесите в него любой самый простой html-код для проверки и сохраните документ.
Например:

<html>
 <head>
 <title>Удалось!</title>
 </head>
 <body>
 <h1>Виртуальный хост работает!</h1>
 </body>
</html>

Далее включите сайт следующей командой:

$ sudo a2ensite site1

И выполните перезагрузку Apache:

$ sudo service apache2 restart

Теперь необходимо ввести в браузере адрес сайта, виртуальный хост для которого Вы настраивали. Если все работает, как нужно, на экране будет отражено содержимое созданного Вами индексного файла.
Надеемся, все получилось :)

Шаг 5 — Настройка виртуальных хостов (рекомендуется)

При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналог серверных блоков в Nginx) для хранения конфигурационных настроек разных сайтов. Это позволяет иметь более одного сайта на одном сервере. В этом руководстве мы будем для примера использовать доменное имя example.com, но вам следует заменить его вашим собственным доменным именем. Для того, чтобы узнать больше о настройке доменных имён в DigitalOcean, рекомендуем ознакомиться с нашим Введением в DNS DigitalOcean.

Создайте директорию для example.com используя флаг для создания необходимых родительских директорий:

Далее настройте владельца директории с помощью переменной окружения :

Теперь права должны для корневой директории быть настроены правильным образом при условии, что вы не меняли своё значение . На всякий случай мы можем удостовериться в этом командой:

Далее создадим страницу в или любом другом текстовом редакторе:

Добавим в файл следующий HTML:

/var/www/example.com/html/index.html

Сохраните и закройте файл.

Скопируйте следующий текст настроек виртуального хоста в созданный файл:

/etc/apache2/sites-available/example.com.conf

Обратите внимание, что мы обновили на адрес нашей новой директории, и на адрес электронной почты, доступный для администратора example.com. Мы также добавили две директивы: , которая устанавливает базовое доменное имя, которое должно использоваться для хоста, а также , которая определяет другие имена, которые должны использоваться для отображения хоста так же, как и базовое доменное имя

Сохраните и закройте файл после внесения изменений.

Теперь активируем профиль сайта с помощью утилиты :

Деактивируем дефолтный сайт, определённый в :

Далее проверим наши настройки на наличие ошибок:

Вы должны увидеть следующий вывод:

Перезапустите Apache для применения внесённых изменений:

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

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 поставляется в виде zip архива, соответственно его можно легко проверить на вирусы и трояны, и быть уверенным в безопасности такой установки.

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

После того как скачали, открываем архив httpd-2.4.7-win64-VC11.zip

Извлекаем из него папку Apache24 в раздел диска C:\

Теперь нам необходимо немного поправить конфиг, прежде чем устанавливать Apache. Открываем файл httpd.conf (находится здесь: C:\Apache24\conf) желательно через удобный редактор, например notepad++. Находим строку (217) ServerName www.example.com:80 и меняем на ServerName localhost:80

Далее нам необходимо установить Apache используя командную строку. Нажимаем Пуск → Выполнить, вводим команду cmd и нажимаем OK. У нас должно открыться окно командной строки

Здесь нам необходимо указать полный путь к файлу httpd.exe, который находится в папке Apache. В нашем случае это C:\Apache24\bin\httpd.exe. Набираем команду C:\Apache24\bin\httpd.exe -k install и жмем Enter.

Если при выполнении программы у вас возникает следующая ошибка: failed to open the winnt service manager perhaps you forgot to log in as administrator, заходим в следующую папку: C:\Users\Здесь_имя_вашего_пользователя\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\System Tools, запускаем командную строку от имени администратора

И повторяем команду установки.

Установка завершена. Откройте директорию bin (полный путь: C:\Apache24\bin\) и запустите файл: ApacheMonitor.exe. В системном трее появится значок Apache, с помощью которого можно быстро запускать/останавливать службу Apache, жмем start (запуск):

Теперь проверим работоспособность. Открываем браузер, и в адресной строке пишем http://localhost/ (можно просто localhost). Если установка выполнилась успешно, должна открыться страница с надписью It works!

Настройка MySQL

  1. Загрузите установочную программу MySQL, соответствующую вашей версии платформы;
  2. Запустите установочную программу и выберите вариант «Настроить»;
  3. Выполните все этапы установки и в конце нажмите кнопку «Готово»;
  4. После этого откроется окно «Мастер настройки сервера MySQL«:
  • Убедитесь, что у вас выбран вариант «Стандартная конфигурация» и перейдите к следующему шагу;
  • Если у вас уже установлен MySQL, вы можете получить сообщение «Служба Windows с именем MySQL уже существует. Пожалуйста, удалите эту службу корректно или выберите другое имя для новой службы«. В этом случае выберите другое имя для сервера MySQL;
  • В следующем окне установите флажок для опции «Включить директорию Bin в PATH Windows», чтобы вы могли получить доступ к различным утилитам MySQL из командной строки;
  • В следующем окне установите пароль для пользователя root MySQL, который обладает наибольшим набором прав доступа к серверу;
  • На следующем и последнем этапе вы должны сохранить все изменения. Для этого нажмите кнопку «Выполнить». После этого служба будет запущена.

Примечание

Чтобы сделать эту инструкцию максимально доступной, мы пропустили несколько сценариев конфигурации сервера MySQL для Apache Windows 7. Это и многое другое изложено здесь.

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

Оригинальный httpd.conf

Оригинальный конфигурационный файл httpd.conf, созданный инсталятором Apache, на основе инструкций по инсталяции, приведенных в этой статье, можно скачать тут: httpd.conf.original.

Последнее обновление статьи: 2011/09/08

Серьезная уязвимость Apache (все версии младше 2.2.20)
Установка и настройка PHP, MySQL и Apavhe
Конфигурационные директивы Apache файла http.conf
Русскоязычный перевод комментариев httpd.conf
PHP — как установить и настроить
MySQL — как установить и настроить

Опубликовано: 2011/08/29

HTML-код ссылки на эту страницу:
<a href=»https://petrenco.com/apache.php?txt=84″ target=»_blank»>Apache — установка и настройка.</a>

144754

Настройка Apache

  1. Загрузите инсталляционный пакет. На данный момент предпочтительно использовать версию 2.2;
  2. Запустите мастер установки и выполните все этапы, пока не дойдете до шага «Информация о сервере». Здесь задайте для каждого из полей приведенные ниже значения, если у вас нет конкретных требований для настройки сервера Apache:

1. localhost 2. localhost 3. admin@localhost

  1. Завершите все этапы мастера установки, нажимая «Далее», после чего он установит и запустит веб-сервер Apache в качестве службы Windows;
  2. Теперь в строке состояния Windows вы сможете увидеть перо розового цвета с зеленой кнопкой, указывающее на то, что Apache запущен и работает. Перейдя в браузере по адресу http://localhost/, вы должны увидеть страницу, на которой указывается, что служба работает;
  3. Теперь давайте перейдем к директории, в которой установлен Apache. Как правило, это C:Program FilesApache Software FoundationApache2.2 — и рассмотрим различные папки, содержащиеся в ней:
  1. bin — содержит различные бинарные файлы, некоторые из них перечислены ниже. Чтобы получить доступ к этим приложениям, большинство из которых являются командами, нам нужно добавить путь к папке bin в глобальной переменной PATH. Для этого кликните правой кнопкой мыши по иконке Мой компьютер> Свойства> Дополнительные параметры системы> Переменные среды и в списке «Системные переменные» найдите и выберите переменную PATH, нажмите на кнопку «Редактировать» и добавьте в конце точку с запятой (если она еще не добавлена), а затем введите абсолютный путь к папке bin. И в диалоговом окне «Свойства системы» нажмите кнопку «Применить»:
  • Файл httpd.exe — это веб-сервер Apache, который создал несколько дочерних процессов, обслуживающих целый ряд входящих запросов клиентов в соответствии с требованиями директивы MaxClients;
  • Файл ab.exe — это инструмент, который устанавливается вместе с Apache и позволяет увидеть, насколько производительно работает приложение за единицу времени.
  1. conf — папка, в которой находятся различные конфигурационные файлы. В нашем случае наибольший интерес представляют следующие:
  • httpd.conf — большинство директив сервера находятся в этом файле и для легкого доступа к ним вы должны связать тип файла .conf с текстовым редактором «Блокнот»;
  • extrahttpd-vhosts.conf — содержит директивы для использования локального сервера в качестве виртуального хоста, чтобы запускать на вашем компьютере несколько серверов. Один из сценариев его использования — на стадии разработки, если вы не хотите трогать фактический домен, вы можете работать на локальной копии, при этом допустимо возникновение в этом файле мелких ошибок;
  • htdocs — корневой каталог веб-сервера по умолчанию, здесь отображается http://localhost/, если вы не перенастроили его в файле httpd.conf;
  • logs — журналы доступа и ошибок, связанные с различными проблемами, возникающими при установке Apache на Windows 7 или даже в приложении.

Основные команды для управления HTTP-сервером Apache

В заключение мы приведем некоторые основные команды systemctl, которые помогут вам управлять вашим веб-сервером Apache2.

Используйте restart, чтобы остановить службу Apache2, а затем запустить ее снова.

Используйте опцию reload, чтобы указать Apache2 перезагрузить свои конфигурационные файлы, но без остановки службы.

Выполните команду stop, чтобы остановить службу Apache2.

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

Помощники Apache2

a2ensite – включить сайт apache2 или виртуальный хост.

a2dissite – используется для отключения сайта apache2 или виртуального хоста.

Дополнительная настройка

По умолчанию веб-сервер принимает подключения на TCP-порту 80 всех сетевых интерфейсов. Для того, чтобы он был доступен на TCP-порту 8080 только локальных интерфейсов, в конфигурационный файл нужно внести следующие изменения:

Естественно, такой сервер не виден за пределами компьютера, на котором он запущен, и пригоден только для локальной разработки. Чтобы сервер появился для всей сети, надо либо прописать IP-адреса сетевых интерфейсов, либо убрать их совсем вместе с разделителем » : «, оставив только номер порта.

Чтобы избавиться от предупреждения в консольном окне запуска веб-сервера:

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

Для просмотра локальной документации по адресу «http://localhost:8080/manual» нужно подключить соответствующую конфигурацию:

Чтобы PHP-страницы обрабатывались интерпретатором, который установлен в папку «C:\PHP7», нужно прописать в конфигурационном файле «httpd.conf» следующие настройки:

Добавляемые директивы LoadModule и AddType надо размещать рядом с уже существующими в конфигурационном файле одноимёнными директивами.

Для управления разделами сайтов, работающих на веб-сервере Apache, часто задают настройки для отдельных папок в файлах «.htaccess». Чтобы этот механизм заработал, нужно в сеции <Directory «${DOCROOT}/public_html»> внести следующие исправления:

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: