Юрий Волошин: Приключения с переходом от виртуальной машины 4.х и 5.х на новую 7.х

Дата : 13 Июль, 2017
Опубликовал
1 Star2 Stars3 Stars4 Stars5 Stars (Проголосуй первым!)
Загрузка...
Теги : новости
st-04.jpg

1C-Bitrix выпускает окружение (виртуальную машину) для установки своих продуктов. Оптимизированное для работы с продуктами компании, несложное в установке. Продукт можно использовать как виртуальную машину, так и установить на чистый сервер с установленным CentOS.

Я как раз отношусь к типу клиентов, для которого компания выпускает данный продукт. Я не особо силен в настройке серверов, но в тоже время у меня есть проекты, которые живут на серверах, эти проекты на продуктах 1С-Битрикс, и я использую «виртуальное окружение».

У меня два сервера, один на окружение 4.х и один на окружение 5.х – переход я буду делать достаточно нетривиальный, я не буду обновлять или пытаться перейти на новую версию продукта, я поставлю все с нуля и перенесу для примера один проект.

Делать все будем по шагам, поехали…

Первый шаг: арендуем хостинг, ставим на него чистый CentOS 7.3 – не буду подробно описывать выбор хостинга (будет расценено как реклама), будем считать, что я арендовал недорогой выделенный сервер, установил на него чистый CentOS 7.3 и могу приступить к установки продукта 1С-Битрикс.

Второй шаг: На первом ролике мы установим нашу «виртуальную машину на чистый сервер»

В вашем браузере отключен JavaScript

Распишем кратко происходящее в ролике:

1. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера»

2. Устанавливаем сам скрипт, для этого выполним: «wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh && chmod +x bitrix-env.sh && ./bitrix-env.sh»

3. На первое сообщение ставим «Y»

4. Командой «reboot» перезагружаем сервер.

5. Повторно входим на сервер как пользователь «root»

6. Заново вводим команду: «wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh && chmod +x bitrix-env.sh && ./bitrix-env.sh»

7. Устанавливаем заодно «MC» (текстовая оболочка), ставим командой: «yum install mc»

8. Устанавливаем «unzip» (пригодится), ставим командой: «yum install unzip»

9. Ждем когда все обновится и заходим в «mc» проверить

Окружение установлено, начинаем несложные настройки.

Третий шаг: Первый вход, начальные настройки

В вашем браузере отключен JavaScript

Распишем кратко происходящее в ролике:

1. Перезагружаем сервер командой «reboot».

2. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера»

3. При входе вас попросят задать пароль для пользователя «bitrix», этим пользователем мы в основном и будем работать, переключаясь на пользователя «root» только когда требуются административные полномочия

4. Попадаем в меню машины. В первую очередь нужно создать «pool», не будем вдаваться что это такое, если требуется можно почитать документацию, нам важно его просто создать. Выбираем «1». Я согласился оставить название как мне предложили.

5. Возвращаемся в меню, оно стало полным, с машиной можно начинать работать.

6. Нам нужно в первую очередь создать все необходимое, для переноса сайта.

7. Заходим в пункт меню «6» — где мы и создадим наш сайт.

8. Выбираем пункт «1», запускается мастер создания сайта.

9. На первом шаге нужно указать домен вашего сайта, я переношу сайт http://sys-knowledge.com и указываю «sys-knowledge.com»

10. На втором шаге у вас спрашивают какой тип вы создаете. Подробно это расписано в документации. В нашем случае это самостоятельный сайт, со своим ядром, поэтому я выбираю «kernel»

11. Указываем кодировку вашего сайта, в моем случае это «UTF-8»

12. Соглашаемся с установкой заданий на крон, ставим «Y»

13. Я хочу расширенные настройки создания поэтому ставлю «Y» на этапе «Do you want to specify them?»

14. Директория хранения сайта меня устраивает, я жму просто «Ввод»

