Apache - установка и настройка. Установка веб-сервера Apache

  • 21.09.2019

Apache - наиболее используемый интернет-сервер на линукс системах. Интернет-сервера используются для выдачи интернет-страниц по запросу клиентских компьютеров. Клиенты обычно запрашивают и просматривают интернет-страницы используя приложения интернет-браузеров, таких как Firefox, Opera, Chromium или Mozilla.

Пользователи вводят единообразный указатель ресурсов (URL) для определения интернет-сервера по его полностью квалифицированному доменному имени (FQDN) и пути до требуемого ресурса. Например, чтобы увидеть домашнюю станицу интернет-сайта Ubuntu, пользователь должен ввести только FQDN:

Www.ubuntu.com

SymLinksIfOwnerMatch - Следует по символическим ссылкам если целевой файл или каталог имеет того же владельца, что и ссылка.

Настройки httpd

Этот раздел раскрывает некоторые основные конфигурационные настройки сервиса httpd .

LockFile - инструкция LockFile устанавливает путь к блокирующему файлу (lockfile) когда сервер скомпилирован с опцией USE_FCNTL_SERIALIZED_ACCEPT или USE_FLOCK_SERIALIZED_ACCEPT. Он должен сохраняться на локальном диске. Стоит оставить значение по умолчанию если только каталог журналов не расположен на NFS ресурсе. В противном случае исходное значение стоить изменить на каталог локального диска с правами на чтение только для root.

PidFile - инструкция PidFile устанавливает файл, в который сервер записывает ID своего процесса (pid). Этот файл должен быть доступен на чтение только root. В большинстве случаев этот параметр стоит оставить без изменений.

User - инструкция User устанавливает userid (ID пользователя), используемый сервером для ответа на запросы. Эта настройка определяет права доступа сервера. Любые файлы, недоступные этому пользователю, также будут недоступны для посетителей вашего сайта. По умолчанию используется пользователь «www-data».

Group - инструкция Group аналогична директиве User. Group устанавливает группу под которой сервер будет отвечать на запросы. Значение по умолчанию также «www-data».

Модули Apache2

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

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

Вы можете установить дополнительные модули Apache2 и использовать их с вашим интернет сервером. Например, запустите следующую команду в терминале для установки модуля авторизации MySQL:

Sudo apt-get install libapache2-mod-auth-mysql

Ищите дополнительные модули в каталоге /etc/apache2/mods-available.

Используйте утилиту a2enmod для включения модуля:

Sudo a2enmod auth_mysql sudo service apache2 restart

Аналогично a2dismod выключит модуль:

Sudo a2dismod auth_mysql sudo service apache2 restart

Настройка HTTPS

Модуль mod_ssl добавляет важную возможность для сервера Apache2 - возможность шифрованных соединений. Таким образом, когда ваш браузер соединяется с использованием SSL , используется префикс https:// в начале адреса URL в строке навигации.

Модуль mod_ssl доступен в пакете apache2-common. Выполните следующую команду в терминале для включения этого модуля:

Sudo a2enmod ssl

Настройки по умолчанию для HTTPS находятся в файле /etc/apache2/sites-available/default-ssl. Чтобы Apache2 предоставлял HTTPS, также требуются файлы ключа и сертификата. Изначальная настройка HTTPS использует сертификат и ключ, созданные пакетом ssl-cert. Они подходят для тестирования, но должны быть заменены на сертификат, соответствующий вашему сайту или серверу. Для информации по созданию ключей и получению сертификатов смотрите раздел Сертификаты .

Для настройки Apache2 для HTTPS введите следующее:

Sudo a2ensite default-ssl

Каталоги /etc/ssl/certs и /etc/ssl/private используются по умолчанию. Если вы установили сертификат и ключ в другие каталоги, убедитесь что изменили соответственно опции SSLCertificateFile и SSLCertificateKeyFile.

С Apache2, теперь настроенным на HTTPS, перезапустим сервис для разрешения новых настроек:

Sudo service apache2 restart

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

