Windows Server. Настраиваем веб-сервер IIS

ОС 22.03.2024
ОС

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

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

На сегодняшний день существует множество локальных серверов, но какой же из них выбрать?

Я долгое время пользовался джентльменским набором «Денвер», в состав которого входят php, базы MySql и PhpMyAdmin. Подробнее с данным пакетом вы можете ознакомиться на официальном сайте разработчика . Денвер является одним из популярных пакетов локального сервера для web-разработчиков.

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

Распространяется Open Server абсолютно бесплатно. Единственно, вы можете отблагодарить автора за такой супер полезный продукт для вебмастера, переведя произвольную сумму на электронный кошелек. Как говорит автор, пожертвования очень важны, ведь проект не коммерческий. Ну, оно и понятно, без денег сегодня никуда… В общем, я лично перевел сколько было не жалко.

Преимущества Open Server

Что я могу выделить в пользу данного сервера? Вообще много чего могу сказать хорошего об Open Server да боюсь статья слишком большой получится. Поэтому выделю важные для моменты.

Продукт поставляется в 3 версиях: Ultimate, Premium, Basic. Вообще чем отличаются можете посмотреть на сайте разработчика, но я сделал скрин и прикрепил его к статье.

Именно наличие нескольких версий я считаю плюсом, т.к. скачать можно именно то, что вам нужно. Обратите внимание на версию Ultimate в распакованном виде — 5 с лишним Гб. У меня лично постоянно проблемы со свободным пространством на жестком диске. У кого с этим проблем нет + нужны дополнительные модули и программы, то можете качать смело Ultimate.

Наличие бесплатных программ , как уже было отмечено. Какие именно программы? Я опять сделал скрин.

Список, как видим, внушительный.

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

Портативная версия программы. Программа по сути работает без установки. Можно ее носить на флешке и при необходимости работать на другом компьютере.

Богатые возможности программы. Ниже я вставил скрин окна настроек Open Server. Глянув на этот скрин, вы поймете, что данный сервер содержит в себе все, что может потребоваться вебмастеру при разработке сайте. FTP-сервер, работа с почтой (php mail, smtp mail), алиасы (для ), домены (создание дополнительного алиаса домена), планировщик задач (правда я его еще не использовал).

Отличная документация + форум поддержки. Руководство написал разработчик достаточно емким. Более того, любые интересующие вопросы вы можете задать на форуме поддержки . В общем, для старта есть все. Нужно просто чуточку уделить внимание, чтобы разобраться во всем этом.

Пока с преимуществами я завершу, но это далеко не весь список. Более подробно об Open Server’e вы можете ознакомиться на официальном сайте разработчика — http://open-server.ru .

Установка локального сервера Open Server

Для начала нам необходимо скачать дистрибутив с сайта разработчика. Какую версию скачать решать вам. На работу локального сервера это никак не влияет. Дистрибутив представляет собой самораспаковывающийся архив. Двойным щелчком распаковываем архив куда нибудь на жесткий диск компьютера, а вообще желательно в корень жесткого диска. Все, можно запустить программу. Теперь зайдите в папку, куда вы распаковали open-server и сразу создайте ярлык на рабочем столе для главного загрузочного файла. Вы найдете две версии загрузочного файла — один предназначен для 32-х битной операционной системы (Open Server x86.exe), второй для 64-х (Open Server x64.exe). Создаем ярлык в соответствии с вашей системой. Например, я выбрал «Open Server x64.exe», т.к. у меня 64-х разрядная ОС. Для создания ярлыка щелкните правой кнопкой мыши по файлу, далее Отправить -> Рабочий стол (создать ярлык).

При первом запуске программа вам попросит выбрать язык и далее всплывет диалоговое окно, в котором будет предложено установить Microsoft Visual C++ Runtime & Patches, если вы запускаете Open Server на данном компьютере первый раз.

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

Запустить Open Server можно, щелкнув двойным щелчком по ярлыку, который мы отправили на рабочий стол. После запуска у вас в трее (рядом с часами) появится красный флажок , это будет означать, что программа локального сервера запущена, но сам сервер не активирован. Прежде чем активировать заглянем сначала в настройки.

