Выбираем локальный веб-сервер для Windows. Локальный веб-сервер Web сервер под windows

Всем доброго времени суток и всего такого прочего.

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

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

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

Эта статья призвана рассказать Вам как просто и быстро развернуть домашний веб-сервер на своём компьютере с Windows .

Давайте приступим.

Веб-сервер для дома: "Apache + PHP + MySQL + phpMyAdmin + XDebug в одном пакете" [Денвер]

Многим кажется, что развертка веб-сервера это что-то из области фантастики и под это нужна определенная конфигурация компьютера, операционная система и всё такое прочее. Плюс всё это занимает много времени сил и всего такого прочего.

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

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

Заявлено, на момент написания статьи, следующее содержание:

  • Инсталлятор (поддерживается также инсталляция на flash -накопитель);
  • Apache , SSL , SSI , mod_rewrite , mod_php ;
  • PHP5 с поддержкой GD , MySQL , sqLite ;
  • MySQL5 с поддержкой транзакций;
  • Система управления виртуальными хостами, основанная на шаблонах. Чтобы создать новый хост, вам нужно лишь добавить директорию в каталог /home , править конфигурационные файлы не требуется. По умолчанию уже поддерживаются схемы именования директорий многих популярных хостеров; новые можно без труда добавить;
  • Система управления запуском и завершением всех компонентов Денвера ;
  • phpMyAdmin - система управления MySQL через Web -интерфейс;
  • Эмулятор sendmail и SMTP -сервера (отладочная «заглушка» на localhost:25 , складывающая приходящие письма в /tmp в формате.eml ); поддерживается работа совместно с PHP , Perl , Parser и тд.

Установка проста до невозможного: и запускаем установщик.

Собственно, после этого ждем окончания процесса установки, в нужный момент закрыв браузер, а так же нажав клавишу Enter (если у Вас не стоит IE , то просто нажав ОК , когда появиться соответствующая ошибка):

Кстати, чуть не забыл, что на одном из этапов может выскочить такая вот ошибка:

Попробуйте отключить фаерволл и антивирус, а так же проделать ping вручную (Пуск - Выполнить - cmd - ОК - ping 127.0.0.1 ).

Если пинги проходят, то можете продолжать дальше. Если нет, то.. Можете тоже попробовать продолжить, хотя на определенном этапе могут быть проблемы (но не обязательно).

Далее будет предложена папка, куда, собственно, Вы планируете всё это дело установить. Я бы рекомендовал указать путь к диску на котором у Вас больше всего места (в моём случае я указал D , что видно на выше).

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

Далее надо будет выбрать способ загрузки. Смотрите сами какой Вам удобней, но я, в данном случае, выбрал рекомендованный вариант (т.е жамкаем в 1 и кнопочку Enter ). Ну и последним шагом будет создание ярлыков. Делается это вводом буквы "y ", если, конечно, они Вам нужны.

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

На сим установка закончена. Просто, не так ли? ;)

Что до использования, то всё просто: кликаем в соответствующую иконку (Start Denwer ) и ждем окончания процесса запуска.

После сего у Вас появиться виртуальный диск (см.скриншот выше) со всей структурой веб-сервера и сопутствующими элементами. Тоже самое Вы можете увидеть в папке установки.

Чтобы проверить работу веб-сервера, откройте браузер и введите в адресной строке: test1.ru

Если всё работает нормально, то увидите строку: "Это файл /home/test1.ru/www/index.html " (как и на скриншоте выше).

Можете радоваться, - у Вас теперь есть веб-сервер;)

Послесловие

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

Оставайтесь с нами. Всё самое вкусное только для Вас;)

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

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

1. AMPPS

Последняя версия: 1.7 ​

Русский язык: есть (частично) ​

Portable версия: Нет ​

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

  • 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. AppServ

Последняя версия: 2.5.10 ​

Русский язык: Нет ​

Portable версия: Нет ​


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

  • 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. Denwer


Последняя версия: 3.2010-11-07 ​

Русский язык: Есть ​

Portable версия: Да ​


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

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

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

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

4. EasyPHP

Последняя версия: 5.3.9 ​

Русский язык: Да ​

Portable версия: Да ​


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

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

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

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

5. EleanorServ

Последняя версия: 2.0.2.0 ​

Русский язык: Есть ​

