./ДатацентрНиже приведены проблемы, с которыми я столкнулся при переносе старого сайта на хостинг. Показаны методы решения проблем, — надеюсь кому-нибудь может оказаться эта информация полезной.

В качестве хостинга был выбран masterhost.ru, и в частности заинтересовавший меня аккаунт с поддержкой WordPress, на базе которого был построен предыдущий сайт http://bsrgin.ru/ Т.о. мне подошёл тарифный план Тестовый Аспирант’11 на базе которого я хотел проверить не только удобство использования и настройки WordPress, но и поддержку нескольких доменов. Тестовый режим включает в себя 14 бесплатных дней «обкатки» своего сайта, установленного на сервер ПО и проч. возможностей.

Первый шаг: регистрация в системе
Второй шаг: создание т.н. «площадки», к которой будут подключаться дополнительные услуги
Третий шаг: регистрация домена
Четвёртый шаг: установка ПО на зарегистрированный сайт

После создания площадки мне была предоставлена возможность подключиться к серверу по ssh, ftp протоколам, подключиться к панели управления сервера БД, просмотреть статистику площадки (использованные дисковые квоты).

После регистрации домена мне было предложено подождать около 40 мин. пока доменные имена не будут зарегистрированы (о время регистрации я вводил доменное имя bsrgin.ru, — в результате чего получил бесплатный сайт bsrgin.ru.mastertest.ru).

После установки ПО WordPress, которое устанавливалось в корень сервера я столкнулся с первой проблемой: неработоспособность CMS-системы с указанными настройками… дело в том, что при инсталляции WordPress в качестве его URL предлагался адрес доменного имени, т.е. bsrgin.ru, а не фактически действующий bsrgin.ru.mastertest.ru. Визуально проблема проявилась так, как если бы на сайте отсутствовали картинки и стили оформления. Поэтому пришлось сайт дорабатывать напильником… С помощью панели управления сервером БД выполняем следующие запросы:

UPDATE wp_options SET option_value = replace(option_value, ‘bsrgin.ru’, ‘bsrgin.ru.mastertest.ru’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;

Вуаля! WordPress заработал и можно теперь зайти в панель администрирования, — установить какое-нибудь понравившееся оформление…Однако впереди ещё одна непростая задача —  импорт данных ранее существовавшего блога, того, который работал на домашнем сервере, а потом был заброшен более чем на пол года. Ранее я уже публиковал статью по осуществлению импорта и экспорта данных, см. здесь. Тогда-же все публикации были сохранены с помощью утилиты экспорта статей из панели администрирования WordPress.

На поиск какого нибудь замечательного plugin-а, который позволил бы внести прежние данные в новую БД, я решил время не тратить. Вместо этого было решено с помощью INSERT-ов внедрить данные в БД. Поэтому из панели управления сервером БД были полностью очищены все таблицы, кроме wp_options, wp_users и wp_usermeta (в них находятся настройки блога и учётная запись администратора соответственно). Все остальные данные интереса не представляли.

Т.о. были последовательно внедрены данные таблиц:  wp_comments, wp_links, wp_postmeta, wp_posts, wp_term_relationships, wp_term_taxonomy, wp_terms, wp_users (в последней таблице не вставлялась запись администратора с id=1). В результате этих манипуляций появились статьи со старого сервера.

Правда были обнаружены ещё пара проблем: ранее картинки располагались в директории http://bsrgin.ru/wordpress/wp-uploads/, а теперь в директории http://bsrgin.ru.mastertest.ru/wp-content/uploads/, т.е. все картинки пропали… что же, действуем как было показано выше:

UPDATE wp_posts SET guid = replace(guid, ‘http://bsrgin.ru/wordpress/wp-uploads/’,’http://bsrgin.ru.mastertest.ru/wp-content/uploads/’);

 

UPDATE wp_posts SET post_content = replace(post_content, ‘http://bsrgin.ru/wordpress/wp-uploads/’,’http://bsrgin.ru.mastertest.ru/wp-content/uploads/’);

Во всех прочих случаях меняем http://bsrgin.ru/wordpress/ на http://bsrgin.ru.mastertest.ru/, поэтому выполняем пару следующих запросов:

UPDATE wp_posts SET guid = replace(guid, ‘http://bsrgin.ru/wordpress/’,’http://bsrgin.ru.mastertest.ru/’);

 

UPDATE wp_posts SET post_content = replace(post_content, ‘http://bsrgin.ru/wordpress/’,’http://bsrgin.ru.mastertest.ru/’);

Потом меняем http://bsrgin.ru/ на http://bsrgin.ru.mastertest.ru/:

UPDATE wp_options SET option_value = replace(option_value, ‘http://bsrgin.ru’,’http://bsrgin.ru.mastertest.ru‘);

UPDATE wp_posts SET guid = replace(guid, ‘http://bsrgin.ru’,’http://bsrgin.ru.mastertest.ru‘);

 

UPDATE wp_posts SET post_content = replace(post_content, ‘http://bsrgin.ru’,’http://bsrgin.ru.mastertest.ru‘);

UPDATE wp_posts SET pinged = replace(pinged, ‘http://bsrgin.ru’,’http://bsrgin.ru.mastertest.ru‘);

UPDATE wp_commentmeta SET meta_value = replace(meta_value, ‘http://bsrgin.ru’,’http://bsrgin.ru.mastertest.ru‘);

UPDATE wp_comments SET comment_author_url = replace(comment_author_url, ‘http://bsrgin.ru’,’http://bsrgin.ru.mastertest.ru‘);

После проверки — выясняется, что процедуру надо повторить для http://basargin.weba.ru/ и bsrgin.ru/ — адреса, которые наделал Windows Live Writer 2009, который я ранее расхваливал здесь (кстати, жизнь показала, что минималистических возможностей WYSIWYG редактора WordPress мне вполне достаточно для написания статей…).

Сайт заработал. Это уже вторая по счёту статья, которую я набираю на новом сервере… В первой я  проверил работоспособность flash… оказалось, что тоже работает.