Первое, что нам нужно сделать, это чтобы локальный сервер запускался при запуске приложения (в принципе это уже на ваше усмотрение). Для этого в настройках во вкладке «Основные» ставим галочку «Автозапуск сервера».

Во вкладке «Модули » вы можете посмотреть установленные модули для локального сервера и при желании можно поменять. Например, по умолчанию версия php используется 5.5. Если вам нужно 5.6.xx или php-7, то можно без проблем поменять, выбрав нужную версию из выпадающего списка.

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

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

Теперь можно запустить сервер — щелкаем по иконке красного флажка в трее (достаточно один клик левой кнопкой мыши) и в меню программы выбираем зеленый флажок . Что означают цвета этих флажков?

  • Зеленый — сервер запущен;
  • Оранжевый — сервер запускается/останавливается;
  • Красный — сервер остановлен.

После запуска у вас должен появиться виртуальный диск — W (если конечно в настройках вы не указали другую метку). Хочу отметить, что при первом запуске у вас может попросить одобрения брандмауэр Windows, если он у вас включен. Окошко одобрения может выскочить несколько раз и все время мы даем добро брандмауэру на выполнение действий Open Server’ом. Иначе, сервер у вас не запуститься.

Заходим в виртуальный диск W и в папке «domains » создаем папку для своего будущего проекта и заливаем туда все файлы вашего сайта. Папку «WWW» в папке сайта создавать не нужно, как это делается в Денвере. После того, как файлы залиты, перезапускам сервер, щелкнув по оранжевому флажку для того, чтобы сервер определил новую папку сайта.

Чтобы запустить сайт после установки в меню Open Server переходим в «Мои сайты » и в выпадающем списке сайтов щелкаем по нужному. После этого откроется браузер, который установлен по умолчанию в Windows — если используете упрощенную версию, и если используете полную версию, то откроется браузер, который установлен в настройках локального сервера.

В данной статье я описал как устанавливать локальный сервер «Open Server». Список настроек, по которым я пробежался далеко не полный… Про остальные возможности и настройки поговорим как-нибудь в другой статье, а пока на этой ноте пожалуй я закончу.

Удачи и приятного вам сайтостроения!

Привет, друзья.

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

Для этого мы воспользуется программой под названием Denwer. Установка ее проста и не требует никаких технических знаний. Тем более, процесс установки сопровождается подсказками.

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

Нужен ли локальный сервер

Для новичков начну с определения понятия "локальный сервер" - это такой сервер (хостинг), который находится на вашем компьютере (не в интернете) и позволяет создавать, настраивать на нем сайты.

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

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

В пример покажу меню из курса Сергея Патина "Joomla 3 - профессиональный сайт за один день" . Посмотрите в какой последовательности идет создание сайта.

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

Размещать сайт в интернете, а потом заниматься его настройкой, когда нужно уже продвигать его, неразумно.

А если у вас уже есть сайт? Нужен ли вам локальный сервер?

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

Итак, у вас уже есть сайт и на нем уже имеются какие-то посетители. Пусть и не большое количество, но они есть. Поставьте себя на их место.

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

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

Поэтому, нужно все такие дела производить на своем локальном компьютере.

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

Кстати, также о важности локального сервера при создании блога я говорю в своей интеллект-карте "План создания качественного блога от Константина Хмелева", которую вы можете получить, оставив свой 1й комментарий.

Переходим к процессу самой установки.

Устанавливаем локальный сервер на свой компьютер

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

Переходим на официальный сайт программы и жмем на большую кнопку.


После нажатия предлагается выбрать версию программы. Выбираем версию старый PHP 5.2 и жмем на кнопку Скачать .


В следующем окне нам нужно ввести данные, куда будет отправлена ссылка на скачивание Denwer. Вводим свои реальные данные и жмем на кнопку "Получить ссылку на скачивание".


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


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

Чтобы начать установку локального сервера, запускаем установщик.


Нас спрашивает, хотим ли мы установить базовый пакет? Соглашаемся.


Начнется разархивация данных, которая пройдет очень быстро.

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


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


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

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

Для продолжения установки жмем Enter.


Я же установлю в другое место. В моем случае это диск E папка host.



На следующем шаге снова жмем Enter.


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

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

После выбора и ввода буквы жмем Enter для продолжения установки локального сервера.



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

