Хостинг windows и Linux: миграция

Недавно я писал, что начинаю миграцию собственных веб-сайтов с хостинга Windows на nix. Может быть я не буду переводить их все, однако один точно бы хотелось перевести, что я уже почти полностью сделал и сегодня расскажу вам как все происходило.

onderhoud Хостинг windows и Linux: миграция

Как перейти на хостинг Windows

Первые шаги

Самое первое, что стоит сделать когда меняешь хостинг, это сохранить все текущие URL. У интернет-ресурса уже была достаточная ссылочная масса и надо было сохранить ссылки для того, чтобы они были корректными.

Наверно это наиболее простая проблема для PHP, так как код PHP можно писать практически в любых файлах. Просто надо указать серверу Apache, что данные файлы необходимо выполнять как исполняемые. Лично в моем случае я писал код в aspx файлах, а в .htaccess файл я просто добавил такую вот строку:

1 Хостинг windows и Linux: миграция

Дальше надо было в редакторе кода добавить файлы aspx таким образом, чтобы во время работы с ним применялась подсветка синтаксиса PHP. Для работы с кодом я сейчас применяю NetBeans. Там в настройках такая проблема решается вполне просто.

Сохранив все файлы я просто скопировал структуру БД из SQL Server в СУБД MySql. Да, можно было написать специальный скрипит, который бы сформировал SQL для формирования всех таблиц за меня, однако я решил сделать данную миграцию вручную.

В принципе, общая структура БД у меня была нормальная. Использовалось только семь таблиц, я лишь хотел переименовать несколько полей, убрать не используемые, а также добавить парочку новых. Ручная миграция здесь не заняла у меня много времени.

vds vps Хостинг windows и Linux: миграция

Дальнейшие действия

Следующее, что необходимо было скопировать — это данные базы. Для того, чтобы перенести все данные при ограниченном доступе к БД и возможностям по применению утилит, я решил написать все запросом. На SQL я написал приблизительно следующие запросы:

2 Хостинг windows и Linux: миграция

Результатом этого запроса станет готовый к применению SQL, который легко можно стравить СУБД MySQL и он вставит всю информацию. Как видите, написать подобный код совсем не сложно. Им можно будет воспользоваться в наиболее ограниченных ситуациях.

Возможная проблема — поле в SQL базе вполне может содержать одинарные кавычки, тогда это может легко поломать запрос. Эта проблема решается при помощи replace, правда это может выглядеть довольно ужасно. Я решил сделать несколько по другому в тех случаях, когда необходимо было исправлять кавычки:

3 Хостинг windows и Linux: миграция

Данный запрос возвращает СУБД SQL в форме нескольких колонок, а не одной. Далее помещаете запрос в MS Excel и там поиском с заменой фиксите все апострофы в той колонке, в которой надо.

В принципе, вот так без дополнительных программ и с небольшими усилиями можно легко сконвертировать БД MS Sql Server в СУБД MySQL. Дешево и отлично работает. Я бы даже сказал — совершенно бесплатно и работает.

Не знаю, есть ли какие-то готовые утилиты, позволяющие конвертировать базу SQL Server в СУБД MySQL. Уверен, что-нибудь существует. Я просто не хотел что-то искать ради подобного одноразового труда. Я же не планирую конвертировать БД каждый день. А этот очень простой способ позволит конвертировать фактически любую БД.

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

Теперь вы знаете как происходит миграция на украинский хостинг Windows.


Поделитесь с друзьями



Оставить комментарий