Перенос bitrix вручную (с поддоменом мобильной версии или на другой домен)

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

Сразу оговорюсь, что переносил я на Бегет, а там уже в конфиге есть нужные настройки под Битрикс, поэтому с php.ini я не заморачивался. А так перед переносом стоит скачать файл http://dev.1c-bitrix.ru/download/scripts/bitrix_server_test.php чтоб проверить подойдет ли хостинг по этот движок.

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

Шаг 2 — копируем все файлы. Тут тоже можно сделать так как кому удобнее, и как умеент.

Однако в моем случае это был знатный квест
1. FTP от MC по каким то непонятным причинам постоянно дисконился (может опять пики нагрузки давал, хз).
2. Заархивировать нельзя — ибо процесс сразу terminated из за превышения нагрузки.
3. Попробовал слить на свой комп, а потом зализалить на новый хостинг, вроде всё удачно, но … все имена файлов в кириллице стали кракозябрами
4. В итоге меня спасло чудо под названием LFTP, которое к слову есть по дефолту на Бегете, все слилось без дисконов и битых имен.

Шаг 3 — Соединение с базой данных. Открываем файл /bitrix/php_interface/dbconn.php
и вносим данные от соединения с БД, пробуем открыть главную страницу … и можно опять получить ошибку, потому что в зависимости от версии движка соединение с БД еще может быть прописано тут
/bitrix/.settings.php вот в этой секции

'host' => 'localhost',
'database' => 'bitrixdb',
'login' => 'bitrixdbuser',
'password' => '6tGiNm6oGSez',

После того как я повторно прописал тут данные от БД — сайт заработал.

Шаг 4 — правка путей и имен доменов. Наверняка после предыдущего шага на всех страницах вылезла форма авторизации, это значит что путь к корневой папке веб-сервера неправильный. Заходим в админку, «Настройки»-> «Настройки продукта»-> «Сайты»-> «Список сайтов», выбираем нужный сайт, в его настройках корректируем «Путь к корневой папке веб-сервера для этого сайта» на правильный, или у меня можно было просто справа нажать кнопку «вставить текущий». В этом же разделе можно изменить новое доменное имя сайта, если сайт переезжает на другое имя. А также исправить ошибки — там вылезет такое предупреждение сверху.

На этом всё, сайт должен работать. Однако в моем случае, на шаге 4 рядом с основным сайтом обнаружился еще и поддомен мобильной версии (и это в век адаптивных шаблонов), который естественно не работал.

Шаг 5 — добавление (мобильного) поддомена. В моем случае мобильный поддомен был реализован как отдельный сайт рядом с основным, куда движок редиректил юзера, если он заходил с мобильника или планшета. На исходном хостинге папка поддомена была почему то вынесена за пределы public_html ( я вообще не понял эту магию), а все остальное разруливалось мутным образом через symlink. Не буду утомлять подробностями поиска решения, в итоге вышло так:

Я создал поддомен основного сайта, m.site.com и направил его на site.com, в настройках Битрикса у второго сайта прописал, что его домен это m.site.com, подозреваю, что это не совсем правильно, однако у меня оно заработало 🙂

2 thoughts on “Перенос bitrix вручную (с поддоменом мобильной версии или на другой домен)”

  1. Добрый! После переноса выдает ошибку —

    [Bitrix\Main\DB\SqlQueryException]
    Mysql query error: (1146) Table ‘yoursmar_bitrix.b_option’ doesn’t exist (400)
    SELECT o.SITE_ID, o.MODULE_ID, o.NAME, o.VALUE FROM b_option o
    /home/yoursmar/public_html/bitrix/modules/main/lib/db/mysqliconnection.php:137

    Подскажете, как поправить?

Добавить комментарий

Ваш e-mail не будет опубликован.