Существует 2 режима запуска, но сама программа рекомендует выбрать вариант 1. Мы так и делаем. Вводим цифрц 1 в командную строку и жмем Enter.


  • запуска;
  • остановки;
  • перезагрузки.

Нам эти ярлыки нужны. Поэтому, водим букву Y и жмем Enter.


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

Поэтому, если у вас установлен skype, то сделайте то, что будет написано в окне браузера.


Также будут созданы ярлыки на рабочем столе, которые мы так хотели.

  1. Start Denwer - запуск денвера;
  2. Stop Denwer - остановка;

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

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

Так как я устанавливал на диск E в папку host, то сейчас на моем диске должна быть такая папка.


Так оно и есть. А внутри папки должны быть сами файлы денвера. Заходим внутрь папки, где должны увидеть следующую картину.


Файлы есть. Значит все было удачно скопировано во время установки.

Теперь проверим, запускается ли сам Denwer. Воспользуемся ярлыком для запуска.

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

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


Как видите, имеется диск "E", в который я производил установку, а также диск "Z", который появился после запуска денвера. Названия у них одинаковые. Оба диска имеют название "Локальный диск". Только буквы разные.

Если перейдем в виртуальный диск (Z), то должны увидеть те же файлы и папки денвера, который мы смотрели ранее.


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

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

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

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

Всего доброго.

С уважением, Константин Хмелев.

Ну что ж, мы поговорили достаточно о веб-сервере, пришло время его нам установить и опробовать в деле. Существует сформировавшийся перечень наиболее распространенных веб-серверов, при выборе во внимание принимаются конкретные задачи, под которые он разворачивается. Остановим наш выбор на бесплатном веб-сервере Apache. Считаю его идеальным для сайтов начального и среднего уровня. Конечно, можно пойти легким путем - установить готовый комбайн Denwer, как это делает большинство новичков, но в нашем случае помимо результата важны также и теоретические знания. А после сегодняшнего урока ваш скилл повысится однозначно:)

Идем на страницу загрузки проекта - http://httpd.apache.org/download.cgi и качаем последнюю стабильную версию под Windows в виде MSI инсталлятора (в моем случае это был apache_2.2.14-win32-x86-no_ssl.msi). Начнем установку. Первый диалог, который может ввести нас в заблуждение - это диалог ввода информации о сервере:

Конфигурировать наш сервер мы будем после установки, а сейчас давайте не будем особо париться и впишем в поля "Network Domain" и "Server Name" localhost, а в поле "Administrator"s Email Address" ваш адрес электронной почты (о том, что такое localhost, речь пойдет позже). Нижние переключатели не трогаем. Жмем "Next", соглашаемся с типичной установкой, еще раз "Next". Инсталлятор предложит выбрать директорию, в которую будет установлен веб-сервер:

На мой взгляд, путь слишком длинный, давайте сократим его до C:\Program Files\Apache . Продолжаем установку, дожидаемся ее окончания. После закрытия инсталлятора в трее появится значок Apache монитора:

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

Теперь давайте вспоминать то, о чем мы беседовали в статье . Как вы помните, у каждого компьютера, подключенного к сети, есть свой IP-адрес. Но даже если ваш компьютер не имеет ни одного сетевого подключения, у него есть как минимум один внутренний IP-адрес. Этот адрес - 127.0.0.1 . На всех компьютерах он одинаковый и указывает на сам компьютер. То есть, если сетевому клиентскому приложению указать адрес сервера 127.0.0.1, то клиент будет пытаться подключиться к серверу, расположенному на вашем же компьютере. Далее мы говорили о доменных именах, которые преобразуются в IP-адреса DNS-серверами. У внутреннего адреса 127.0.0.1 есть свое внутреннее доменное имя - localhost . При этом для преобразования этого имени в адрес компьютеру не нужно обращаться к DNS-серверу, так как это соответствие заложено в самом компьютере.

Давайте запустим веб-браузер и введем в адресную строку домен localhost:

Я надеюсь, вы понимаете, что произошло? Домен localhost преобразовался в IP-адрес 127.0.0.1, веб-браузер подключился к веб-серверу по этому адресу и 80 порту и запросил главную страницу с помощью протокола HTTP. То есть наш веб-сервер работает, он отправил браузеру страничку с надписью "It works" ("работает").