Вы можете получить доступ к страницам защищенного сервера набрав https://your_hostname/url/ в адресной строке вашего браузера.

Права разделения записи

Чтобы более одного пользователя имели право записи в один и тот же каталог, необходимо дать право записи группе, которая их объединяет. Следующий пример предоставляет права на запись в каталог /var/www для группы «webmasters».

Sudo chgrp -R webmasters /var/www sudo find /var/www -type d -exec chmod g=rwxs "{}" \; sudo find /var/www -type f -exec chmod g=rws "{}" \;

Если доступ должен быть предоставлен более чем одной группе на каталог, используйте Списки управляемого доступа (ACL).

Ниже я написал инструкцию как на на локальном компьютере с Windows 7 — настроить сервер Apache и установить на него PHP, MySql и phpMyAdmin.

Установка Apache

Скачиваем дистрибутив с сервером Apache с сайта http://httpd.apache.org/download.cgi . Выбираем версию 2.2.22 и скачиваем установщик для windows. На домашнем компе вам вряд ли понадобится SSL, выбираем — «Win32 Binary without crypto (no mod_ssl) (MSI Installer) «.

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

Устанавливаем Apache запуская файл инсталяции. Все шаги при установке — стандартные.

Нажимаем Next.

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

Воводим данные во все три текстовых поля. Можно ввести несуществующий домен типа test.test или example.com. Эти данные нужны для создания базового конфигурационного файла. Под текстовыми полями одна из самых важных настроек - установить Apache как службу или как обычную программу. Выбираем «for All Users, on port 80, as a Service - Recommended» - установить как службу.

Выбираем Custom (выборочная установка).

Выбор компонентов и места установки. Можно оставить все значения по умолчанию.

Жмем Install.

Завершаем установку.

Установка завершена. В трее появится значок Apache, с помощью которого можно быстро остановить/запустить.

Проверяем работоспособность. Зайдите в браузере по адресу http://localhost/ ю Если все сделано правильно вы увидите надпись «It Works!». Поздравляю, первый шаг закончен успешно.

Примечание.

Рекомендую сразу включить поддержку ЧПУ ссылок, для этого раскомментируйте строку LoadModule rewrite_module modules/mod_rewrite.so в файле httpd.conf . Он находится в папке conf в месте куда у вас установился Apache.

Было так:
{codecitation}#LoadModule rewrite_module modules/mod_rewrite.so{/codecitation}

Должно стать так:
{codecitation}LoadModule rewrite_module modules/mod_rewrite.so{/codecitation}

Здесь и в дальнейшем, раскомментировать — значит убрать знак комментария — #, который находится в начале строки.

Продолжение следует.





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

В данной статье я расскажу как установить сервер apache и все необходимые компоненты под windows всех версий, в том числе и VISTA (32 и 64).
Устанавливать сервер apache на windows скорее всего вы будете на домашний компьютер, так как во всех других случаях на windows навряд ли придется ставить, поэтому я буду упоминать, что установка идет именно на домашний компьютер.
Этот вариант установки и настройки подойдет не только для тестирования скриптов, но и для запуска рабочего сервера.

Если вы решили ставить рабочий сервер дома (не для тестирования), то вам потребуется:

1. Белый IP (внешний или уникальный или выделенный). Конечно есть сервисы, которые умеют через свой ip направлять трафик на ваш динамический или даже серый IP, но для нормального сервера это не подойдет.
Белый IP приобретается у своего провайдера за дополнительные деньги.

2. ДНС сервер. Чтобы связать ваши доменные имена с вашим сервером вам потребуется ДНС сервер. В домашних условиях содержать ДНС нет никакого смысла, так как для этого есть бесплатные сервисы.
Если ваш регистратор домена не предоставляет услуги ДНС, тогда можете воспользоваться бесплатным сервисом xname.org
. Настраивать ДНС лучше всего после установки сервера.

