Люди часто спрашивают, как перенести установленную система управления контентом mojoPortal с их локального компьютера на сервер производства или хостинг-провайдера. Эта статья предназначена для решения этого вопроса и предлагает советы, которые помогут упростить процесс. Те же действия необходимы и при переходе с одного сервера или хостинга к другому.

Не усложняйте себе жизнь одновременным обновлением и переносом CMS на другой сервер. Сначала перенесите и проверьте корректность работы, а уже потом обновляйте до нужной версии. Или же обновите на старой машине и, только после того как убедитесь, что всё в порядке, переносите.

Структура URL должна быть одинаковой в обеих системах

Если Вы решили наполнить сайт контентом на одном компьютере, а затем перенести его со всем содержанием на другой сервер, то очень важным является совпадение структур URL. Распространённой ошибкой является создание сайта на локальном компьютере в виртуальном разделе (вроде "http://localhost/mojoportal/"), наполнение содержанием, перемещение на сервер и задание пути к сайту (допустим "http://www.somedomain.com"). Изображения, загруженные на сайт, имеют относительную адресацию, чтобы, при смене домена сайта, содержимое отображалось корректно. Не всем понятно ,что относительность ссылок привязана к пути сайта а не к виртуальной директории. Т.е. если Вы наполняете сайт информацией, используя URL "http://localhost/mojoportal", и добавите изображения, то ссылка на изображение будет иметь вид "/mojoportal/somefolder/someimage.png" потому что виртуальная папка "mojoportal" - часть относительного адреса сайта. После того, как Вы переместите сайт на хостинг, ссылка на изображение будет битая, потому что, всё так же, будет иметь в своём составе "/mojoportal". Если же сайт будет запущен в виртуальном разделе с тем же именем, то всё будет работать корректно. Как пример: если Вы установили сайт в "http://www.somedomain.com/mojoportal", то сайт будет иметь соответствующую структуру ссылок и, соответственно, работать. Наиболее же частый сценарий - установка сайта в корневой папке, поэтому, если Вы всё же захотели наполнять ресурс на локальном компьютере, то следует запустить его в корневой директории "http://localhost". Если данная ошибка уже совершена и внесено значительное количество информации с изображениями, то работы по её устранению будет достаточно много, потому что Вам вручную придётся изменить все адреса изображений, удаляя из них "/mojoportal".

Шаги по переносу сайта

  1. Создайте резервную копию базы данных на локальном компьютере, а затем восстановите её на новом сервере. Распространённая ошибка новичков - только импорт таблиц из одной базы данных в другую. Это не работает и Вы потеряете все первичные и внешние ключи, а также индексы, что приведёт к невозможности функционирования базы. Вам следует произвести восстановление базы, используя инструменты предлагаемые либо самой платформой базы данных (например "SQL Management Studio"), либо Вашим провайдером хостинга. Если, по каким-то причинам, нет возможности восстановить из резервной копии, то Вы можете воспользоваться этим инструментом. Этот скрипт сохраняет все данные, а после запуска на новом сервере, восстанавливает все объекты и данные.
  2. Скопируйте все содержимое (файлы и папки) из корневого раздела источника в корневую папку нового сайта. В идеале, создайте архив всех корневой папки и распакуйте его на новом сервере.
  3. На новом сервере удалите все временные файлы, созданные на старой машине. В частности, удалите все файлы из папок "/Data/systemfiles" и "/Data/Sites/[SiteID]/systemfiles"
  4. Восстановите правильный доступ к папкам так, чтобы папки "/Data" и "/App_Data" были доступны для записи, а все остальные - только для чтения.
  5. Для связи с базой данных, внесите изменения в файл "Web.config" или ,что лучше, в "user.config".

Для выполнения всех этих шагов необходима корректная версия ASP.NET. Обратите внимание, что если вы измените строку подключения в "user.config", то не нужно вносить изменения в "Web.config" так как это приведёт к сбросу настроек. Если получите ошибку безопасности, то скорее всего, следует изменить конфигурацию на средний уровень доверия или у Вас не корректные настройки доступа к файлам. Для получения дополнительной информации, смотрите "Стандартные ошибки" и если, после всех этих инструкций, у Вас всё ещё проблемы - пишите на форуме.

Оригинал на английском

Вверх