Приступим к настройке нашего веб-сервера, которая сводится к редактированию конфигурационных файлов Apache. Для начала необходимо обзавестись удобным, практичным и в то же время простым текстовым редактором. Если у вас такой уже есть - мои поздравления, если же вы несчастный пользователь Блокнота, могу предложить редактор . Перейдите в папку C:\Program Files\Apache\conf и переименуйте файл httpd.conf в httpd.conf.bak , чтобы в случае чего иметь под рукой начальную конфигурацию. Создайте новый файл httpd.conf со следующим содержимым:

ServerRoot "C:/Program Files/Apache" Listen 80 LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_env.so LoadModule include_module modules/mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule rewrite_module modules/mod_rewrite.so LoadModule setenvif_module modules/mod_setenvif.so ServerName localhost AccessFileName .htaccess ServerTokens prod LogLevel error ErrorLog "logs/error.log" DefaultType text/plain AddDefaultCharset UTF-8 DirectoryIndex index.html Order allow,deny Deny from all Satisfy All TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz LogFormat "\nclient=%h\ntime=%{%d.%m.%Y %H:%M:%S}t\npage=%U%q\nreferer=%{Referer}i\nreqmethod=%m\nhost=%{Host}i\nagent=%{User-agent}i\n\n" mylog

Разбираемся. ServerRoot - путь, куда установлен наш веб-сервер. Обратите внимание на слеши. Listern - указывается номер порта, который будет "слушать" веб-сервер, а также, если необходимо, IP-адрес (если у вашего компьютера несколько подключений и нужно принимать соединения только по одному из них). Мы указали порт 80, который является стандартным для веб-серверов. LoadModule загружает модуль веб-сервера, модули позволяют получить дополнительные возможности. В нашем конфигурационном файле прописан перечень стандартных модулей. AddDefaultCharset - кодировка по умолчанию, выставили юникод (UTF-8). Остальное пока нас мало волнует.

А теперь самое главное. Не забыли, для чего устанавливаем веб-сервер? Правильно, для работы над нашими будущими сайтами. Существует понятие корневой каталог - это каталог, где расположен контент сайта, то есть файлы, из которых он состоит. По умолчанию в нашем Apache корневым каталогом является каталог . Перейдя туда вы обнаружите там единственный файл под именем index.html . Это тот самый файл, который содержит главную страницу с надписью "It works" по адресу http://localhost . Дело в том, что если в запросе (который, кстати, называется url) отсутствует имя файла, то веб-сервер ищет файл с одним из стандартных имен. Эти имена (точнее, одно имя - index.html ) прописаны у нас в конфигурационном файле:

DirectoryIndex index.html

Таким образом, при запросе http://localhost веб-сервер будет искать файл C:\Program Files\Apache\htdocs\index.html , при запросе http://localhost/docs - C:\Program Files\Apache\htdocs\docs\index.html (в том случае, если docs - папка), при запросе http://localhost/news.html - C:\Program Files\Apache\htdocs\news.html и так далее.

При веб-строительстве удобно иметь не один, а, скажем, три локальных (находящихся на локальной машине) домена, на которых можно независимо тестировать ваши сайты. Apache позволяет обслуживать несколько сайтов, то есть вам не придется для каждого домена устанавливать свою копию веб-сервера (к тому же, мы помним, что на компьютере может работать только одно серверное приложение на определенном порту). Несколько доменных имен могут ссылаться на один и тот-же IP-адрес. Apache, в свою очередь, может в зависимости от доменного имени, переданного в HTTP-запросе (вспоминаем параметр Host, статья "Принципы функционирования веб-сервера"), искать файлы в определенном корневом каталоге. Такая технология называется "виртуальный хост" .

Итак, localhost соответствует адресу 127.0.0.1, давайте создадим еще три внутренних домена test-domain1, test-domain2 и test-domain3, которые будут соответствовать этому же адресу. Откройте в текстовом редакторе файл C:\WINDOWS\system32\drivers\etc\hosts . В этом файле можно задать соответствия доменных имен и IP-адресов. Здесь же мы обнаружим то самое соответствие localhost адресу 127.0.0.1. Добавьте в конец файла строки:

127.0.0.1 test-domain1 127.0.0.1 test-domain2 127.0.0.1 test-domain3

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