Приступаем к установке сервера.
Для установки всего, что нужно возьмем - готовый набор всех необходимых компонентов сервера.
XAMPP очень полезная вещь. Это набор состоящий из apache , php , mysql , ftp сервера , sendmail , perl и много другого. Во все эти компоненты не внесено изменений(либо очень незначительные), так как XAMPP только установщик, это не самостоятельный сервер.
После установки получим полноценный сервер, такой же, как если бы устанавливали каждый компонент вручную.

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

Комментарии

18.02.2010 виктор
У меня тоже дома такой сервер стоит.
Купил нетбук за 10 тыщ, и тупо воткнул в него xampp, именно так как тут написано.
И стоит вот уже третий месяц, электричества практически не жрет(около 20 ват), канал интернета 5 мегабит, сайты просто летают.
И зачем надо арендовать эти выделенные сервера или VDS.......

18.02.2010 виктор
забыл добавить, пять сайтов находятся на этом ноутбуке, общая посещаеомость 3 тыщи в сутки

07.06.2010 Кирилл
А Денвер и ХАМПП - это принципиально не одно и тоже?

07.06.2010 Админ
Кирилл, принципиально почти одно и тоже.
Только в денвере внесено много изменений в сервер из-за чего сервер в денвере работает не так как надо. В нем все адаптировано под удобную работу в windows.
Несколько раз пытался тестировать крупные скрипты в денвере, не получилось полностью отладить, так как работает совсем не так как ожидается.
В XAMPP никаких изменений в сервер не внесено, он лишь помогает установить все компоненты.

06.08.2010 vlad
пасибо за информацию

02.09.2010 Виктор
Спасибо вам большое за информацию очень помогла. Взял на заметку

12.09.2010 Андрей
Спасибо большое.Ведь есть же сайты где нормально,понятно и по русски написано.

P.S. / Админ,не забудь поправить,что апач не включается если в скайпе и тим вайфере занят порт 80./

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

24.10.2010 Mikan
Доброго времени суток. Люди добрые помогите с таким вопросом. Есть большая сеть, хочу сделать внутренний веб сервер, попробовал xampp получилось все работает теперь проблема другого плана: как сделать что бы клиент из сети не писал в строке браузера ип адрес сервера что зайти на сайт. А вводил нормальный человеческий адрес к примеру даже такой www.primer.primer.ru ну что то подобное.

25.10.2010 вишня
Mikan, раз ты задаешь такие вопросы, значит эта большая сеть создана не тобой?
А раз она создана не тобой, то тебе надо обратиться к админам, которые рулят этой сетью, так как прописать домен можно только у них, и тогда домен будет виден внутри сети, если конечно админы захотят.
Ну а дальше уже в настройках виртуальных хостов xampp прописываешь этот домен и все....

А если есть белый ip, то проще купи домен, 200 рублей в год стоит и будет еще лучше, деньги то небольшие.

14.12.2010 Дмитрий
У меня один вопрос есть настройки для игрового сервера например для КС1.6
просто я поставил белый ip и мне надо настроить. Вот я вкл сервер и у меня пишит локальный ip а не инетовский мне надо как то настроить чтобы показывал инетовский ip и могли заходить на него... как это сделать???

14.12.2010 Виктор
Дмитрий, это не много другая тема.
Здесь настройка веб сервера, а не игрового.
Если конечно кто-то знает, может и подскажет, но думаю там парой фраз не отделаться.

18.12.2010 Константин
у меня все работает только как сделать чтобы мой сайт работал в интернете?

21.12.2010 Алексей
XAMMP рулит)))

23.12.2010 Виктор
Скажите, а можно ли хостить свой сайт с помощью ХАММР??? сайт сделан на платформе юкоза)) хочу чтобы диск D был для моего сайта как хостинг!!

24.12.2010 админ
Виктор, если у вас есть скрипт юкоза, можете хостить сайт.

24.12.2010
В смысле скрипт????? мне нужно закачивать фильмы на свой диск Д и чтоб через мой сайт люди смотрели их!! скрипт то зачем??

