Apache windows каталог по умолчанию

Как запустить Apache на Windows

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее идёт большой список модулей. Некоторые их них отключены (строки закомментированы, т.е. начинаются с #), а некоторые включены.

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

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

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

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

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

Далее идёт довольно объёмная конструкция, но если удалить из неё комментарии, то получается следующее:

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

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

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

Директива 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, получается так:

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

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

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

Источник

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

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

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

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

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

Установка Apache

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

Читайте также:  Intel iris graphics в windows

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

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

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

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

Далее необходимо установить для директории правила безопасности. В Apache для этой цели используется директива Directory :

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

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

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

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

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

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

Если же вы решили вплотную заняться администрированием веб-сайтов, следующим вашим шагом должно стать изучение связки Apache PHP MySQL, ведь без системы управления базами данных, а также без поддержки одного из самых распространенных языков веб-программирования и веб-инструмента для администрирования системы MySQL не обходится ни один сервер на просторах всемирной сети. Как говорится, « тяжело в учении, но легко в бою ».

Желаем удачи в изучении этого нелёгкого, но интересного дела!

Источник

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

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

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

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

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

При модификации конфигурационных файлов 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»:

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

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

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

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

Запуск и останов службы 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» следующие строки:

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

Читайте также:  Logitech c290 драйвер windows 10

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

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

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

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

Источник

Основные настройки и защита apache под windows

Данная статья входит в цикл статей, посвященных установке веб сервера на windows.

Установка веб сервера на windows
Настройка apache(эта статья)
Бесплатный ДНС сервер
Настройка php
Настройка mysql
Настройка phpmyadmin
Настройка sendmail
Настройка ftp сервера FileZilla

Внимание!
Настройки apache установленного под windows или под другой операционной системой одинаковые. Отличие только в путях к файлам и в некоторых специфических настройках.
Поэтому эти настройки подойдут для апача установленного под freebsd, linux, и т.д.

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

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

Если вы еще не установили apache, советую вам установить его как рассказано в этой статье (Как установить сервер apache дома под windows).

Все настройки apache как правило сконцентрированы в одном файле httpd.conf, но в случае установки с помощью xampp, конфигов становится больше, где они лежат я буду указывать.

1. Скрываем лишнюю информацию.
По умолчанию сервер выдает слишком много информации, просто сливает нужную информацию хаккерам.
Например в заголовках сервера, а так же при выводе стандартных служебных страниц типа 404 можно видеть подобное

Apache/2.2.12 (Win32) DAV/2 mod_ssl/2.2.12 OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0 mod_perl/2.0.4 Perl/v5.10.0
То есть абсолютно любой прохожий знает какой версии стоит апач, какая операционка, какие модули и т.д.
Всю эту информацию не стоит всем светить, особенно когда сервер стоит под windows.
Если вы устанавливали apache с помощью xampp, тогда открывайте файл конфига
/xampp/apache/conf/extra/httpd-default.conf
(если нет такого файла, открывайте файл httpd.conf)

здесь находите команду «ServerTokens«, это и есть объем показываемой информации о сервере.
Меняем значение на такое ServerTokens Prod.
В этом случае светится будет только название сервера.

Кроме этого заголовка сервер выдает еще один не приятный заголовок
X-Powered-By:
Этот заголовок появляется когда информация выводится с помощью PHP скрипта.
Если запросить статический html документ, то этого заголовка не будет, но если информацию на страницу выведет PHP скрипт, то в этом заголовке будет подобное

X-Powered-By: PHP/5.2.5
То есть заголовок объясняет всем, что страница создана с помощью PHP и показывает версию PHP.
Даже если вы используете mod rewrite и обращаетесь к страницам как к статическим документам, то этот заголовок все равно расскажет всем, что страница создана с помощью PHP.
Лучше всего убрать этот заголовок. Полезно, если вы хотите замаскировать свой сайт под полностью статический, ну и хулиганы лишний раз не узнают версию PHP.
Для этого потребуется конфиг php.ini
Обычно он лежит в папке php, но может быть и в других местах, да еще и в нескольких экземплярах.
Чтобы точно найти нужный php.ini, выполните phpinfo(); в скрипте и найдите параметр Loaded Configuration File, тут и будет путь до конфига php.
Открываем php.ini и находим

expose_php = on
меняйте значение на off

2. Листинг директории.
Если в директории нет индексного файла, то по умолчанию сервер покажет список всех файлов и директорий.
Во многих случаях этого делать не нужно, зачем всем показывать, что лежит в вашей папке.
Чтобы запретить листинг директорий открываем файл
/xampp/apache/conf/httpd.conf
Внутри тега должен быть Options с различными параметрами. Среди этих параметров должен быть Indexes, вот именно Indexes удалите.
Теперь при попытке просмотреть директорию без индексного файла будет получена ошибка 403.

3. Типы файлов (MIME types)
Когда с сервера запрашивается какой-либо файл, apache прежде выясняет какой тип имеет этот файл (картинка, текстовый файл, архив, и т.д.). После этого сервер посылает заголовок, в котором указано какой тип файла сейчас будет отдан. Браузер получает этот заголовок и на основании него решает, что делать с этим файлом.

До недавнего времени по умолчанию в apache отсутствовал тип файлов RAR, всем известный архив. И если вы разместите на своем сайте файл rar, то например браузер OPERA вместо скачивания этого файла начнет открывать его в браузере как текстовый файл и будут видны непонятные символы. Чтобы этого не было, нужно добавить на сервер тип файлов RAR.
Если установку делали через XAMPP, то настройки типов файлов тут
/xampp/apache/conf/mime.types
Нужно добавить строку

application/x-rar-compressed rar
Но прежде убедитесь, что этот тип еще не прописан, так как в последней версии XAMPP он уже присутствует.

4. Виртуальные хосты, дополнительные домены.
После установки сервера вам доступен только один локальный домен localhost.
С помощью настройки виртуальных хостов можно разместить на вашем сервере сколько угодно сайтов с разными доменами или поддоменами, все зависит от ресурсов вашего компьютера.
Вам потребуется файл
/xampp/apache/conf/extra/httpd-vhosts.conf
У кого нет этого файла, можно редактировать в основном конфиге.

Начало работы с виртуальными хостами начинается так
NameVirtualHost *:80
После этого можно указывать параметры хостов(сайтов)

# настройки первого сайта

# настройки второго сайта

#настройки третьего сайта

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

Вот пример минимальных настроек на примере организации трех хостов

ServerName localhost
DocumentRoot c:/xampp/htdocs/localhost/www
ServerAdmin adm@webi.ru

ServerName webi.ru
ServerAlias www.webi.ru
DocumentRoot c:/xampp/htdocs/webi.ru/www
ServerAdmin adm@webi.ru

ServerName php-manual.webi.ru
ServerAlias www.php-manual.webi.ru
DocumentRoot c:/xampp/htdocs/php-manual.webi.ru/www
ServerAdmin adm@webi.ru

ServerName localhost
Указывает, что название домена localhost

DocumentRoot c:/xampp/htdocs/localhost/www
Указывает на место в котором хранятся файлы сайта.
Можно указывать без использование буквы диска /xampp/htdocs/localhost/www
Хранить файлы сайта можно в любом месте, но для удобства, лучше хранить их там же, где установлен сервер.

ServerAdmin adm@webi.ru
Указывает email админа этого сайта.
Например при определенных настройках этот email может быть виден при возникновении ошибок сервера или сайта.

Во втором хосте все тоже самое, только добавлен еще один параметр
ServerAlias www.webi.ru
Это хост, являющийся зеркалом основного хоста.
Можно перечислить несколько зеркал, и все они будут иметь такие же параметры как основной хост и в конкретном случае при наборе адреса сайта хоть с www, хоть без wwww, будет обработан основной хост webi.ru.

А третий хост, это пример настроек поддомена от домена webi.ru.
Как видно, настройки поддомена ничем не отличаются от настроек доменов.

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

# директория из которой работает скрипт
php_admin_value open_basedir «c:/xampp/htdocs/webi.ru/» # доступ скриптов к папке

В данном примере PHP скрипты не будут выходить за пределы указанной директории.
Если хотите указать несколько директорий, к которым могут получать доступ скрипты из указанной директории, разделяйте их ‘;‘, например
php_admin_value open_basedir «c:/xampp/htdocs/webi.ru/;c:/xampp/htdocs/asd/»
Обратите внимание, пробела между путями нет, все пути перечисляются слитно, разделяются лишь точкой с запятой (;).

А можете даже запретить использование PHP скриптов в определенной директории таким образом

php_admin_value engine off

Можете еще указать место хранения логов, чтобы логи каждого сайта хранились в своем месте.
Лог ошибок и лог доступа к сайту
ErrorLog «c:/xampp/htdocs/webi.ru/log/error_log.txt»
CustomLog «c:/xampp/htdocs/webi.ru/log/access_log.txt» combined

И вот пример виртуального хоста из всех вышеперечисленных пунктов

ServerName webi.ru
ServerAlias www.webi.ru
DocumentRoot c:/xampp/htdocs/webi.ru/www
ServerAdmin adm@webi.ru

php_admin_value open_basedir «c:/xampp/htdocs/webi.ru/»

ErrorLog «c:/xampp/htdocs/webi.ru/log/error_log.txt»
CustomLog «c:/xampp/htdocs/webi.ru/log/access_log.txt» combined

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

5. Как создавать локальные поддомены.
Если вы используете сервер для тестирования и вам нужно создавать локальные домены или поддомены, то после настройки виртуального хоста нужно прописать этот домен локальным в файле
C:/WINDOWS/system32/drivers/etc/hosts
В этом файле прописывайте нужный домен на локальный IP
По умолчанию там прописано 127.0.0.1 localhost
Добавьте к этой записе еще нужные домены, например
127.0.0.1 localhost
127.0.0.1 asd.ru
127.0.0.1 asd.localhost

Если вы прописали эти домены в виртуальных хостах, то теперь при посещении этих сайтов вы будете попадать на свой сервер, даже если пропишите любые домены.

6. Псевдонимы.
По умолчанию, после установки сервера с помощью xampp установлены некоторые стандартные псевдонимы.
Например, если набрать в браузере http://localhost/phpmyadmin, то вы попадете в phpmyadmin, не смотря на то, что в папке отведенной для скриптов нет phpmyadmin.
phpmyadmin будет доступен из под любого домена http://домен/phpmyadmin
Такая опция задается с помощью псевдонимов в настройке apache.
Для xampp это находится в файле /xampp/apache/conf/extra/httpd-xampp.conf,
если устанавливали сервер иначе, то редактировать можно основной конфиг apache.
В этом файле можно видеть такие строки
Alias /phpmyadmin «/xampp/phpMyAdmin/»
или
Alias /webalizer «/xampp/webalizer/»

Это и есть псевдонимы. Именно эти команды указывают серверу обрабатывать запросы и перенаправлять их в другие директории.
Например если запрашивается http://localhost/phpmyadmin, то в данном примере запрос к phpmyadmin будет перенаправлен в директорию /xampp/phpMyAdmin/, которая находится за пределами директории со скриптами.
И срабатывать это будет для любого домена.
Так как подобные псевдонимы используются всегда и всеми, то их естественно знают все хулиганы и когда вы откроете сервер для всех, то все эти псевдонимы будут щупать на уязвимости.
Поэтому, как минимум, лучше переименовать их, а как максимум вообще удалить и псевдонимы прописать в виртуальных хостах, для каждого хоста свой псевдоним.
Например так

ServerAdmin adm@webi.ru
DocumentRoot C:/xampp/htdocs/localhost/www
ServerName localhost
ServerAlias www.localhost

Alias /phpmyadmin123 «C:/xampp/phpMyAdmin/»

php_admin_value open_basedir «C:/xampp/htdocs/localhost/;C:/xampp/phpmyadmin/»

Обратите внимание, защита выхода скриптов за пределы директории php_admin_value open_basedir содержит еще путь до папки phpmyadmin, иначе если к нему не будет доступа, то он и работать не будет.
И еще можете заметить, что вызов phpmyadmin происходит через phpmyadmin123, чтобы не сразу могли найти.

В последних версиях xampp доступ к административным скриптам возможен только при локальном входе, внешний доступ закрыт, phpmyadmin тоже доступен только локально.
Если хотите открыть внешний доступ для phpmyadmin или другим стандартным скриптам, опять смотрим файл
/xampp/apache/conf/extra/httpd-xampp.conf
Тут есть подобная конструкция

.

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

Статьи, посвященные установке веб сервера на windows.

Установка веб сервера на windows
Настройка apache (эта статья)
Бесплатный ДНС сервер
Настройка php
Настройка mysql
Настройка phpmyadmin
Настройка sendmail
Настройка ftp сервера FileZilla

Комментарии

20.12.2010 Денис
Спасибо большое.
Мучался неделю с denwerom не мо вывести в интернет, а с вашими статьями вывел серв в интернет да еще и настроил! Спасибо большое!
Еслу у вас есть вебмони скажите свой WMR
Мой icq:

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

Будьте внимательны, я не даю вам свой WMR, поэтому если кто-то здесь напишет свой WMR, это не я.
По этой же причине я удалил ваш номер аськи, чтобы никто не выдал себя за меня.

03.01.2011 Алексей
Спасибо за статью!
Очень все понятно и доходчиво объяснили.
Будут вопросы-первым делом загляну сюда!

28.01.2011 Никита
Не подскажете пожалуйста как настроить апач. Ситуация такая.
Нужно при обращении к серверу по ip 192.168.0.1/images
Сделать так чтобы апач выдавал картинки с сетевого диска, так как хранилище картинок расположено на другом сервере.
ОС Windows

28.01.2011 сергей
Никита, ну а в виртуальных серверах если добавить алиас?
Alias /images «F:/ase/kkfd/»
В данном случае при обращении к папке images будет обращение к F:/ase/kkfd/

30.01.2011 Никита
Проблема в том что нужно чтобы папка была доступна всем ПК в сети

31.01.2011 сергей
Никита, ну так а почему она не доступна то?
она вроде бы и будет доступна, если алиас прописать.
разве нет?

Осталась одна проблемка. Сетевой диск по видимому подключается после запуска службы Apache. Поэтому приходится стартовать Apache вручную. Пробовал ставить запуск bat-ника при неудачном запуске Apachа а потом перезапуск службы. Не помогает.
Может быть есть еще какое решение.

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

17.02.2011 олег
БОЛЬШОЕ спасибо за статью. Как для начинающего, для меня она важна. Думаю злодеям теперь не так легко будет. Такую информацию вообще надо на подобных сайты на главных страницах размещать.

27.02.2011 Виталий
после записи в файл конфигурации хостов
NameVirtualHost *:80

ServerName localhost
DocumentRoot c:/xampp/htdocs/localhost/www
ServerAdmin adm@baby48.ru

ServerName baby48.ru
ServerAlias www.baby48.ru
DocumentRoot c:/xampp/htdocs/baby48.ru/www
ServerAdmin adm@baby48.ru

27.02.2011 админ
Виталий, может у вас в папке нет индексного файла? (index.php, index.html)

28.02.2011 Виталий
у меня получилась конструкция без NameVirtualHost *:80

будем следить за новостями на webi.ru

01.03.2011 Ruby
в файле httpd.conf я нигде не мог найти это словосочетание- ServerTokens, теперь думаю как всё будет «высвечиватся». 🙁

02.03.2011 админ
Ruby, проверьте все конфиги, возможно в каком то другом файле есть ServerTokens.
если не найдете, добавьте сами.

02.03.2011 админ
Саня, попробуйте поискать Indexes в других конфигах, может где то еще упоминается.

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

03.03.2011 Саня
в процесе прогулки по сайтам наткнулся на такой вот блок:

Программа: XAMPP for Windows

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

и как ето устранить?
зарание спасибо

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

Источник

Поделиться с друзьями
Советы экспертов и специалистов
Adblock
detector