Следующим шагом необходимо каждому доменному имени создать свой корневой каталог и сказать об этом нашему веб-серверу. Удаляем в папке C:\Program Files\Apache\htdocs файл index.html и создаем там три папки: test-domain1 , test-domain2 и test-domain3 , в каждой из этих папок папку log - для логов и папку www - собственно, корневой каталог для домена. В конце файла C:\Program Files\Apache\conf\httpd.conf дописываем следующее:

NameVirtualHost *:80 ServerName test-domain1 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain1/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain1/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain1/log/access.log" mylog ServerName test-domain2 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain2/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain2/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain2/log/access.log" mylog AllowOverride All Options -Indexes ServerName test-domain3 DocumentRoot "C:/Program Files/Apache/htdocs/test-domain3/www" ErrorLog "C:/Program Files/Apache/htdocs/test-domain3/log/error.log" CustomLog "C:/Program Files/Apache/htdocs/test-domain3/log/access.log" mylog AllowOverride All Options -Indexes

Три блока VirtualHost описывают наши три виртуальных хоста. Каждому задается свой корневой каталог - DocumentRoot , путь к логу ошибок - ErrorLog и логу доступа - CustomLog .

В корневом каталоге каждого домена создайте по файлу index.html с содержимым "Hello from test-domain1", "Hello from test-domain2" и ""Hello from test-domain3". Чтобы изменения в конфигурации вступили в силу, необходимо перезапустить Apache (левой кнопкой мыши по значку Apache монитора -> Restart). Если ошибок не было допущено, должно все работать:

Поздравляю, теперь у вас есть настроенный веб-сервер с тремя локальными хостами. Раздолье для веб-мастера:) Самое время приступить к изучению основ веб-строительства.

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

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

1. AMPPS

Последняя версия: 1.7
Русский язык: есть (частично)
Portable версия: Нет
Домашняя страница: http://www.ampps.com/

Базовый комплект:

  • Softaculous AMPPS 1.7
  • Apache 2.2.22
  • MySQL 5.5.22
  • PHP 5.3.10 and 5.2.17
  • PERL 5.10.1
  • Python 2.7.2
  • MongoDB 2.0.4

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

Несомненным плюсом данной сборки является поддержка многих распространенных CMS, блог-платформ, веб-форумов, досок объявлений, фотогалерей и проч. Всего доступных приложений более 200! Набор включённых в пакет компонентов так же не отстает от жизни, все модули довольно свежие и, что примечательно, здесь мы можем найти такую экзотику как Python и MongoDB.

Из минусов я хочу отметить частичный русский перевод, который присутствует только в каталоге скриптов, да и то не везде. После перезапуска Apache трей-меню отказалось работать, перезагрузка Windows не помогла. Еще одним минусом является отсутствие портативности. На мой взгляд AMPPS больше пригодится новичкам для изучения скриптов, нежели серьёзным разработчикам. Работать с этим сервером мне было не очень комфортно, есть варианты и получше.

Последняя версия: 2.5.10
Русский язык: Нет
Portable версия: Нет
Домашняя страница: http://www.appservnetwork.com/


Базовый комплект:

  • Apache 2.2.8
  • PHP 5.2.6
  • MySQL 5.0.51b
  • phpMyAdmin-2.10.3

Apache и MySQL устанавливаются как сервисы. Никакой управляющей программы нет, только страница сомнительного дизайна со ссылкой на PhpMyAdmin. По своей сути AppServ является графическим установщиком Apache, PHP, MySQL и более ничем. Если тот же Denwer сам запускает компоненты, то здесь они просто устанавливаются в качестве сервисов и управляются самой Windows.

Последняя версия: 3.2010-11-07
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://www.denwer.ru/


Базовый комплект:

  • Apache 2.2
  • PHP 5.3.3
  • MySQL 5.1.40
  • phpMyAdmin 3.2.3

Denwer… старый добрый Denwer. Мы видим всё тот же скудный набор не очень свежих компонентов (урезанных по самые яйца), чёрное окно и никакого GUI. К плюсам этого локального веб-сервера можно отнести его предельно малый размер и хорошую «базу знаний» на форуме, накопленную за многие годы. Фактически управление сервером осуществляется через выполнение.BAT скриптов по запуску и остановке модулей, как таковой управляющей программы нет вообще.