28.12.2010 Александр
Установил.
Сделал всё как вы сказали.
При запуске выдает что порт занят.
Всё проверил, порт свободен,
(использовал Windows Worms Doors Cleaner для проверки и поиска... также без результатов. Пожалуйста помогите...
(скриншот: http://imagepost.ru/images/419/21552347.jpg)

28.12.2010 Виталий
Александр, а что со скайпом? Пользуетесь?
Если да, то значит он занял 80 порт. Проверьте.
В настройках скайпа отключите использование 80 порта.

19.01.2011 андрей
Скажите уважаємий админ, а в xamp сендмаил ето только емулятори и они ничего на почту не отправляют или ето не емулятори?:

(о параметрической настройке Apache 2.4.34 можно прочитать в другой статье)

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

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

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

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

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

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

Первичная установка

Для установки потребуется как минимум операционная система Windows XP SP3 (для этой устаревшей версии понадобится Web-сервер, сборка которого выполнена компилятором VC9 или VC10). Современные сборки Apache операционную систему Windows 2000 не поддерживают.

Дистрибутивный пакет Apache для Windows можно загрузить с сайта одного из двух "официальных" поставщиков: Apache Lounge (только версия 2.4, с документацией) или Apache Haus (версии 2.4 и 2.2, без документации). Он представляет собой ZIP-архив, который, по замыслу поставщиков дистрибутива, нужно распаковать в корень диска C:.

Поскольку мы всё равно будем проводить оптимизацию размещения файловой структуры Web-сервера, первичную установку нужно выполнить в ту папку, которая предназначена для размещения исполняемых модулей web-сервера (exe-, lib-, so- файлов и прочих, которые не подвержены изменениям). Это может быть системная папка "Program Files" или другая по выбору системного администратора.

После первичной установки нужно вынести из "базовой" папки в другое место на диске папки с файлами, которые "идеологически" относятся не к web-серверу, а к web-сайту. Для определённости будем предполагать, после распаковки дистрибутива все его компоненты находятся в папке "C:\Program Files\Apache24", а web-сайт будет размещаться в папке "D:\www".

Оптимизация размещения файловых областей

Сразу после установки структура папок программного пакета Apache выглядит следующим образом:

Bin — исполняемые файлы Web-сервера.
cgi-bin — CGI-сценарии Web-сайта.
conf — конфигурационные файлы Web-сервера.
error — страницы ошибок протокола HTTP.
htdocs — файловая область Web-сайта (проще говоря, здесь размещается Web-сайт).
icons — пиктограммы Web-сервера
include — подключаемые файлы заголовков (h-файлы), небоходимы при сборке Web-сервера компилятором VC.
lib — библиотечные файлы Web-сервера.
logs — журналы работы Web-сервера.
manuals — документация в формате HTML.
modules — дополнительные программные модули Web-сервера (so-файлы).

Из перечисленных выше папок четырём (cgi-bin, conf, htdocs и logs) не место в базовой папке Web-сервера. Из нужно скопировать в рабочую папку Web-сайта: "D:\www". Исходные папки можно было бы удалить, однако они могут понадобится для восстановления начальной ситуации, если в ходе настройки Web-сервера что-то пойдёт не так. С другой стороны, если их оставить на прежнем месте, то из-за неполной настройки Web-сервера может случиться так, что использоваться будут именно эти папки, а не те, которые мы хотим. Поэтому после копирования их лучше просто переименовать в cgi-bin.0, conf.0, htdocs.0 и logs.0 соответственно.

Настройка на новую файловую структуру

Теперь можно отразить фактическую файловую структуру Web-сервера в параметрах конфигурационного файла "D:\www\conf\httpd.conf":

  1. ServerRoot "C:/Program Files/Apache24" # путь к базовой папке Web-сервера
  2. PidFile "D:/www/logs/httpd.pid" # идентификатор процесса Web-сервера
  3. DocumentRoot "D:/www/htdocs" # здесь размещается Web-сайт
  4. <Directory "D:/www/htdocs "> # свойства папки с Web-сайтом

  5. ErrorLog "D:/www/logs/error.log" # журнал ошибок Web-сервера
  6. CustomLog "D:/www/logs/access.log" common # журнал работы Web-сервера
  7. ScriptAlias /cgi-bin/ "D:/www/cgi-bin/" # папка серверных CGI-сценариев
  8. <Directory "D:/www/cgi-bin "> # свойства папки серверных сценариев

  9. TypesConfig D:/www/conf/mime.types # описания MIME-типов
  10. Include "D:/www/conf/extra/httpd-manual.conf " # настройка для сопроводительной документации

Обратите внимание, что в п. 2 нужно добавить в конфигурационный файл строку с параметром PidFile, т. к. в эталонном конфигурационном файле этот параметр отсутствует. Остальные параметры в конфигурационном файле уже присутстсвуют — нужно отыскать строки, содержащие их, и заменить исходные пути к папкам на новые.

Пунктом 10 предполагается, что для включения доступа к HTML-документации по ссылке "http://localhost:8080/manual" нужно раскомментировать соответствующую строку с параметром Include и указать новый путь к подключаемому конфигурационному файлу. Однако поскольку местоположение документации тоже изменилось, то потребуется дополнительно внести изменение в файл "D:\www\conf\extra\httpd-manual.conf" по аналогии с п. 3 и 8:

  1. AliasMatch ^/manual(?:/(?:da|de|en|es|fr|ja|ko|pt-br|ru|tr|zh-cn))?(/.*)?$ "C:/Program Files/Apache24/manual$1 "
  2. <Directory "C:/Program Files/Apache24/manual ">

Запуск сервера и проверка настройки

Поскольку мы изменили файловую структуру Web-сервера, запускать исполняемый модуль сервера нужно командой (её можно записать в bat- или cmd-файл): "C:\Program Files\Apache24\bin\httpd.exe" -w -f "D:\www\conf\httpd.conf" -d "C:\Program Files\Apache24\."

Запущенный в режиме пользовательского приложения Apache (т. е. запущенный с помощью только что приведенной командной строки) может быть остановлен комбинацией клавиш +[C]. Если же при этом возникли какие-нибудь трудности, то можно использовать такую команду: taskkill /f /IM httpd.exe

Чтобы установить Apache в качестве службы, надо выполнить команду: "C:\Program Files\Apache24\bin\httpd.exe" -k install -f "D:\www\conf\httpd.conf" -d "C:\Program Files\Apache24\."

Запуск и останов службы Web-сервера Apache производится командами: "C:\Program Files\Apache24\bin\httpd.exe" -k start и "C:\Program Files\Apache24\bin\httpd.exe" -k stop соответственно.

Удалить Apache из списка служб Windows можно с помощью команды: "C:\Program Files\Apache24\bin\httpd.exe" -k uninstall

Проверка правильности установки и первоначальной настройки Web-сервера выполняется вводом в Web-браузере URL: "http://localhost:80/". Если всё было выполнено правильно, должна открыться страничка с текстом "It works!"

Если устанавливалась сопроводительная документация в HTML-формате, то она должна быть доступна по ссылке "http://localhost:80/manual/"

Apache ведёт протокол доступа к сайту в файле "D:\www\conf\access.log". Сведения о проблемах в работе сервера записываются в файл "D:\www\conf\error.log". Его анализ может быть особенно полезен при настройке выполнения CGI-сценариев.

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

В дополнение к перечисленным выше настройкам нужно проверить значение параметра Listen, которым задаются настройки сетевого интерфейса (ip-адрес и номер TCP-порта), на котором сервер будет принимать клиентские подключения. Если Apache используется индивидуальным Web-разработчиком, то можно рекомендовать такую конфигурацию:

Listen 127.0.0.1:8080 # параметры сетевого интерфейса

Номер TCP-порта не должен конфликтовать с другим программным обеспечением, установленным на компьютере. Так, стандартный порт HTTP 80 часто бывает занят клиентом Skype. Для совместного использования сервера в сети нужно указать правильный IP-адрес или сетевое имя компьютера, на котором устанавливается Web-сервер.

Web-сервер Apache чаще всего используется совместно с интерпретаторами таких языков серверных сценариев, как PHP и Perl. Для того, чтобы на Web-сайте могли использоваться сценарии PHP (предполагаем, что PHP установлен в папку C:\PHP5), нужно добавить в конфигурационный файл "D:\www\conf\httpd.conf" следующие строки:

  1. LoadModule php5_module "C:/PHP5 /php5apache2_2.dll"
  2. AddType application/x-httpd-php .php
  3. PHPIniDir "C:/PHP5"

Нужно отметить, что в папке PHP5 должен существовать конфигурационный файл php.ini, созданный на основе файла php.ini-development (если сервер используется для разработки Web-сайтов) или php.ini-production (это настоящий Web-сервер). Чтобы модули PHP могли найти все необходимые им динамические библиотеки, путь к папке C:\PHP5 должен быть прописан в переменной PATH среды окружения Windows.

Серверные CGI-сценарии на языке Perl уже должны выполняться при соблюдении двух условий:

  1. Интерпретатор языка Perl установлен на этом компьютере.
  2. В первой строке файлов сценариев правильно указан путь к интерпретатору Perl, например: #!C:/PERL/bin/perl.exe -w

Для проверки можно ввести в браузере URL: http://localhost:8080/cgi-bin/printenv.pl, предварительно подправив первую строку сценария printenv.pl в соответствии с п. 2.

Остальные нюансы настройки Web-сервера Apache под Windows выходят за рамки этой статьи.

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое.


Good things should be shared.

Здесь инструкция для Windows. Если у вас Linux, то вам сюда " ".

Локальный веб-сервер — это очень полезный инструмент. Он нужен и тем кто разрабатывает Web-приложения, и тем, кто учиться работать с разнообразными скриптами, движками, а также тем, кто занимается тестированием на веб-проникновение. Существуют разные популярные сборки «всё в одном», которые включают Apache, PHP, MySQL и другие компоненты. Можно пользоваться и ими. Но самостоятельная установка сервера имеет ряд преимуществ:

  • возможность использовать самые новые компоненты, самые свежие версии Apache, PHP, MySQL, phpMyAdmin;
  • можно эти компоненты в день выхода новых версий — не нужно ждать, пока это сделают авторы больших пакетов;
  • отсутствие лишних, избыточных компонентов — мы устанавливаем только то, что нам нужно;
  • дополнительная безопасность — мы не знаем, какие изменения были внесены авторами разных сборок. При самостоятельной установке мы скачиваем только официальные файлы с официальных сайтов;
  • самостоятельная установка сервера — это важный шаг к его изучению, к пониманию глубинных процессов.

На самом деле, установка Apache, а также других обязательных элементов — PHP, MySQL, phpMyAdmin, — это весьма простая операция. Возникающие сложности связаны с тем, что сообщения об ошибках малоинформативны. Например, при ошибке в конфигурации Apache просто не запускается и всё. И новичку не всегда просто понять, что не так.

Если вы в точности будите следовать всем пунктам данной инструкции, то у вас обязательно всё заработает, независимо от вашей версии Windows!

Установка сервера включает в себя установку и настройку нескольких элементов:

  • сам веб-сервер (Apache);
  • скриптовый язык PHP;
  • система управления базами данных MySQL;
  • веб-интерфейс для администрирования СУБД MySQL phpMyAdmin.

Стадии установки:

1. Подготовительная стадия - скачивание Apache, PHP, MySQL, phpMyAdmin

Будем устанавливать самые новые версии программ, скаченные с официальных сайтов. Официальный сайт Apache — https://httpd.apache.org/ . Но данная версия работает только со старыми версиями PHP. Авторы PHP рекомендуют версию с сайта apachelounge.com . Поэтому переходим по ссылке https://www.apachelounge.com/download/

Вверху страницы представлено две версии Apache Win64 или Win32 . Если у вас 64-битная Windows, то выберите любую (это непринципиально и на работу никак не скажется. Только следуйте правилу, чтобы все версии компонентов сервера были одной битности). Я выбрал 64-битную версию.

Если предыдущие скаченные файлы различались битностью, то для phpMyAdmin такого понятия нет, т. к. он состоит из PHP скриптов.

Для работы PHP (а также Apache) необходимо установить Visual C++ Redistributable for Visual Studio 2012 с официального сайта Microsoft. Для этого нужно перейти по ссылке .

При попытке запуска, Apache пожалуется на отсутствие файла и запускаться откажется. Этот файл является частью Visual C++ Redistributable for Visual Studio 2015 , поэтому заблаговременно скачиваем его по ссылке (выбираем 32- или 64-битную версию).

Загружаемый файл будет иметь имя vc_redist.x64.exe.

Итог, мы имеем следующие файлы:

  • httpd-2.4.12-win64-VC11.zip
  • php-5.6.6-Win32-VC11-x64.zip
  • mysql-5.6.23-winx64.zip
  • phpMyAdmin-4.3.11-all-languages.zip
  • vcredist_x64.exe
  • vc_redist.x64.exe

Запустите и установите файлы vcredist_x64.exe и vc_redist.x64.exe - к ним мы возвращаться больше не будем.

2. Выбор структуры сервера.

Теперь всё готово, можно начинать. Несколько слов о структуре нашего сервера.

На диске C создаём каталог Server , в нём создаём каталоги bin (сюда будем устанавливать Apache, PHP, MySQL) и data (здесь будет наш сайт и база данных).

Казалось бы, для чего это нужно? На самом деле, это упрощает резервное копирование. Например, папка bin меняется очень редко и бэкапить её каждый день нет смысла. Напротив же, содержимое нашего сайта и баз данных может меняться ежедневно и имеет смысл делать резервную копию папки data часто. Когда мы , например, ставим новую версию PHP, то мы можем принудительно сделать копию bin и, в случае ошибок, без проблем откатиться на более старую версию.

Продолжим наши приготовления. В каталоге data создадим две папки:

  • DB (здесь будут храниться базы данных)
  • htdocs (здесь будут наши сайты)

3. Установка и настройка Apache 2.4

В каталог bin распаковываем файлы Apache (из архива httpd-2.4.12-win64-VC11.zip), точнее нас интересует только папка Apache24 .

После распаковки переходим в каталог c:ServerbinApache24conf и открываем файл httpd.conf любым текстовым редактором.

#ServerName www.example.com:80

ServerName localhost

ServerRoot "c:/Apache24"

ServerRoot "c:/Server/bin/Apache24"

DocumentRoot "c:/Apache24/htdocs"

DocumentRoot "c:/Server/data/htdocs/"

DirectoryIndex index.html

DirectoryIndex index.html index.php index.htm

Сохраняем и закрываем файл. Всё, настройка Apache завершена!

Откройте командную строку (это можно сделать нажав одновременно клавиши Win+X ). Выберите там Командная строка (администратор) :

И скопируйте туда:

C:ServerbinApache24binhttpd.exe -k install

И нажмите Enter. У меня встрепенулся файервол:

Нажмите разрешить, если у вас появится это же окошко.

Теперь вводим в командную строку:

C:ServerbinApache24binhttpd.exe -k start

И нажмите Enter.

В качестве имя пользователя вводим root . Поле пароля оставляем пустым. Если всё сделано правильно, то всё должно выглядеть так:

7. Использование сервера и бэкап данных.

В каталоге c:Serverdatahtdocs создавайте папки и файлы, например:

c:Serverdatahtdocstestajax.php - этот файл, соответственно, будет доступен по адресу https://localhost/test/ajax.php и т.д.

Для создания полного бэкапа всех сайтов и баз данных достаточно скопировать каталог data .

Гарант является доверенным посредником между Участниками при проведении сделки.