Установка веб сервера apache на windows 7. Настройка Apache

18.08.2019

Веб-сервер Apache - это служба, которая работает в фоне и у которой нет графического интерфейса. Эта служба устанавливается и запускается в командной строке.

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

Настройка Apache на Windows

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

Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24 . Поэтому если папку Apache24 из вы разархивируете в корень диска C , то вы можете вообще без настройки запустить веб-сервер следующей командой:

C:\Apache24\bin\httpd.exe -k start

И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:

Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор) .

Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24\conf\ и называется httpd.conf .

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

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

Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.

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

  • используйте абсолютные пути до файла (которые начинаются с буквы диска, затем следуют все вложенные папки), а не относительные - у сервера свои правила интерпретации относительных путей, поэтому вы можете не понять друг друга;
  • всегда используйте прямые слеши, а не обратные (т.е., "c:/apache" вместо "c:\apache").

Итак, откройте файл Apache24\conf\httpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.

Первой идёт директива ServerRoot - это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.

Значение по умолчанию устанавливается двумя директивами:

Define SRVROOT "c:/Apache24" ServerRoot "${SRVROOT}"

Первая директива присваивает значение переменной SRVROOT , которое по умолчанию "c:/Apache24" . Вторая директива присваивает значение переменной ${SRVROOT} настройке ServerRoot .

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

Define SRVROOT "c:/Server/bin/Apache24" ServerRoot "${SRVROOT}"

Либо если вы не планируете снова использовать переменную ${SRVROOT} (а она по умолчанию используется далее!), то можно сократить запись из двух строк до одной строки:

ServerRoot "c:/Server/bin/Apache24"

Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:

Listen 80

Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:

Listen 12.34.56.78:80

Можно указать несколько портов:

Listen 80 Listen 8000

Или несколько IP и портов:

Listen 192.170.2.1:80 Listen 192.170.2.5:8000

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

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

На самом деле, всё действительно необходимое уже включено - и для работы большинства веб-сайтов менять ничего не нужно - особенно на локальном веб-сервере. Но есть одно исключение - модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:

#LoadModule rewrite_module modules/mod_rewrite.so

и раскомментировать её, т.е. заменить на:

LoadModule rewrite_module modules/mod_rewrite.so

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

Директива ServerName - это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку

#ServerName www.example.com:80

ServerName localhost

Конструкция

AllowOverride none Require all denied

запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).

DocumentRoot "${SRVROOT}/htdocs"

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

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

Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!

Обратите внимание, что для установки настроек вновь используется переменная ${SRVROOT} , значение которой было присвоено в самом начале. Если использовать синтаксис с ${SRVROOT} , то корневая папка документов должна обязательно находится в корневой папке сервера. Я настраиваю сервер по-другому — у меня исполнимые файлы отделены от файлов сайтов, поэтому вместо переменной, можно просто прописать пути до нужной папки с сайтами:

DocumentRoot "c:/Server/data/htdocs/" Options Indexes FollowSymLinks AllowOverride None Require all granted

Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks . Первая (Indexes ) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.

Вторая опция (FollowSymLinks ) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.

Директива AllowOverride установлена на None , это означает запрет использовать файлы .htaccess . На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite , ограничения доступа), поэтому я заменяю её значение на All , получается так:

AllowOverride All

А директива Require all granted открывает посетителям доступ для веб-документов.

Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:

DirectoryIndex index.html

Там всего один файл – index.html . Можно дописать любое количество своих собственных. Я меняю:

DirectoryIndex index.html

DirectoryIndex index.php index.html index.htm

Другие настройки обычно не требуется менять для локального веб-сервера.

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

Apache HTTP-сервер (сокращение от англ. a patchy server ) – одна из наиболее популярных и распространенных программ, созданных для веб-разработчиков и администраторов интернет-ресурсов. По данным независимых исследователей, Apache установлен на 50% компьютеров всех пользователей HTTP-серверов.

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

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

О том, как установить сервер Apache для операционной системы Windows 7, пойдет речь в данной статье.

Установка Apache