Denwer предельно прост и понятен, а потому имеет самую большую армию поклонников среди «чайников». Наиболее полным описанием данного веб-сервера будет следующая фраза, сказанная одним из пользователей: «Денвер выполняет основные задачи и ладно, а чем больше примочек тем больше заморочек (никто ими на все 100 не пользуется)».

Последняя версия: 5.3.9
Русский язык: Да
Portable версия: Да
Домашняя страница: http://www.easyphp.org/


Базовый комплект:

  • PHP 5.3.9
  • PhpMyAdmin 3.4.9
  • Apache 2.2.21
  • MySQL 5.5.20

Довольно простая и ничем не примечательная сборка. Нам предлагают обычное трей-меню без излишеств, незамысловатые настройки и запутанную стартовую страницу без русского языка. Данный программный комплекс не произвел на меня какого-либо впечатления, работает и то хорошо. EasyPHP вполне подходит в качестве замены Denwer на «версию с окошками» (если не пугает стартовая страница).

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

Последняя версия: 2.0.2.0
Русский язык: Есть
Portable версия: Нет
Домашняя страница: http://eleanor-cms.ru/server


Базовый комплект:

  • Apache 2.2.19
  • PHP 5.3.6
  • MySQL: MariaDB 5.2.6
  • PhpMyAdmin 3.4.2
  • SlimFTPd 3.1.81
  • DNS Unbound 1.4.10

EleanorServ сперва показался мне тёмной лошадкой, а точнее неким специализированным сервером для одноименной Eleanor CMS. После рассмотрения оказалось что это обычный локальный веб-сервер.

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

Радость от использования этого программного комплекса длилась не долго. После создания нового домена панель управления просто исчезла. Да да, она просто испарилась и в папке./www/localhost/ я даже не нашел каких-либо файлов кроме заглушки index.php. Еще одним огорчением было невозможность открыть папку с доменами из трей-меню, мне пришлось искать куда же я установил EleanorServ…

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

6. Nimp

Последняя версия: 1.5.0
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://nimpbox.ru/


Базовый комплект:

  • Apache 2.2.17
  • Nginx 0.9.3
  • MySQL 5.5.8
  • PHP 5.3.5
  • Sendmail 31
  • phpMyAdmin 3.3.9
  • Sypex Dumper 2.0.8
  • FileZilla 0.9.37 beta
  • Memcached 1.2.4

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

Во время использования этого сервера постоянно что-то сбоило, FileZilla никогда сам не останавливался (пришлось убивать через диспетчер задач), а Memcached вообще не запускался. Некоторое недоумение вызвали слова автора программы о том, что «данная сборка прекрасно подойдет для высоко нагруженных сайтов в корпоративных и городских сетях», программе явно далеко до использования в корпоративной среде.

«Фишка» этого локального веб-сервера в том, что Nginx работает как frontend и предназначен для раздачи статического контента, а Apache работает в качестве backend для генерации динамического контента. В целом моё впечатление от этой сборки осталось двояким, оно плавно менялось от резко негативного вначале до нормально-приемлемого в процессе работы с программой.

Последняя версия: 4.5.2
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://open-server.ru/


Базовый комплект:

  • Apache 2.2.22;
  • Apache 2.4.2;
  • Nginx 1.2.0;
  • MySQL 5.1.63;
  • MySQL 5.5.24;
  • PostgreSQL 9.1.2;
  • PHP 5.2.17 (IMagick 2.2.1, Zend Optimizer 3.3.3, IonCube Loader 4.0.7, Memcache 2.2.4);
  • PHP 5.3.13 (IMagick 2.3.0, Xdebug 2.2.0, IonCube Loader 4.0.14, Memcache 2.2.6);
  • PHP 5.4.3 (Xdebug 2.2.0);
  • Perl 5.12.3.0 (расширение);
  • SlimFTPd 3.181;
  • Fake Sendmail 32;
  • NNCron Lite 1.17;
  • Memcached 1.2.6;
  • Adminer 3.3.4;
  • HeidiSQL 7.0;
  • Webgrind 1.0;
  • PHPMyAdmin 3.5.1;
  • PHPPgAdmin 5.0.4;
  • PHPMemcachedAdmin 1.2.1;

