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

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

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

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

Я долгое время пользовался джентльменским набором «Денвер», в состав которого входят 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». Список настроек, по которым я пробежался далеко не полный… Про остальные возможности и настройки поговорим как-нибудь в другой статье, а пока на этой ноте пожалуй я закончу.

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

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

Назначение Open Server

На сайте разработчиков говорится, что Open Server (https://open-server.ru/) является портативной серверной платформой и программной средой, созданной специально для веб-разработчиков с учётом их рекомендаций и пожеланий .

Платформа, работающая под Windows, предназначена для отладки кода до того, как его используют на реальном проекте, чем невероятно полезна и удобна для разработчиков. Это может быть отладка как кода, так и плагина, а также обновление существующих CMS.

Например, когда мне нужно проверить работоспособность плагина, скрипта или обновить CMS, я поступаю таким образом:

  • делаю свежий бэкап (резервную копию) существующего проекта и разворачиваю его локально;
  • обновляю или выполняю определённые правки в коде;
  • проверяю, всё ли корректно работает;
  • выкатываю на рабочий сайт.

Установка платформы

1. Выбираем подходящую для нас версию Open Server и скачиваем пакет тут: https://open-server.ru/download/ . Для моей работы достаточно пакета Basic (пакеты Premium и Ultimate, включающие полезные программы, можно найти тут: https://open-server.ru/#progs). Если вы внесёте пожертвование, скачивание займёт у вас 5 минут, если же бесплатно - более двух часов

2. Затем запускаем установку пакета двойным кликом. Файл дистрибутива (версия 5.2.5) выглядит так:

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

Компоненты сборки представлены в 32-битной и 64-битной версиях.

Запуск, настройка и применение Open Server

1. Чтобы запустить программную среду, кликните по нужной версии 64 или 86 (32-битная). В трее у вас появится красный флажок:

При нажатии на него открывается меню:

2. В этом меню выберите «Запустить», после чего активируются все компоненты и другие пункты меню:

В меню собрано всё необходимое для работы с платформой: список сайтов, ссылки на Консоль (собраны в «Дополнительно»), инструменты работы с базами данных, файлы конфигурации.

3. Пункт «Настройки» позволяет настроить платформу под ваши нужды. Самым интересным для меня является пункт Модули:

Как видите, тут можно выбрать конфигурации вашего сервера: Apache, Nginx, PHP, MySQL. Таким образом можно имитировать реальный сервер, на котором в дальнейшем будет жить ваш сайт и/или скрипт.

Чтобы начать работать с кодом , нужно:

  • создать домен в папке «OpenServer/domains», например, test.local;
  • прямо в корне этой папки создать файл с расширением.php;
  • перезапустить Open Server;
  • найти и открыть свой test.local в подменю «Мои сайты».

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

Кстати, по умолчанию в папке «OpenServer/domains» есть папка «Localhost» с файлом index.php , и если в браузере прописать https://localhost/ , вы увидите такую страницу:

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

  • развернуть чистый дистрибутив любой CMS;
  • написать свой скрипт и отладить его;
  • развернуть бэкап сайта, обновить на нём CMS до последней версии и/или поставить плагины и проверить, чтобы они не конфликтовали между собой;
  • примерить новый шаблон или написать свой - в общем, всё что душе угодно.

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

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

Есть вопросы? Пишите в комментариях под этой статьёй!

Из статьи вы узнаете: для чего нужен OpenServer, откуда его скачать и как его установить (я буду показывать на примере windows 10)

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

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

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

Первый способ платный (Минимальная сумма пожертвования 60 рублей) – этот способ обеспечит быструю загрузку.

Второй способ – бесплатный и соответственно очень медленный))

Закачается вот такой вот файл (на день написания статьи он выглядел так, сейчас может уже по-другому). Это архив с программой.


Двойной клик по файлу. Откроется окошко с предложением выбрать место, куда распаковать файлы из архива. Я выбрал диск D.

Жмем кнопку ОК. Начнется процесс разархивации.

Заходим в папку, которую выбрали на 3-ем шаге. Видим что появилась папка OpenServer. Входим в неё.

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

Два раза щелкаем по ярлычку Open Server x64.

Так как это первый запуск Опенсервера, то начнется процесс установки компонентов (MicrosoftVC++) для правильной работы программы.

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

Заново проходим четвертый шаг – то есть заходим в папку Опенсервера и запускаем программу.

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

Щелкаем мышкой по нему, и откроется меню программы. Нажимаем на зеленый флажок с надписью Запустить.

Ждем немного. Красный флажок сменится желтым, а после изменит цвет на зелёный. Сервер запущен.

Если опен сервер не запускается – появляется окошко с надписью «Сбой запуска!», то спускайтесь вниз статьи к описанию настроек open server.

Проверка работы OpenSever

Нажимаем на зеленый флажок. В открывшемся меню наводим стрелку на пункт Мои сайты. Появится подменю с единственным пунктом localhost. Нажимаем на него.

В браузере откроется страница с сообщением, что Опенсервер работает.

Ура! У нас получилось))

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

Теперь его нужно настроить.

Open server настройка

Нажимаем на флажок. → В открывшемся меню нажимаем на пункт Настройки.

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

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

Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на 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
  • локальный сервер
Добавить метки

Несколько дней назад меня очередной раз посетила Мысль. Мысль была не нова и довольна навязчива: «давай перейдем на 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.

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

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

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