15. Задаю свое название базы данных, такое название было на предыдущем сервере, и чтобы не менять его в двух файлах далее, я его повторяю

16. Задаю своего пользователя, который будет иметь доступ к базе данных. Пользователь использовался ранее и я его оставляю.

17. Указываем пароль, два раза.

18. Запускается задание на выполнение, о чем нам сообщают, и буквально через 3-5 секунд можно смотреть, что у нас получилось.

19. Для этого я выхожу из скрипта и захожу в «MC»

20. Переходим в директорию: «/home/bitrix/ext_www/» и видим директорию нашего сайта «sys-knowledge.com».

Четвертый шаг: Мы подготовили на сервере все необходимое, теперь нам нужно запаковать наш сайт на старом сервере и выгрузить базу данных, перенести все это через «sftp» на наш новый сервер, загрузить базу и положить наш сайт в подготовленную директорию.

Опишем как мы будем это делать.

1. Заходим на старый сервер под пользователем «root».

2. Выгружаем базу данных нашего сайта в файл, для этого выполняем команду: «mysqldump -u имя_пользователя -p имя_базы > имя_базы.sql». Вы должны знать пользователя с доступом к этой базе данных, вы должны знать название базы данных.

3. Теперь нужно выйти из пользователя «root» и войти под пользователем «bitrix».

4. Заходим в директорию где располагается наш сайт, и архивируем все ее содержимое командой: «zip -r название_файла.zip ./».

5. Заходим на сервер по «sftp» с провами пользователя «bitrix» и забираем эти два файла, файл «zip» и файл с расширением «sql».

6. Загружаем их на новый сервер, под правами пользователя «bitrix»

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

Пятый шаг: еще немного и сайт будет работать. Импортируем базу данных, распаковываем сам сайт, вносим изменения для нового MySQL.

В вашем браузере отключен JavaScript

Распишем кратко происходящее в ролике:

1. Входим на сервер по «SSH» как «root» (администратор), командой «ssh root@домен_или_IP_вашего_сервера»

2. Командой «mysql -u пользователь_базы -p база_куда_грузим < файл_дампа.sql» импортируем нашу базу на сервер, вводим пароль от пользователя с правами на эту базу данных.

3. На экране я показал еще одну команду «SHOW DATABASES;» с помощью нее мы показываем список всех ваших баз, не забудьте войти в «MySQL»

4. База загружена, разрываем соединение командой «exit»

5. Входим на сервер по «SSH» как «bitrix», командой «ssh bitrix@домен_или_IP_вашего_сервера»

6. Копируем файл «zip» нашего упакованного сайта в директорию где будем ее распаковывать и где мы создали свой сайт, через мастер на «Третьем шаге»

7. Распаковываем наш архив командой «unzip *.zip»

8. Удаляем архив после распаковки.

9. Ура осталось совсем немного

Осталось сменить в вашем домене IP адрес вашего старого сервера на новый. Я управляю доменами на «pdd яндекса», и для меня это пара минут. Должно пройти немного времени, чтобы домен открывался, по новому IP адресу вашего нового сервера.

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

Шестой шаг: Изменения в двух файлах продукта, для работы с новым MySQL

Сайт не работает, но это не страшно, нам нужно изменить всего пару строк в двух файлах и все станет хорошо.

Первый файл:

Подключаемся к серверу как пользователь «bitrix»

«…/bitrix/php_interace/dbconn.php» в него нужно добавить строку «define(«BX_USE_MYSQLI», true);»

второй файл:

«…/bitrix/.settings.php» в нем нужно изменить строку: «className’ => ‘BitrixMainDBMysqlConnection» на «className’ => ‘BitrixMainDBMysqliConnection»

st-05.jpg

Пробуем запустить сайт, ура все работает! Наслаждаемся новым PHP и MySQL.

st-06.jpg

С удовольствием отвечу на ваши вопросы в комментариях, не стесняйтесь писать.

.
Подробнее…