В первую очередь необходимо скачать последнюю версию дистрибутива Apache без поддержки SSL и запустить установку. В приветственном окне нужно кликнуть на «Next », прочесть лицензионное соглашение разработчика и подтвердить свое согласие с ним.

Затем, в окне установки необходимо заполнить поля так, как показано на картинке ниже, а в поле «Administrator’s Email Address » указать адрес своей электронной почты, кликнуть «Next » и установить переключатель в положение «Custom ».




Далее необходимо создать директорию www на диске C и указать её в качестве установочной папки для Apache, кликнуть «Next » в этом и «Install » в следующем окне. Когда установка закончится, нажмите на «Finish ».

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

Кликнув по тому же значку правой кнопкой мыши, можно перейти к различным системным службам операционной системы или открыть монитор Apache.

Для того чтобы проверить работает ли установленный сервер Apache, наберите в адресной строке вашего браузера http://localhost

Если появилась страница с воодушевляющей надписью «It works! », значит, установка Apache прошла успешно, и он функционирует правильно.

Базовая настройка веб-сервера

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

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

Что необходимо?

  • Запустить Apache под платформой Windows 7;
  • Хранить в удобной для пользователя директории файлы будущего сайта (например, C:www);
  • Не испытывать проблем с кодировкой, а в частности - с отображением кириллицы;
  • Возможность работать с несколькими сайтами одновременно.

Чтобы успешно решить эти проблемы, зайдите в папку с установленным Apache, найдите и откройте в подпапке conf файл httpd.conf . Обратите внимание, что строки, начинающиеся с «решётки », являются текстовыми комментариями, а в качестве настроек веб-сервера использованы строки, в начале которых значок «решётки » отсутствует.

Для начала нужно выполнить настройку той директории, которая будет использоваться сервером в качестве папки веб-сайта. Найдите в тексте строку, которая начинается с DocumentRoot . Данная директива определяет, какая папка будет являться корневой.

Исправьте её на DocumentRoot “C:/www ”. Следует уточнить, что слэши в этом файле должны быть наклонены вправо, а не влево, как, вероятно, уже привыкли пользователи Windows. После вышеуказанных манипуляций, проблема с месторасположением вашего сайта решена.

Options (определяет, какие серверные функции будут доступны) AllowOverride (определяет, какие директивы из.htaccess могут преобладать над такими же в httpd.conf) Order (устанавливает определенные правила доступа к серверу)

Список используемых параметров:

Options. Возможны следующие варианты:

  • Includes – использование SSI разрешено;
  • IncludesNOEXEC – использование SSI разрешено с ограничениями (не допускаются #include и #exec );
  • Indexes – разрешено использование индексных файлов, и если URL-адрес указывает на директорию сайта (например, www.domain.ru/dir/ ), в которой не существует индексного файла, будет показано содержимое данной директории, а если этой опции нет – выдается оповещение о том, что доступ запрещён;
  • ExecCGI – выполнение скриптов CGI разрешено;
  • FollowSymLinks – сервер следует по имеющимся символическим ссылкам директории (используется в Unix-системах);
  • SymLinksIfOwnerMatch – сервер следует по имеющимся символическим ссылкам директории лишь в том случае, если целевой файл имеет одного владельца со ссылкой;
  • All – все вышеописанное вместе разрешено;
  • None – все вышеописанное вместе запрещено;
  • MultiViews – возможность подбора определенного контента и его выдачи в зависимости от предпочтений браузера (даже если включено все (Options All). Указывается отдельно).

AllowOverride. Варианты:

  • AuthConfig – позволяет использовать директивы для авторизации;
  • FileInfo – разрешает использование директив для работы с различными типами документов;
  • Indexes – разрешает использование директив для работы с файлами индексации;
  • Limit – разрешает использование директив для определения доступа к хосту;
  • Options – разрешает использование директив для работы с определенными специфическими функциями директорий;
  • All – все вышеуказанное вместе;
  • None – ничего из вышеуказанного вместе.

Order. Варианты:

  • Deny, Allow – Deny определяется перед директивой Allow, доступ разрешен по умолчанию, кроме хостов, которые указаны в следующей после Deny from строке;
  • Allow,Deny – Allow определяется перед директивой Deny, доступ запрещен по умолчанию, кроме хостов, которые указаны в следующей после Allow from строке;
  • Mutual-failure – разрешен доступ только таких хостов, которые отсутствуют в Deny и присутствуют в Allow.

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

Options Indexes FollowSymLinks AllowOverride None Order allow, deny Allow from all

Говоря другими словами, для папки C:/www и всех её подпапок выбраны следующие параметры:

  • Из возможной функциональности имеющегося сервера разрешены индексы в директориях и переходы по символическим ссылкам;
  • Возможность параметрического переопределения с помощью файлов.htaccess полностью отсутствует, однако учитывая то, что вы имеете полный доступ к серверу, она не является актуальной – все можно настроить через httpd.conf;
  • Доступ к веб-серверу разрешен со всех хостов.

Теперь, сохраните файл httpd.conf и перезапустите Apache с помощью Apache Monitor либо командой apache –k restart в командной строке. Настройка корневой папки сайта закончена.

Следует проверить, правильно ли вы всё сделали. Создайте простейшую веб-страницу в папке C:www, откройте ваш браузер и введите http://127.0.0.1/ваша_созданная_страница . Страницы должна открыться. В ином случае необходимо тщательно проверить все изменения в файле httpd.conf на правильность.

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

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

Найдите в файле httpd.conf строку, которая начинается на AddDefaultCharset . Скорее всего, там указана кодировка ISO-8859-1, в которой отсутствуют кириллические символы. Поменяйте ISO-8859-1 на windows-1251 , сохраните файл и перезапустите Apache. Теперь корректное отображение русского языка на вашем сайте будет работать в любом браузере.

В сервере Apache достаточно просто настроить работу с несколькими сайтами. Адреса, которые можно использовать для них - 127.0.0.2, 127.0.0.3 и т.д. При этом по сети виден будет только тот, который является сайтом по умолчанию (127.0.0.1), однако для локальной работы это не является критичным. Раздел файла httpd.conf , в котором производится настройка всего необходимого для этого, находится в самом конце и именуется VirtualHosts .

Представляем вашему вниманию новый курс от команды 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 .

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






Внимание!
Не важно, ставите вы сервер только для тестирования скриптов или как рабочую версию, вы должны знать, что сразу после установки и запуска сервера он станет доступен за пределами вашего компьютера. Даже если у вас нет белого 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 + PHP 5.6 + MySQL 5.6 на операционную систему Windows 7 / 8 / 8.1 / 10

Прежде чем продолжить чтение, обратите внимание на то, действительно ли вам необходимо устанавливать и настраивать всё это под Windows?Может быть Вам стоит обратить внимание на и не тратить свое время и нервы на настройку того же самого напрямую в Windows? В любом случае, прочтите статью про . Возможно она сэкономит вам не только время, но и здоровье.

Данная инструкция будет полезна начинающим WEB-разработчикам, которые собираются установить на своем ПК с ОС Windows WEB-сервер Apache с интерпретатором PHP последних версий. Конечно же, намного проще установить сборку, наподобие Denwer или прибегнуть к использованию инсталляторов и не париться по поводу настроек. Однако каждый WEB-разработчик обязан понимать процесс работы WEB-сервера, процесс его установки и настройки.

Если Вы хотите установить PHP 7, то обратитесь пожалуйста к статье.

Если в процессе сборки сервера по этой инструкции Вы столкнулись с проблемами и все еще считаете себя WEB-разработчиком, то будет правильным шагом разобраться в возникших проблемах, а не писать в комментарии что инструкция говно. Инструкция рабочая. Проверено временем и сотнями инсталляций. Будьте внимательней при выполнении простых шагов. Выполнение шагов вручную и разбор ситуаций, если не заработало, добавит Вам skill как разработчику. Если Вы не WEB-разработчик и не планируете им быть, то подыщите простой способ установки в интернете - данная инструкция не для Вас.

Обратите внимание, что под Windows XP данные версии VC11 запустить будет невозможно (или крайне затруднительно).

Подготовительные работы

Убедитесь, что у вас именно Windows 7 или новее. Если у Вас Windows XP, данная инструкция не поможет Вам, так как описанная здесь версия Apache не работает под Windows XP.

Удалите все WEB-серверы, которые устанавливали до этого, зайдите в службы и убедитесь, что там нет служб Apache или IIS. Если у вас уже установлен какой-либо веб-сервер, второй параллельно скорее всего не заработает вовсе.

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

Для работы очень желательно иметь файловый менеджер, позволяющий создавать файлы с любыми расширениями, либо, что еще лучше, редактор кода, наподобие Sublime Text или Notepad++ или полноценную IDE.

Структура папок может быть различной, однако данная инструкция написана под определенную структуру и, если ей следовать, всё гарантированно заработает.
Перед тем как начать, создайте на диске D папку USR , внутри которой создайте 5 подпапкок: apache , php , tmp , www , log . Именно так. Без указания номеров версий.

В каталоге www создаем индексные файлы (при помощи файлового менеджера или редактора кода), которые будут нужны для проверки того, что все работает:

  • index.html с содержимым: It works!
  • index.php с содержимым:

Если файлового менеджера / редактора кода / IDE нет, скачайте архив с этими двумя файлами . Но, если Вы считаете себя WEB-разработчиком, Вы должны обзавестись инструментами.

В системную переменную PATH добавляем:

;D:\USR\apache;D:\USR\apache\bin;D:\USR\php;

Замечания!

Приведенные в примерах конфигурационных файлов номера строк могут отличаться для других версий apache и php.
Все команды, включая редактирование файлов, должны осуществляться от имени Администратора.

Установка Apache 2.4

Хотя для простой разработки на PHP и нет необходимости в отдельном WEB-сервере (в PHP встроен собственный WEB-сервер, которого почти всегда достаточно для разработки одного проекта), все же рекомендуется произвести установку и настройку WEB-сервера Apache, хотя бы потому, что программист обязан знать эти тонкости. В конечном итоге придется работать с WEB-сервером и придется разбираться с его конфигурацией. Так что приступим.

  1. Загружаем Apache 2.4 binaries VC11 под свою систему по ссылке http://www.apachelounge.com/download/VC11/ Скорее всего у Вас 64 разрядная ОС, поэтому Вам понадобится файл с именем, наподобие httpd-2.4.xx -win64-VC11.zip
  2. Если нужны какие-то дополнительные модули, их можно загрузить там же (для базовой установки нет необходимости)
  3. Разархивируем содержимое папки Apache24 из скаченного архива в D:\USR\apache . Обратите внимание, что в D:\USR\apache нужно положить не папку Apache24 из архива, а ее содержимое. Инсталлировать ничего не требуется.
  4. В файле изменяем значение ServerRoot на "d:/USR/apache" (строка 37 ) и значение DocumentRoot Direcroty ) на "d:/USR/www" (строки 242 и 243 ). Так же следует раскомментировать строку 218 и изменить ее на: ServerName localhost:80
  5. Изменяем параметры хранения логов в том же файле (находим параметры и изменяем): ErrorLog "D:/USR/log/apache-error.log" CustomLog "D:/USR/log/apache-access.log" common
  6. Устанавливаем сервис Apache (от имени Администратора). Открываем командную строку от имени Администратора и вставляем туда следующую строку: D:\USR\apache\bin\httpd.exe -k install
  7. Следим за сообщениями об ошибках во время установки сервиса. Если все сделано верно, никаких ошибок быть не должно. Если у вас после выполнения строки не появилась снова командная строка, то вы что-то сделали неправильно. Просто воспользуйтесь функциями скопировать и вставить, чтобы не допускать ошибок при перепечатке.
  8. Создаем на рабочем столе ярлык для D:\USR\apache\bin\ApacheMonitor.exe и/или помещаем его в автозагрузку (для открытия окна автозагрузки в WIN8 необходимо нажать WIN+R, затем ввести shell:Startup и нажать ОК)
  9. Запускаем ApacheMonitor. В системном трее появится ярлык. Нажимаем на него левой кнопкой, выбираем Apache24 -> Start.
  10. В браузере заходим на http://localhost/ — должны увидеть It works!
  11. Если не увидели такой надписи, разбираемся, что пошло не так (читаем логи, гуглим, пытаемся самостоятельно разобраться с проблемой, раз уж решили разбираться в тонкостях работы веб-сервера)

