Mister Gold
  • Home
  • Contacts
  • Categories
  • Tags
  • Archives

DesktopServer: your own WordPress sandbox

WordPress-Sandbox-by-Antonio

Здравствуйте, друзья.

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

Казалось бы, зачем изобретать заново велосипед и усложнять себе жизнь, когда есть Denver и иже с ним приблуды?! Согласен, были и у меня такие мысли. Тем не менее, есть одно НО! Denver хорош, только на начальном этапе, когда можно поднять "голую" версию той или иной CMS и в ознакомительных целях, методом научного тыка постигать ее. Когда же есть потом и кровью созданное детище, с кучей контента, плагинов и других extended features, все уже выглядит не столь очевидным.

Возникает два логических вопроса: как "слить" имеющуюся CMS и чем ее подымать локально? Разумеется, без ответов я их не оставлю. На деле все очень просто.

ВАЖНО! Операция создания образа online-блога потребует дополнительного места на Вашем хостинге (порядка 600 Мб, в зависимости от степени Вашей активности), поэтому, учитывайте этот факт в дальнейшем.

Из инструментария нам понадобятся:

  • Duplicator [Скачать Duplicator, 753 Кб];
  • DesktopServer [Скачать DesktopServer, 6.1 Мб].

Duplicator активируем, т.к. он понадобится сразу, а с DesktopServer разберемся чуть позже - я объясню, как с ним работать. Итак, готовы? Поехали.

Шаг А: заходим в настройки Duplicator. Его раздел появился под Settings'ами WordPress'a. В основном окне появится предупреждение о несовместимости пакетов из старых версий, но, оно нас не интересует. Переходим на вкладку Create New.

Первичная настройка package

Шаг Б: вкладка Create New переключает на 3-шаговый Wizard для создания образа. Однако, первый Fail (и, скорее всего, единственный) уже значится напротив Requirements. Раскрыв меню видно, что фэйлятся Permissions. Чтобы исправить данную ошибку, заходим в файл-менеджер на своем хостинге и папке public_html (корень блога - та папка, в которой находится сам WordPress) ставим права доступа 777.

Установка разрешений на корневую папку блога

ВАЖНО! Установка прав доступа 777 для любой папки - крайне рискованный шаг, т.к. он ставит под угрозу безопасность блога. Поэтому, после завершения процесса создания образа, необходимо вернуть корню старые пермиссии.

Да, рискованно, но, вряд ли за время создания пакета блог успеют взломать :-D После установки прав доступа, обновляем страницу Duplicator, на которой должно радостно загореться зеленое Pass напротив Permissions. Получилось? Отлично. Плагин дополнительно создаст свои служебные папки, которые в конце можно будет удалить. Здесь же в разделе Package можно указать краткое имя для пакета (рекомендую именно так и сделать), а также описание (например, если предполагается генерировать несколько копий). Остальные настройки пока не нужны. Когда все готово, кликаем внизу Next.

Шаг В: после нажатия Next, Duplicator некоторое время будет сканировать блог, после чего выдаст отчет о том, что Scan Complete и он готов к созданию образа.

Предварительная оценка работ перед билдом

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

Процесс создания образа блога занимает порядка 2-3 минут, финальный отчет укажет на то, что было создано два файла: installer.php и Archive.zip.

Билд завершен. Качаем оба файла

Сохраняем их в удобном месте. На этом работа Duplicator завершена и больше он не понадобится.

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

Шаг 1: Переносим папку xampplite в корень диска С:

Переносим папку из архива в корень диска С:

Шаг 2: Из папки xampplite запускаем DesktopServer.exe. Выбираем Create a new development website. Кликаем Next.

Создаем новый сайт

Шаг 3: Прописываем название для локального блога и выбираем папку на винчестере для его хранения. Кликаем Create.

Указываем имя сайта и его расположение на диске

Программа инициирует процесс создания конфигурационных файлов и где-то через минуту сообщит о завершении. Кликаем Next.

Процесс создания сайта завершен

ВАЖНО!

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

Причина - "недоступность" hosts для программы.

Решение - снять атрибуты "только чтение" и "скрытый" в свойствах файла.

Адрес Hosts: C:\Windows\System32\drivers\etc\

Далее будет сказано, что процесс установки WordPress необходимо завершить, пройдя по ссылке http://адрес-сайта.dev/wp-admin/install.php. Мы делать этого не будем по очевидным причинам. Пытливые умы, тем не менее, могут залезть в браузер по данной ссылке и удостовериться, что локальный сервер работает и ждет продолжения установки WordPress.

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

Открываем папку sandbox-блога, которую указывали на 3 шаге при настройке DesktopServer'a. В ней ищем файл wp-config.php и перемещаем его в любое другое место (например, где сохранены файлы Duplicator). Остальные файлы удаляем.

