Создайте тестовую систему wordpress как клон из продуктивной системы


Для нашего WordPress-сайта я хотел создать тестовый экземпляр - для тестирования WordPress-обновлений/обновлений плагинов и новых разработок по теме и так далее...

Поэтому я написал скрипт для копирования базы данных и файлов:

sourcedir="/srv/www/htdocs/www.example.de"
testdir="/srv/www/htdocs/test.example.de"
workdir="/data/example.de_test-system"
sqldumpfile="$workdir/mysql_dump_example_wp2017.sql"

echo "delete webroot test.example.de"
rm -rf $testdir
echo "www.example.de nach test.example.de kopieren"
cp -R $sourcedir $testdir
echo "cache-verzeichnisse leeren"
rm -rf $testdir/wp-content/cache/minify
rm -rf $testdir/wp-content/cache/db
rm -rf $testdir/wp-content/cache/object
rm -rf $testdir/wp-content/cache/page_enhanced
rm -rf $testdir/wp-content/cache/tmp
echo "alten dump loeschen"
rm -f $sqldumpfile
echo "aktuellen Dump aus DB ziehen"
mysqldump -u root --password=xxx example_wp_2017 > $sqldumpfile
echo "dump bearbeiten - www.example.de gegen test.example.de ersetzen"
sed -i s/www.example.de/test.example.de/g $sqldumpfile
echo "bearbeiteten dump in test-DB einspielen"
mysql -u root --password=xxx example_wp_2017_test < $sqldumpfile
echo "test-config einspielen"
cp /data/example.de_test-system/wp-config.php $testdir
echo "www-nutzer-rechte auf test.example.de setzen"
chown -R wwwrun $testdir
chgrp -R www $testdir

Скрипт скопирует папку WordPress, очистит папки кэша, создаст дамп базы данных и найдет/заменит записи производственной системы на тестовую систему и импортирует дамп в базу данных - наконец, скопируйте тестовую конфигурацию в тест папка

Это работает, но у меня есть некоторые странные ошибки - например, изображение логотипа, где вместо него отображается изображение-заполнитель

Отсутствует мета-навигация

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

Я что-то пропустил в своем сценарии?

Author: Bharat Mane, 2017-04-06

2 answers

В общем случае в тестовых средах лучше использовать то же доменное имя, что и на живом сайте. Поскольку не похоже, что вы следуете такому шаблону (и да, ему сложнее следовать), вам нужно убедиться, что вы правильно конвертируете все URL-адреса в БД, и то, как вы это делаете, приведет к сбою с любыми данными, которые сериализуются. Используйте wp-cli для изменения URL-адресов вместо того, чтобы заново изобретать собственное решение.

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

 1
Author: Mark Kaplun, 2017-04-06 07:44:14

Я нашел лучший плагин для клонирования для моего использования - WP Clone здесь: https://wordpress.org/plugins/wp-clone-by-wp-academy/

Довольно прост в использовании, просто установите на исходный и целевой сайты WP. Затем экспортируйте с исходного сайта и импортируйте в цель (войдите в цель). Все ваши настройки (включая пользователей) и контент, включая мультимедиа, будут находиться на целевом сайте; вам придется войти в систему, используя учетную запись, которая была в исходной системе.

Отличный плагин.

 0
Author: Rick Hellewell, 2017-04-06 17:32:51