Установка PHP 5.6

  1. Загружаем последнюю версию VC11 x86 Thread Safe или VC11 x64 Thread Safe по ссылке http://windows.php.net/download/ . Обратите внимание, что нужен именно VC11 и именно Thread Safe . Разрядность должна быть как у Apache. Файл, который Вам нужен, скорее всего будет называться наподобие: php-5.6.11-Win32-VC11-x86.zip или php-5.6.11-Win32-VC11-x64.zip
  2. Извлекаем содержимое архива в D:\USR\php . Как в случае с Apache, инсталлировать ничего не требуется.
  3. В файл D:\USR\apache\conf\httpd.conf добавляем строки: LoadModule php5_module "d:/USR/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php # Путь к файлу php.ini PHPIniDir "D:/USR/php"
  4. И изменяем значение DirectoryIndex на index.html index.php (строка 276 )
  5. Используя ApacheMonitor перезапускаем Apache (Apache24 -> Restart)
  6. Заходим браузером http://localhost/index.php и убеждаемся, что PHP работает.
  7. Делаем копию файла D:\USR\php\php.ini-development с именем D:\USR\php\php.ini
  8. Пользуясь поиском находим, раскомментируем и изменяем параметры: extension_dir = "D:/USR/php/ext" sys_temp_dir = "D:/USR/tmp" extension=php_mysql.dll extension=php_mysqli.dll extension=php_openssl.dll date.timezone = Europe/Zaporozhye
  9. Выполняем в командной строке php -m чтобы просмотреть список подключенных модулей.
  10. Перезапускаем Apache используя ApacheMonitor