Wp-config сохраняем, остальное удаляем

Открываем папку, в которой были сохранены файлы Duplicator'a: installer.php и zip-архив самого блога и переносим их в папку sandbox-блога.

Переносим файлы Duplicator'a в "контейнер" сайта

В браузере прописываем адрес: http://адрес-сайта.dev/installer.php. Появится страница-установщик Duplicator'a.

Открываем блокнотом wp-config.php, который ранее перемещали в "безопасное" место. Заполняем поля установщика Duplicator'a данными из конфига. Должно получиться нечто вроде такого:

Используем данные из конфига

  • Host - localhost]
  • User - define('DB_USER', 'santaagaDBqke3z');
  • Password - define('DB_PASSWORD', '2aMAI7cOwi');
  • Name - define('DB_NAME', 'santaagaDBqke3z');

Имена юзера и базы данных совпадают, поэтому, 2-е и 4-е поля заполняются одинаковыми копипастами.

Когда все готово, можно нажать Test Connection, чтобы удостовериться, что Duplicator обладает нужными данными. Появится небольшое окно, в котором будет отображено два зеленых Success.

Test connection

Закрываем окно, выставляем галку под Warnings & Notices и жмем Run Deployment. На всплывающем Continue installation нажимаем Ok. Пойдет процесс развертывания локальной копии блога, который может занять до 5 минут.

Deployment in progress

На втором этапе (обновление ссылок) программа сообщит, что доменные имена сменятся на .dev.

Обновление онлайн-имен на локальные

Жмем Run Update. После небольшого ожидания, программа сообщит о завершении и выдаст финальный report с n-ным количеством warning'ов. Не обращаем внимания, закрываем вкладку.

Теперь можно прописать в адресной строке http://адрес-сайта.dev и обрадоваться тому, что теперь вся наша онлайн-версия блога ютится в одной папке на компьютере.

Simple Life [dev]. Локальная версия

Плюсы данного подхода очевидны:

  • Тестирование блога на предмет работоспособности нового кода не затрагивая онлайн-версию;
  • Проверка и отладка новых фич, плагинов, тем и др.;
  • Обновление в safe-режиме;
  • Возможность издеваться 24/7 над собственным блогом :)

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

P.S: В период тестирования DesktopServer'а я столкнулся лишь с одной проблемой, возникшей не так давно, когда при заходе как на http://localhost, так и по адресу sandbox-блога, я получал Page Not Found. В hosts не наблюдалось конфликтов, манипуляции с активным сайтом в DesktopServer не давали результатов. Когда мои варианты действий закончились, я обратился за помощью к Google.

Решение нашел на официальном форуме, буквально по первой же ссылке. Достаточно было выгрузить Skype из памяти и сделать рестарт Apache & MySQL Services.

DesktopServer представляет собой отличное средство для организации локального sandbox'a буквально в 2 клика. Duplicator оптимален для создания резервных аварийных копий блога,  поскольку конечный Package содержит как базу данных, так и все файлы самого блога. Такой тандем, при грамотном использовании, позволяет забыть проблему отсутствия backup'ов в критические моменты, а также случаи непроизвольной порчи конфигурационных файлов.

Я давно искал простой способ переноса блога на локальную "базу", дабы иметь возможность свободно ковырять код шаблона и плагинов. Найденное решение оказалось простым (проще, чем я думал), но, крайне эффективным. Все обновления, которые вносились в онлайн версию с декабря месяца (о чем я писал в группе), сначала были тщательно отработаны на dev-"стенде" и только потом отшлифованы на оригинале.

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

На данной, почти оптимистичной ноте, разрешите откланяться. До новых статей.

Ваш покорный слуга.

Читайте также: альтернативная песочница - NAS Xtreamer e-TRAYz, примеряем на себя Flat File CMS.

Like this post? Share on: Twitter ❄ Facebook ❄ Google+ ❄ Email

Интересна ли для вас была статья? Осталось ли что-то неясным? Напишите в комментариях ниже.

Comments
comments powered by Disqus

Другие статьи по теме

  • Автономность блога: быть или не быть?
  • Mad Mimi - Обезумевшая почтовая рассылка
  • Simple Life Blog v.2.0: New Design, Cozy Features
  • Flat File CMS: Теория и практика
  • Возрождение Феникса

  • « Апдейт Яндекс тИЦ: ничего не сделал, только зашел...
  • One:1 - Fastest, Craziest, Koenigsegg'est »

Published

Mar 1, 2014

Category

Blogging Tips&Tricks

Tags

  • blogging 61
  • DesktopServer 1
  • reviews 49
  • WordPress 13

Get Connected

Оставайтесь на связи

  • Mister Gold - Top-Notch Technical Writer.
  • Powered by Pelican. Theme Elegant.