Portable версия: Нет ​


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

  • 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 версия: Да ​


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

  • 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 для генерации динамического контента. В целом моё впечатление от этой сборки осталось двояким, оно плавно менялось от резко негативного вначале до нормально-приемлемого в процессе работы с программой.

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

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

    Понятие локального сервера

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

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

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

    Выбор программного обеспечения

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

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

    Как создать локальный сервер: установка и настройка пакета Denwer

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

    Он содержит все необходимые инструменты вроде Apache, PHP, MySQL, phpMyAdmin, sendmail и т. д. Единственный недостаток состоит только в том, что к нему дополнительно придется устанавливать специальные движки вроде в самом простом варианте.

    Итак, создание локального сервера начинается с запуска инсталляционного EXE-файла (естественно, от имени Администратора). Появляется окошко, похожее на DOS-режим. Следуем указаниям установщика. Сначала выбираем место хранения данных сервера, затем назначаем литеру и режим работы виртуального диска (в принципе, предлагаемые параметры можно не изменять). На этом установка завершена. Теперь локальный сервер нужно проверить на предмет корректного функционирования.

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

    На данном этапе запускаем созданный сервер, а в окне любого интернет-браузера вводим http://localhost. Если программа инсталлирована без ошибок, браузер отобразит сообщение о том, что все работает.

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

    Вопросы кодировки

    Иногда можно встретить неприятную ситуацию, когда отсылаемое сообщение электронной почты выглядит в виде набора непонятных символов. Это происходит только потому, что программа изначально рассчитана на кодировку UTF-8. Ее можно совершенно элементарно изменить, например, на KOI-8R или что-то еще.

    Установка локального сервера: дополнительные движки

    Теперь еще один важный момент. Локальный сервер Windows-систем не может обойтись без специальных дополнений, называемых движками (WordPress, Joomla и т. д.).

    Для начала в папке www, расположенной по пути \home\local host, в основной директории создаем произвольный каталог. После этого вводим в адресной строке браузера путь http://localhost/ и проверяем, что именно открывается. Если открылась именно все нормально. Копируем файлы движка в этот каталог при помощи любого файлового менеджера (хотя бы того же «Проводника») и вводим адрес заново. Появляется окно «Мастера установки», где нужно всего лишь следовать указаниям.

    Дополнение базами данных

    Теперь локальный сервер должен присоединить специальные базы данных. Для этого используется служба phpMyAdmin, вход в которую осуществляется посредством ввода в адресной строке браузера http://localhost/tools. Сначала выбирается раздел создания новой базы, ей дается название (можно произвольное, но лучше указывать такое же, какое было применено для папки в предыдущем разделе).

    Затем возвращаемся на главную страницу и настраиваем параметры привилегий (создаем нового пользователя, указываем логин и пароль, в качестве хоста используем localhost и отмечаем «птичками» все, что есть в окне). Остается нажать кнопку «Пошел!» и дождаться окончания процесса.

    Перенос локального сервера на хостинг

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

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

    Локальные прокси-серверы

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

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

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

    Перед началом работы следует задать настройки прокси. К примеру, если используется браузер Opera, в параметрах серверов для HTTP нужно указать значение 127.0.0.1, 8080 - для порта. Теперь запускаем приложение, заходим в настройки и смотрим на вкладку «Дозвон». Как правило, программа сама определяет, какой тип подключения используется в данный момент. Далее нажимаем одноименную кнопку и пользуемся созданным сервером.

    Да, обратите внимание: в настройках кэша можно указать размер порядка 300 Мб. По идее, этого должно хватить на все случаи жизни. Просмотреть содержимое можно в папке Cache основной директории, где была инсталлирована программа. И еще одно: запомните, это обычный прокси-сервер, а не анонимный, так что ждать от него изменения или сокрытия IP-адреса не стоит.

    Локальные DNS-серверы

    Локальный DNS-сервер можно использовать в случаях, когда связь нестабильна, локальная сеть имеет слишком большое ветвление на основе TCP/IP, или же вы занимаетесь веб-разработками и их тестированием. В принципе, для таких целей прекрасно подойдет программа BIND. Она хоть и рассчитана в основном на UNIX-подобные системы, тем не менее, прекрасно работает и с Windows (исходим из того, что на терминале установлена не серверная версия «Винды», которую можно настроить в «Панели управления»).

    Запускаем и следуем инструкциям. Для удобства рекомендуется инсталлировать программу непосредственно на диск C, в создаваемую директорию BIND. Далее вводим логин и пароль, после чего активируем процесс установки и дожидаемся его завершения.

    Теперь в папке C:\BINDetc нужно создать файл "название".conf, в котором прописываются настройки, которые будет использовать локальный сервер DNS (название произвольное и задается без кавычек). Чтобы не заниматься тратой времени, искомый файл можно запросто найти в Интернете и скачать его, поместив в указанное место.

    Теперь перезагружаем систему, затем вызываем командную строку (cmd через меню «Выполнить» или сочетание Win + R), где прописываем запрос nslookup. Если происходит подтверждение, значит, сервер установлен правильно и работает без ошибок.

    Локальные игровые серверы

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

    Для настройки используем файл server.properties, куда вносим данные, предоставленные приложением Hamachi. Прописываем IP-адрес сервера, количество игроков, использование возможных режимов игры и т. д. В поле режима online-mode нужно в обязательном порядке указать значение true. После этого сохраняем изменения и закрываем файл.

    Теперь определяем внутренний IP сервера, который будет использоваться игроками при подключении к терминалу, на котором он был создан. Компьютеры, естественно, должны быть объединены с самим сервером либо через локальную сеть, либо через VPN. IP-адрес серверного терминала должен быть статическим с обязательной привязкой к MAC-адресу.

    Вход осуществляется при помощи приложения Minl2, где при регистрации указывается логин и пароль. После проделанных действий покидаем сервер и входим заново, но уже в оффлайн-режиме с использованием созданного логина и пароля. В разделе настроек выбираем Multiplayer и вводим искомый IP сервера. Все. Можно наслаждаться игрой с реальным противником.

    Заключение

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

    Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на Windows8. Ну пожааалуйста». И так как отогнать её никак не получалось, я запаслась чаем и печеньками и приступила.

    На установку системы и всех необходимых программ ушло не более двух часов, но затем наступил самый интересный момент: мне нужно было развернуть рабочее окружение, а именно - GIT + локальный сервер (Apache, MySQL, PHP, nginx, memcached, mongodb). Помятуя об опыте предыдущих установок, на этот раз я решила весь процесс задокументировать и сохранить для потомков.

    Дисклаймер номер раз: «я не программист» (с), а дизайнер интерфейсов и фронтенд-технолог (но в некоторых случаях могу помочь коллегам и накодить что-нибудь этакое, и меня даже потом за это не побьют)

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

    Итак, приступим.

    Наш план работ включает установку следующих продуктов:

    1. PuTTY
    2. Denwer (Apache, MySQL, PHP)
    3. Nginx
    4. Memcached
    5. MongoDB

    1. PuTTY

    PuTTY - свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin.

    В состав PuTTY входит несколько утилит, но мне в работе нужны только он сам и Pegeant (агент SSH-аутентификации, в котором хранятся ключи от git-репозиториев).
    Офсайт:
    Если вам не нужны никакие SSH-и, забудьте об этом пункте и идём дальше.

    2. GIT

    Для работы с git я уже не первый год использую TortoiseGit , который стабилен, гуёв и на 146% закрывает все мои потребности. Вобщем, рекомендую.


    Офсайт:

    2.1 Для работы TortoiseGit требуется git для Windows , который можно забрать на гуглекоде ;
    2.2 сам TortoiseGit устанавливаем отсюда

    3. Denwer

    Денвер - Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») - проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине.
    Офсайт:

    3.1 Установка

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

    Лирическое отступление:

    нет, не просто скачать, а получить ссылки на скачивание по email! То есть вам придется вбивать свою почту, а также имя и фамилию два раза в форме под большим заголовком «Регистрация». «Регистрация требуется в связи с будущим выходом Денвера-4.» уже который год как бы извиняется форма, но я ей больше не верю(.

    Обычно установка денвера проходит быстро и безболезненно, но на Windows8 на меня напала ошибка, которая ругалась на отсутствующую библиотеку msvcr71.dll . Библиотеку можно и положить в папку "\Windows\System32\" (x32) или "\Windows\SysWOW64\" (x64). После того, как файл улегся в папку, откройте его свойства и нажмите кнопку «Разблокировать».

    3.2 Проверка работоспособности

    После установки Денвера, создадим тестовый скрипт, на котором будем проверять работоспособность всего того, что мы установим впоследствии.
    Идем в Z:\home и добавляем новый сайт: создаем папку test.local , в ней папку «www» , в которую добавляем файл index.php с невероятно креативным текстом:

    ";

    Перезапускаем Денвер, открываем в браузере www.test.local , впечатляемся и идём дальше

    4. Memcached

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

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

    4.1 Установка memcached

    А. скачиваем архив с бинарником: Memcached 1.4.5 for Windows отсюда
    В. \usr\local\memcached

    4.2 Установка memcache

    А. скачиваем архив с библиотекой отсюда
    В. распаковываем содержимое архива в \usr\local\php5\ext\
    С. открываем файл php.ini (\usr\local\php5\php.ini ) и подключаем расширение:
    extension=php_memcache.dll

    4.3 Настраиваем запуск Memcached вместе с запуском Denwer

    Чтобы запустить скрипт вместе с Денвером нам нужно:
    1. написать скрипт, содержащий команды запуска и останова приложения/ сервиса и положить его в папку \denwer\scripts\init.d
    2. создать ссылку на этот скрипт в папке конфигурации запуски/останова \denwer\scripts\main\

    А. создаём файл с именем «memcached.pl» в директории \denwer\scripts\init.d\
    #!perl -w package Starters::Memcached; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/memcached/"; chdir($basedir); StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting memcached\n"; system("memcached.exe -d"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping memcached\n"; system("TASKKILL /F /IM memcached.exe"); print " Stopped!\n"; }; return 1 if caller;

    B. теперь создадим ссылку на скрипт – обычный текстовый файл, содержащий указание, что при старте, рестарте и остановке Денвера, необходимо выполнить init.d/memcached.pl
    В текстовом редакторе пишем
    init.d/memcached
    и сохраняем файл под именем «40_memcached» в следующие папки:

    • \denwer\scripts\main\start
    • \denwer\scripts\main\stop
    • \denwer\scripts\main\restart

    4.4 Проверяем результат

    В наш тестовый скрипт (index.php) добавляем:
    $memcache = new Memcache; $memcache->connect("127.0.0.1", 11211); echo ‘Memcache ver: ’ . $memcache->getVersion();

    Перезапускаем Денвер и смотрим, что получилось

    5. Nginx

    Nginx - простой, быстрый и надёжный сервер, не перегруженный функциями.

    Офсайт:

    5.1 Настройка Nginx

    A. скачиваем с офсайта Windows-версию и распаковываем в \usr\local\nginx
    B. настраиваем виртуальный хост для нашего тестового сайта. Для этого открываем \usr\local\nginx\conf\nginx.conf и добавляем туда

    Server { listen 127.0.0.1:80; server_name www.test.local test.local; if ($host = "test.local"){ rewrite ^/(.*)$ http://www.test.local$1 permanent; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { root Z:\home\/test.local\www; } location / { ssi on; proxy_pass http://127.0.0.1:8080/; proxy_set_header X-REQUEST_URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; root Z:\home\/test.local\www; } }
    Это пример настроек из реального проекта, ваши настройки, очевидно, могут отличаться.

    5.2 Настройка Apache

    По-умолчанию Апач работает на 80-м порту, но мы только что отдали этот порт Nginx-у, поэтому теперь необходимо изменить шаблон для виртуального хоста в настройках апача и назначить ему порт, отличный от 80-го (например, 8080).
    Открываем \usr\local\apache\conf\httpd.conf и изменяем номер порта

    ## ## НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА. ## ## Если вы хотите по умолчанию запускать Apache на порту, отличном от 80, ## измените номер порта в следующей далее директиве. ## #Listen $&{ip:-127.0.0.1}:$&{port:-8080} #NameVirtualHost $&{ip:-127.0.0.1}:$&{port:-8080} # # DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)/public^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "$&" # ServerName "%&/-www" # ServerAlias "%&/-www" "%&/-www/www" $&{host:-} # # $&{directives:-} # # ScriptAlias /cgi/ "$^1/cgi/" # ScriptAlias /cgi-bin/ "$^1/cgi-bin/" # AllowEncodedSlashes on #

    5.3 Настраиваем запуск Nginx вместе с запуском Denwer

    A. создаём файл с именем «nginx.pl» в директории \denwer\scripts\init.d\
    #!perl -w package Starters::Nginx; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/nginx/"; chdir($basedir); StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting Nginx\n"; system("start nginx.exe"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping Nginx\n"; system("nginx.exe -s stop"); print " Stopped!\n"; }; return 1 if caller;

    B. в текстовом редакторе пишем
    init.d/nginx
    и сохраняем файл под именем «50_memcached» в следующие папки:

    • \denwer\scripts\main\start
    • \denwer\scripts\main\stop
    • \denwer\scripts\main\restart

    5.4 Проверяем результат

    Положим рядом со скриптом файл style.css с содержанием
    h1{ color: red; } h2{ color: green; }

    И облагородим наш index.php :
    Test me

    Test me

    Memcached

    connect("127.0.0.1", 11211); echo "Memcached ver: " . $memcache->getVersion(); ?>
    Теперь перезапускаем Денвер и любуемся результатом. Если CSS-файл подключился – Nginx работает нормально.

    6. MongoDB

    MongoDB - документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц.

    Офсайт:

    6.1 PHP-driver

    А. Скачиваем библиотеку php_mongo.dll с этого сайта : и закидываем в папку \usr\local\php5\ext\
    Методом проб и ошибок было установлено, что подходящий драйвер содержится в архиве mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip . Если у вас по какой-то причине не заведётся, попробуйте другие версии.

    B. подключаем расширение в php.ini
    extension=php_mongo.dll

    6.2 Установка Mongo

    А. скачиваем архив с Mongo и распаковываем в папку \usr\local\mongodb . В этой же папке создаем еще две папки:

    B. устанавливаем службу
    > cd C:\WebServers\usr\local\mongodb\bin\
    > mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\

    6.3 Настраиваем запуск MongoDB совместно с денвером

    A. создаём файл с именем «mongod.pl» в директории \denwer\scripts\init.d\
    #!perl -w package Starters::mongoDB; BEGIN { unshift @INC, "../lib"; } use StartManager; StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting mongoDB\n"; system("net start mongoDB"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping mongoDB\n"; system("net stop mongoDB"); print " Stopped!\n"; }; return 1 if caller;

    B. в текстовом редакторе пишем
    init.d/mongod
    и сохраняем файл под именем «60_mongod» в уже знакомые нам папки:

    • \denwer\scripts\main\start
    • \denwer\scripts\main\stop
    • \denwer\scripts\main\restart

    6.4 Проверяем результат

    Запустим консольный интерфейс mongo
    > Z:\usr\local\mongodb\bin\mongo.exe

    И выполним вставку и вывод тестового значения в базу “test”
    > db.test.save({ name: “Habr!” })
    > db.test.find()

    В результате должно получиться следующее:

    6.5. Установка интерфейса управления Mongo-базами

    На офсайте MongoDB есть список и краткие обзоры админок , так что можно выбрать по вкусу.
    Я для себя выбрала RockMongo , поэтому именно с её помощью мы окончательно удостоверимся, что у нас всё работает и никуда не падает.

    А. скачиваем архив с админкой с этой страницы . Выбираем, естественно, версию для Windows . На момент написания статьи это RockMongo-on-Windows v0.0.4

    B. из архива берём папку \rockmongo-on-windows\web\rockmongo и копируем её в директорию нашего тестового сайта
    Открываем config.php и меняем значение параметра
    $MONGO["servers"][$i]["control_auth"] = true;
    на
    $MONGO["servers"][$i]["control_auth"] = false;

    C. Проверяем результат по ссылке www.test.local/rockmongo/index.php

    Поздравляю! Теперь мы окончательные и бесповоротные молодцы.

    Бонус №1. Работа с php из консоли Windows

    Возможно, кому-то пригодится. Мне вот пригодилось, когда наш злобный техлид решил, что «SQL-файлы – это ващепрошлыйвек, давайте юзать миграции». Я, конечно, для приличия попыталась изобразить полное непонимание и даже пустить слезу, но была разоблачена и отправлена разбираться с тем, как это работает на Windows.
    Оказалось, что всё что нужно для счастья – это прописать PHP директорию в PATH .


    Нажимаем на «Изменить» и добавляем в конец строки
    ;Z:\usr\local\php5

    Теперь проверим, что всё заработало.
    В директории тестового сайта создадим файл console.php

    Открываем консоль (можно прям из этой же папки – щелкаем правой кнопкой мыши с зажатым SHIFT-ом на пустом месте и выбираем пункт «Открыть окно команд»).
    Вводим:
    > php console.php “UserName”

    Консоль отвечает:
    > “Hello, UserName!”

    PHP побеждён, всеобщее ликование, апплодисменты, занавес.

    Бонус №2.

    Все файлы и примеры, упомянутые в статье одним архивом бесплатно без смс: на гитхабе

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

    Теги: Добавить метки

    Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на Windows8. Ну пожааалуйста». И так как отогнать её никак не получалось, я запаслась чаем и печеньками и приступила.

    На установку системы и всех необходимых программ ушло не более двух часов, но затем наступил самый интересный момент: мне нужно было развернуть рабочее окружение, а именно - GIT + локальный сервер (Apache, MySQL, PHP, nginx, memcached, mongodb). Помятуя об опыте предыдущих установок, на этот раз я решила весь процесс задокументировать и сохранить для потомков.

    Дисклаймер номер раз: «я не программист» (с), а дизайнер интерфейсов и фронтенд-технолог (но в некоторых случаях могу помочь коллегам и накодить что-нибудь этакое, и меня даже потом за это не побьют)

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

    Итак, приступим.

    Наш план работ включает установку следующих продуктов:

    1. PuTTY
    2. Denwer (Apache, MySQL, PHP)
    3. Nginx
    4. Memcached
    5. MongoDB

    1. PuTTY

    PuTTY - свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin.

    В состав PuTTY входит несколько утилит, но мне в работе нужны только он сам и Pegeant (агент SSH-аутентификации, в котором хранятся ключи от git-репозиториев).
    Офсайт:
    Если вам не нужны никакие SSH-и, забудьте об этом пункте и идём дальше.

    2. GIT

    Для работы с git я уже не первый год использую TortoiseGit , который стабилен, гуёв и на 146% закрывает все мои потребности. Вобщем, рекомендую.


    Офсайт:

    2.1 Для работы TortoiseGit требуется git для Windows , который можно забрать на гуглекоде ;
    2.2 сам TortoiseGit устанавливаем отсюда

    3. Denwer

    Денвер - Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») - проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине.
    Офсайт:

    3.1 Установка

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

    Лирическое отступление:

    нет, не просто скачать, а получить ссылки на скачивание по email! То есть вам придется вбивать свою почту, а также имя и фамилию два раза в форме под большим заголовком «Регистрация». «Регистрация требуется в связи с будущим выходом Денвера-4.» уже который год как бы извиняется форма, но я ей больше не верю(.

    Обычно установка денвера проходит быстро и безболезненно, но на Windows8 на меня напала ошибка, которая ругалась на отсутствующую библиотеку msvcr71.dll . Библиотеку можно и положить в папку "\Windows\System32\" (x32) или "\Windows\SysWOW64\" (x64). После того, как файл улегся в папку, откройте его свойства и нажмите кнопку «Разблокировать».

    3.2 Проверка работоспособности

    После установки Денвера, создадим тестовый скрипт, на котором будем проверять работоспособность всего того, что мы установим впоследствии.
    Идем в Z:\home и добавляем новый сайт: создаем папку test.local , в ней папку «www» , в которую добавляем файл index.php с невероятно креативным текстом:

    ";

    Перезапускаем Денвер, открываем в браузере www.test.local , впечатляемся и идём дальше

    4. Memcached

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

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

    4.1 Установка memcached

    А. скачиваем архив с бинарником: Memcached 1.4.5 for Windows отсюда
    В. \usr\local\memcached

    4.2 Установка memcache

    А. скачиваем архив с библиотекой отсюда
    В. распаковываем содержимое архива в \usr\local\php5\ext\
    С. открываем файл php.ini (\usr\local\php5\php.ini ) и подключаем расширение:
    extension=php_memcache.dll

    4.3 Настраиваем запуск Memcached вместе с запуском Denwer

    Чтобы запустить скрипт вместе с Денвером нам нужно:
    1. написать скрипт, содержащий команды запуска и останова приложения/ сервиса и положить его в папку \denwer\scripts\init.d
    2. создать ссылку на этот скрипт в папке конфигурации запуски/останова \denwer\scripts\main\

    А. создаём файл с именем «memcached.pl» в директории \denwer\scripts\init.d\
    #!perl -w package Starters::Memcached; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/memcached/"; chdir($basedir); StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting memcached\n"; system("memcached.exe -d"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping memcached\n"; system("TASKKILL /F /IM memcached.exe"); print " Stopped!\n"; }; return 1 if caller;

    B. теперь создадим ссылку на скрипт – обычный текстовый файл, содержащий указание, что при старте, рестарте и остановке Денвера, необходимо выполнить init.d/memcached.pl
    В текстовом редакторе пишем
    init.d/memcached
    и сохраняем файл под именем «40_memcached» в следующие папки:

    • \denwer\scripts\main\start
    • \denwer\scripts\main\stop
    • \denwer\scripts\main\restart

    4.4 Проверяем результат

    В наш тестовый скрипт (index.php) добавляем:
    $memcache = new Memcache; $memcache->connect("127.0.0.1", 11211); echo ‘Memcache ver: ’ . $memcache->getVersion();

    Перезапускаем Денвер и смотрим, что получилось

    5. Nginx

    Nginx - простой, быстрый и надёжный сервер, не перегруженный функциями.

    Офсайт:

    5.1 Настройка Nginx

    A. скачиваем с офсайта Windows-версию и распаковываем в \usr\local\nginx
    B. настраиваем виртуальный хост для нашего тестового сайта. Для этого открываем \usr\local\nginx\conf\nginx.conf и добавляем туда

    Server { listen 127.0.0.1:80; server_name www.test.local test.local; if ($host = "test.local"){ rewrite ^/(.*)$ http://www.test.local$1 permanent; } location ~* \.(jpeg|jpg|gif|png|css|js|pdf|txt|tar)$ { root Z:\home\/test.local\www; } location / { ssi on; proxy_pass http://127.0.0.1:8080/; proxy_set_header X-REQUEST_URI $request_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 60; proxy_send_timeout 90; proxy_read_timeout 90; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; root Z:\home\/test.local\www; } }
    Это пример настроек из реального проекта, ваши настройки, очевидно, могут отличаться.

    5.2 Настройка Apache

    По-умолчанию Апач работает на 80-м порту, но мы только что отдали этот порт Nginx-у, поэтому теперь необходимо изменить шаблон для виртуального хоста в настройках апача и назначить ему порт, отличный от 80-го (например, 8080).
    Открываем \usr\local\apache\conf\httpd.conf и изменяем номер порта

    ## ## НАЧАЛО ШАБЛОНА ВИРТУАЛЬНОГО ХОСТА. ## ## Если вы хотите по умолчанию запускать Apache на порту, отличном от 80, ## измените номер порта в следующей далее директиве. ## #Listen $&{ip:-127.0.0.1}:$&{port:-8080} #NameVirtualHost $&{ip:-127.0.0.1}:$&{port:-8080} # # DocumentRootMatch "/home/(?!cgi-)(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)/public_html^1" # DocumentRootMatch "/home/(?!cgi-)(.*)/public^1" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/html/(.*)" # DocumentRootMatch "/home/(?!cgi-)(.*)^1/domains/(?!cgi$|cgi-)(.*)" # DocumentRootMatch "/var/www/html/(?!cgi-)~(.*)^1/(?!cgi$|cgi-)(.*)" # DocumentRoot "$&" # ServerName "%&/-www" # ServerAlias "%&/-www" "%&/-www/www" $&{host:-} # # $&{directives:-} # # ScriptAlias /cgi/ "$^1/cgi/" # ScriptAlias /cgi-bin/ "$^1/cgi-bin/" # AllowEncodedSlashes on #

    5.3 Настраиваем запуск Nginx вместе с запуском Denwer

    A. создаём файл с именем «nginx.pl» в директории \denwer\scripts\init.d\
    #!perl -w package Starters::Nginx; BEGIN { unshift @INC, "../lib"; } use StartManager; my $basedir = "/usr/local/nginx/"; chdir($basedir); StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting Nginx\n"; system("start nginx.exe"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping Nginx\n"; system("nginx.exe -s stop"); print " Stopped!\n"; }; return 1 if caller;

    B. в текстовом редакторе пишем
    init.d/nginx
    и сохраняем файл под именем «50_memcached» в следующие папки:

    • \denwer\scripts\main\start
    • \denwer\scripts\main\stop
    • \denwer\scripts\main\restart

    5.4 Проверяем результат

    Положим рядом со скриптом файл style.css с содержанием
    h1{ color: red; } h2{ color: green; }

    И облагородим наш index.php :
    Test me

    Test me

    Memcached

    connect("127.0.0.1", 11211); echo "Memcached ver: " . $memcache->getVersion(); ?>
    Теперь перезапускаем Денвер и любуемся результатом. Если CSS-файл подключился – Nginx работает нормально.

    6. MongoDB

    MongoDB - документо-ориентированная система управления базами данных (СУБД) с открытым исходным кодом, не требующая описания схемы таблиц.

    Офсайт:

    6.1 PHP-driver

    А. Скачиваем библиотеку php_mongo.dll с этого сайта : и закидываем в папку \usr\local\php5\ext\
    Методом проб и ошибок было установлено, что подходящий драйвер содержится в архиве mongo-1.2.5.zip/mongo-1.2.5-php5.3vc9ts.zip . Если у вас по какой-то причине не заведётся, попробуйте другие версии.

    B. подключаем расширение в php.ini
    extension=php_mongo.dll

    6.2 Установка Mongo

    А. скачиваем архив с Mongo и распаковываем в папку \usr\local\mongodb . В этой же папке создаем еще две папки:

    B. устанавливаем службу
    > cd C:\WebServers\usr\local\mongodb\bin\
    > mongod.exe --install --dbpath=C:\WebServers\usr\local\mongodb\db\ --logpath=C:\WebServers\usr\local\mongodb\logs\

    6.3 Настраиваем запуск MongoDB совместно с денвером

    A. создаём файл с именем «mongod.pl» в директории \denwer\scripts\init.d\
    #!perl -w package Starters::mongoDB; BEGIN { unshift @INC, "../lib"; } use StartManager; StartManager::action $ARGV, start => sub { ### ### START. ### print "Starting mongoDB\n"; system("net start mongoDB"); print " Started!\n"; }, stop => sub { ### ### STOP. ### print "Stopping mongoDB\n"; system("net stop mongoDB"); print " Stopped!\n"; }; return 1 if caller;

    B. в текстовом редакторе пишем
    init.d/mongod
    и сохраняем файл под именем «60_mongod» в уже знакомые нам папки:

    • \denwer\scripts\main\start
    • \denwer\scripts\main\stop
    • \denwer\scripts\main\restart

    6.4 Проверяем результат

    Запустим консольный интерфейс mongo
    > Z:\usr\local\mongodb\bin\mongo.exe

    И выполним вставку и вывод тестового значения в базу “test”
    > db.test.save({ name: “Habr!” })
    > db.test.find()

    В результате должно получиться следующее:

    6.5. Установка интерфейса управления Mongo-базами

    На офсайте MongoDB есть список и краткие обзоры админок , так что можно выбрать по вкусу.
    Я для себя выбрала RockMongo , поэтому именно с её помощью мы окончательно удостоверимся, что у нас всё работает и никуда не падает.

    А. скачиваем архив с админкой с этой страницы . Выбираем, естественно, версию для Windows . На момент написания статьи это RockMongo-on-Windows v0.0.4

    B. из архива берём папку \rockmongo-on-windows\web\rockmongo и копируем её в директорию нашего тестового сайта
    Открываем config.php и меняем значение параметра
    $MONGO["servers"][$i]["control_auth"] = true;
    на
    $MONGO["servers"][$i]["control_auth"] = false;

    C. Проверяем результат по ссылке www.test.local/rockmongo/index.php

    Поздравляю! Теперь мы окончательные и бесповоротные молодцы.

    Бонус №1. Работа с php из консоли Windows

    Возможно, кому-то пригодится. Мне вот пригодилось, когда наш злобный техлид решил, что «SQL-файлы – это ващепрошлыйвек, давайте юзать миграции». Я, конечно, для приличия попыталась изобразить полное непонимание и даже пустить слезу, но была разоблачена и отправлена разбираться с тем, как это работает на Windows.
    Оказалось, что всё что нужно для счастья – это прописать PHP директорию в PATH .


    Нажимаем на «Изменить» и добавляем в конец строки
    ;Z:\usr\local\php5

    Теперь проверим, что всё заработало.
    В директории тестового сайта создадим файл console.php

    Открываем консоль (можно прям из этой же папки – щелкаем правой кнопкой мыши с зажатым SHIFT-ом на пустом месте и выбираем пункт «Открыть окно команд»).
    Вводим:
    > php console.php “UserName”

    Консоль отвечает:
    > “Hello, UserName!”

    PHP побеждён, всеобщее ликование, апплодисменты, занавес.

    Бонус №2.

    Все файлы и примеры, упомянутые в статье одним архивом бесплатно без смс: на гитхабе

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

    Теги:

    • denwer
    • локальный сервер
    Добавить метки