В противовес другим участникам нашего обзора Open Server имеет наиболее приятный и продуманный интерфейс, обладает мощными возможностями по настройке и администрированию компонентов. К несомненным плюсам можно отнести поддержку профилей настроек, переключение HTTP/MySQL/PHP модулей, планировщик заданий (cron), удобное управление доменами и алиасами, а для «чайников» имеется толковое руководство пользователя.

Приятной особенностью Open Server является возможность использовать программу в качестве портативного персонального стартового меню. Можно установить сервер на USB накопитель, перенести туда свои portable программы, создать закладки для часто посещаемых сайтов и везде, где бы вы не находились, вы будете иметь удобное меню быстрого доступа к своим любимым сайтам и программам.

Последняя версия: 1.8.2
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.server2go-web.de/


Базовый комплект:

  • Apache 2.2
  • PHP 5.3.2
  • SQLITE
  • MYSQL 5.1.46
  • PERL 5.8

От этой гадости я долго плевался и несколько минут занимался поиском и убийством дочерних процессов. Оказалось что при запуске программы Server2go локальный веб-сервер просто стартует и всё. ВСЁ - в прямом смысле этого слова, нет никакой управляющей программы, никакого монитора, сервер нельзя ни остановить, ни даже просто перезапустить. Всё что есть у этого программного комплекса - это стартовая страница, где можно посмотреть безобидную информацию на подобие вывода PHP Info.

Впечатление крайне отрицательное, хотя казалось бы: сервер стартует, PhpMyadmin открывается, а что ещё надо? Нет, сервер который нельзя остановить - это не для меня. Гори оно в аду!

Последняя версия: 8.5.4
Русский язык: Да
Portable версия: Нет
Домашняя страница: http://www.uniformserver.com/


Базовый комплект:

  • Apache 2.4.2
  • PHP 5.4.0
  • MySQL 5.5.24
  • phpMyAdmin 3.5.1

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

Последняя версия: 8.5
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.usbwebserver.net/


Базовый комплект:

  • Apache 2.2.21
  • MySQL 5.5
  • PHP 5.3.9
  • PhpMyAdmin 3.4.9.0

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

По своей функциональности USBWebserver напоминает Denwer, разве что Perl не хватает. В панели управления можно выполнить запуск/остановку модулей, открыть логи, еще есть парочка полезных функций и настроек, на этом всё. Я бы рекомендовал эту сборку как GUI замену Denwer-а для тех, кому необходима схожая функциональность, но хочется иметь панель управления с кнопочками и рюшечками.

Последняя версия: 2.27
Русский язык: Нет
Portable версия: Нет
Домашняя страница:


Базовый комплект:

  • Apache 2.2.22
  • PHP 5.3.10
  • MySQL 5.5.20
  • SQLite 3.7.10
  • Smarty 3.1.7
  • PhpMyAdmin 3.4.9
  • Xdebug 2.1.3
  • SQLiteManager 1.2.4

Хороший и функциональный локальный веб-сервер, довольно известный, простой в освоении. Имеет удобное меню, хорошие возможности по настройке PHP и Apache. Сборка мне очень понравилась, в своё время я использовал Vertrigo довольно длительное время.

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

Последняя версия: 2.2d
Русский язык: Да
Portable версия: Нет
Домашняя страница: http://www.wampserver.com/

Базовый комплект:

  • Apache 2.2.21
  • Php 5.3.10
  • Mysql 5.5.20
  • XDebug 2.1.2
  • XDC 1.5
  • PhpMyadmin 3.4.10.1
  • SQLBuddy 1.3.3
  • webGrind 1.0

Как и XAMPP, эта сборка широко известна на западе. Возможно причиной тому является поддержка большого количества языков, возможность установить любую версию Apache, MySQL и PHP в качестве аддона и привлекательная домашняя страница, чего нельзя сказать о самой управляющей программе.

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

Последняя версия: 0.4.0.4
Русский язык: Есть
Portable версия: Да
Домашняя страница: http://winginx.ru/