Виртуальные хосты в Apache

  1. Если на компьютере производится отладка нескольких проектов, то могут понадобиться виртуальные хосты (сайты). На примере будем рассматривать два виртуальных хоста: s1.localhost и s2.localhost . Для удобства будем создавать папки с такими же названиями, что совсем не обязательно в реальной системе.
  2. Следует учесть, что при использовании виртуальных хостов, параметр DocumentRoot конфигурационного файла Apache более не имеет смысла. Основным хостом сервера (который будет доступен по адресу http://localhost/) теперь является первый виртуальный хост в конфигурационном файле виртуальных хостов!
  3. Для начала необходимо добавить в файл c:\Windows\System32\drivers\etc\hosts строки: 127.0.0.1 s1.localhost 127.0.0.1 s2.localhost

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

  4. Создаем папки для виртуальных хостов D:\USR\www\s1.localhost и D:\USR\www\s2.localhost , в которых будут располагаться файлы. В каждой из папок создаем файл index.html с содержимым S1 и S2 соответственно (для контроля того, что все работает как нужно)
  5. Затем создаем папки для логов: D:\USR\log\s1.localhost и D:\USR\log\s2.localhost - тут будут храниться логи каждого из сайтов. Вообще-то, логи можно хранить в одной папке, но я привык делать так - мне так более удобно.
  6. Далее необходимо включить поддержку виртуальных хостов. В файле D:\USR\apache\conf\httpd.conf раскомментировать строку Include conf/extra/httpd-vhosts.conf
  7. Далее редактируем файл d:\USR\apache\conf\extra\httpd-vhosts.conf — он должен выглядеть так (каждому виртуальному хосту свой блок VirtualHost): ServerAdmin [email protected] DocumentRoot "D:/USR/www/s1.localhost" ServerName s1.localhost ServerAlias www.s1.localhost ErrorLog "D:/USR/log/s1.localhost/error.log" CustomLog "D:/USR/log/s1.localhost/access.log" common ServerAdmin [email protected] DocumentRoot "D:/USR/www/s2.localhost" ServerName s2.localhost ServerAlias www.s2.localhost ErrorLog "D:/USR/log/s2.localhost/error.log" CustomLog "D:/USR/log/s2.localhost/access.log" common
  8. Первый виртуальный хост s1.localhost теперь будет основным хостом системы, т.к. его блок следует первым в конфигурационном файле, т.е. будет доступен при входе на