Зеркалирование * конфигурации * Wordpress между локальным и удаленным

Хорошо, я знаком с созданием локальных сборок Wordpress и с удовольствием использую технику, описанную в Статья Smashing, посвященная MAMP. Мой вопрос выходит за рамки этого.

Эта статья отлично подходит для разработки общих тем, но при разработке сайтов (не обязательно блогов) на основе Wordpress, по крайней мере, для меня, это немного болезненно в день запуска.

Мне нужно вернуться и перенастроить Wordpress сервера, чтобы он соответствовал тому, что я уже сделал локально. Необходимо ввести настройки снова, плагины необходимо установить снова, меню воссоздать, а css нужно будет изменить, чтобы ссылаться на уникальные классы / Wordpress от id генерирует сообщения / страницы / настраиваемые таксономии… иногда в процессе что-то упускается. Я хочу знать следующее:

Есть ли простой способ автоматизировать клонирование или зеркалирование сборки на моем локальном компьютере на удаленный сервер?

Даже если вам нужно просто LMGTFY меня, это поможет. Я точно не знаю, что мне искать. Поисковые запросы, касающиеся «зеркалирования конфигурации wordpress» и «клонирования конфигурации wordpress», возвращают учебные пособия по перемещению контента, что я знаю, как это сделать.

Если это поможет, я запускаю OSX 10.6.8 с инструментами разработки xcode, git, ruby, node и homebrew. Все мои живые серверы имеют доступ по ssh, а также ftp, и я использую самые последние версии Wordpress.


person joshdcomp    schedule 05.12.2012    source источник


Ответы (3)


Вот несколько простых шагов:

  1. Загрузите и установите подключаемый модуль WP Migrate DB.
  2. Перейдите в Инструменты> WP Migrate DB и заполните пустые поля (New address (URL), New file path и, при необходимости, отметьте / снимите отметку с других параметров). Щелкните Export Database и сохраните файл экспорта на свой компьютер.
  3. Создайте .zip архив, содержащий ВСЕ ваши файлы (каталоги /wp-admin, /wp-content, /wp-includes и все файлы в корневом каталоге).
  4. Загрузите этот файл на свой производственный сервер, где вы хотите разместить свой сайт WordPress.
  5. Перейдите в свою cPanel (или используйте команду unzip через SSH) диспетчер файлов (или любую другую альтернативу, которая может быть у вас) и разархивируйте файл, который вы только что загрузили.
  6. Если у вас еще нет базы данных на рабочем сервере - создайте ее через панель управления хостингом (для cPanel это будет Создание базы данных mySQL в cPanel, для plesk это будет Учебное пособие по Plesk 7: создание базы данных, для чего-нибудь еще, просто зайдите в Google или попробуйте ответы на часто задаваемые вопросы о вашем хостинге). Запомните / запишите имя вашей базы данных, пользователя базы данных и пароль.
  7. Отредактируйте файл wp-config.php и измените значения для DB_NAME, DB_USER, DB_PASSWORD и, возможно, DB_HOST - но обычно это localhost - если это не работает, попробуйте спросить свой веб-хостинг или, если у вас есть phpMyAdmin, войдите в него и посмотрите в самом верху страницы - в этом случае DB_HOST будет localhost.
  8. После того, как вы все это сделаете, войдите в свой инструмент администрирования БД (в большинстве случаев это будет phpMyAdmin, но может быть и что-то еще) и загрузите файл экспорта базы данных, который вы сохраняете на свой компьютер на шаге 2. Примечание. Если ваш хостинг не предоставил вам инструмент администрирования БД, я бы посоветовал вам загрузить phpMiniAdmin (щелкните ссылку" Загрузить последнюю версию "и сохраните файл на свой компьютер) на рабочем сервере. Затем перейдите к этому сценарию (если ваш веб-сайт находится по адресу http://example.com/, перейдите по адресу http://example.com/phpminiadmin.php) и введите данные своей БД. Вверху этой страницы вы увидите ссылку import. Нажмите на нее и загрузите файл экспорта БД. Примечание 2: phpMiniAdmin не поддерживает gzip-compressed файлы, поэтому, если вы отметили параметр Compress file with gzip на шаге 2, вам придется повторить этот шаг, не выбрав этот параметр.
  9. Войдите на свой сайт и перейдите на Settings > Permalinks, чтобы обновить структуру постоянных ссылок.
  10. Проверьте разрешения для каталогов /wp-content/uploads и /wp-content/plugins - убедитесь, что вы сможете без проблем загружать изображения и плагины.

Это почти все. Это может показаться много, но я следую этому процессу почти для каждого сайта, который я загружаю на производственные серверы, и мне может потребоваться чуть меньше 10 минут, чтобы сделать все это (учитывая, что я обычно использую пользовательские команды MySQL, вместо плагина WP Migrate DB - наверное стоит начать его использовать :)). После того, как вы привыкнете к процессу и не столкнетесь с некачественными веб-хостингами, вам все должно быть в порядке с этими шагами.


Примечание. Поскольку вы использовали ssh в качестве одного из своих тегов, я предполагаю, что у вас обычно есть ssh-доступ к производственному серверу. Если вы этого не сделаете, я все еще предполагаю, что у вас есть доступ к cPanel (если это не так и вы не можете распаковать файлы на сервере, тогда загрузите все файлы вручную через FTP-клиент, вместо выполнения шагов 3 и 4).

person Community    schedule 05.12.2012
comment
После дня возни с Wordpress я понял, что на самом деле задаю неправильный вопрос. Я не понимал, что настройки / параметры были определены в базе данных. Ваш ответ отлично подходит для вопроса, который я технически задаю, поэтому примите голосование и получите принятый ответ. - person joshdcomp; 06.12.2012

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

Что я делаю, так это копирую соответствующие таблицы и вручную изменяю URL-адреса сайтов в параметрах таблицы. Их всего 2. Существует также хороший плагин velvet-blues-update-urls для изменения всех ссылок после того, как URL-адреса сайта установлены вручную, чтобы иметь возможность доступа к бэкэнду, в случае, если сообщения также копируются.

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

Оба процесса можно автоматизировать с помощью сценария PHP.

Я не уверен, что это то, что вам нужно, но надеюсь, что это поможет.

person Felipe Alameda A    schedule 05.12.2012
comment
На самом деле это не всегда просто две опции в {prefix}options - иногда вам нужно обновить ссылки в содержимом вашего сообщения, настраиваемые поля, параметры и т. Д. Также неплохо обновить поля guid для всех сообщений (поскольку у вас есть жесткий URL -кодировано там). Взгляните на мой ответ на этот вопрос - я » я описал команды, которые я использую, когда мне нужно перенести базу данных в новый домен :) - person Nikola Ivanov Nikolov; 05.12.2012
comment
Я имел в виду, что есть только две ссылки, которые нужно изменить, чтобы получить доступ к бэкэнду. Оттуда вы можете обновить остальные ссылки с помощью упомянутого мной плагина или любого подобного. Однако ваш ответ кажется довольно полным и хорошо объясненным. Это еще один вариант, который, без сомнения, может быть лучше. - person Felipe Alameda A; 05.12.2012

Не уверен, что это именно то, что вам нужно, но для перемещения сайта вы можете использовать встроенные в Wordpress параметры «экспорт» и «импорт». Насколько я помню, при импорте была возможность изменить URL-адреса, и импорт изменил бы некоторые вещи для вас.

Даже если это не отвечает на ваш точный вопрос, надеюсь, это поможет.

person Vincent P    schedule 05.12.2012