Базовый комплект:

  • Nginx 1.2.0;
  • PHP 5.3.13;
  • PHP 5.4.3;
  • Node.js 0.6.17;
  • MySQL 5.1.62;
  • MongoDB 2.0.5;
  • memcached 1.2.6;
  • phpMyAdmin 3.5.0;
  • Adminer 3.3.3;
  • RockMongo 1.1.1;
  • phpMemcachedAdmin 1.2.1;
  • Xdebug 2.2.0.5, Zend Guard Loader 5.5, ionCube 4.0.14

Данная сборка может похвастаться наличием MongoDB и Node.js, а так же быстро набирающего популярность веб-сервера Nginx. Меня так же порадовало наличие нормального трей-меню и раздела настроек, однако в процессе работы оказалось что окно с настройками имеет 3 вкладки где всего по 1-2 опции (зачем?).

Довольно странно в Winginx выглядит работа с логами. Для их просмотра нам предлагается меню выбора файлов вида error.log, access.log и так далее, однако к какому именно модулю относятся эти логи понять невозможно: Nginx, PHP, а может Node.js?

Хоть Winginx и имеет управляющую программу, однако командование самим веб-сервером, так же как и в Denwer, осуществляется через.BAT файлы. Я сделал такой вывод по всплывающим из ниоткуда чёрным окнам во время запуска или остановки сервера.

Возможно, что кому-то (в первую очередь новичкам) будет очень полезна функция автоматической установки скриптов (PhpBB, WordPress, Joomla и т.д.) при создании домена, особенно если учитывать что скрипты сконфигурированы для работы с Nginx (переписывать правила реврайта самому довольно сложно). Однако лично я такими функциями никогда не пользуюсь и предпочитаю выполнять инсталляцию сам, поскольку никогда не знаешь что и как там устанавливается и какие сюрпризы могут поджидать тебя в будущем.

14. Xampp USB Lite

Последняя версия: 1.7.7
Русский язык: Нет
Portable версия: Да
Домашняя страница: http://www.apachefriends.org/en/xampp-windows.html


Базовый комплект:

  • Apache 2.2.21
  • MySQL 5.5.16
  • PHP 5.3.8
  • phpMyAdmin 3.4.5

XAMPP - это очень популярный за рубежом локальный веб-сервер. Думаю популярность обусловлена тем, что эта сборка довольно надёжна и имеет версии под все основные операционные системы: Windows, Linux, Mac OS X и даже Solaris.

Старт и остановка модулей происходят достаточно быстро, страница приветствия не запутана и понятна, хоть и на английском. В целом довольно хороший программный комплекс (с кучей плюшек в desktop версии) в котором нет ничего лишнего или отталкивающего. Чёрные окна из-за угла не атакуют, панель управления вполне обычная, однако малополезная.

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

Сравнение

Portable Русский язык Наличие GUI Полезный GUI Просмотр логов
AMPPS - + + - +
- - - - -
+ + - - -
+ + + + +
- + + + +
Nimp + + + + -
+ + + + +
+ - - - -
- + + - +
+ - + - -
- - + + +
- + + + +
+ + + + +
Xampp USB Lite + - + - -

Лучшие результаты: EasyPHP, Open Server, Winginx.

Тестирование

Тест №1 - Ложный запуск

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

Тест №2 - Сложные пути

Суть теста заключается в преднамеренной установке сервера в папку со сложным именем, в нашем тесте мы будем использовать папку с именем «C:testMys$ka!._-()zlo{}+~%&2% Files». Если PhpMyAdmin (он взят просто для удобства, поскольку есть в каждой сборке) не откроется, то тест соответственно будет провален. Каждый человек - это индивидуальность, папки порой называют самыми неожиданными именами. Название папки, выбранное для теста, корректно для Windows и должно быть правильно обработано.

Тест №3 - SSL из коробки

Тест предельно простой - запускаем сервер и пытаемся открыть PhpMyAdmin по SSL протоколу.

Обозначения: "+" означает что тест пройден успешно, "-" означает что тест провален.

Ложный запуск Сложные пути SSL из коробки
AMPPS + + +
- + -
- + +
+ + -
+ + -
Nimp + - -
+ + +
- + -
+ - -
+ - -
+ + -
+ + -
- - -
Xampp USB Lite + - +

Лучшие результаты: AMPPS, Open Server.

Заключение

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

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

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

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

Рекомендуем почитать

Наверх