Обновить все серверное программное обеспечение и перейти на PHP 7.3
Основную сложность проекта составляло то, что кроме 1С-Битрикс на сайте активно используется еще четыре сторонних скрипта:
- Корпоративный блог, на базе WordPress;
- Пользовательская база знаний на движке MediaWiki;
- Большой форум на базе PHPBB;
- История версий на базе Project Management.
Скрипты используются уже много лет, пользователи привыкли к их функционалу, плюс за несколько лет, накоплен внушительный массив данных. По этой причине вариант переноса и программирования части функционала на базе 1С-Битрикс клиентом не рассматривался.
Решение задачи спланировали следующим образом
- Настроить временный хостинг с максимально похожим окружением, повторяющим клиентский сервер.
- Установить и настроить требуемое окружение, включая PHP 7.3
- Сделать копию существующего сайта на рабочем поддомене.
- Обновить все скрипты до актуальной версии и отладить их работу.
- Синхронизировать данные с рабочим сайтом.
- Переносим на боевой сервер и еще раз все проверить.
Подробней о трудностях, с которыми столкнулись в процессе реализации
Временный хостинг. Чтобы не тратить деньги и на покупку лицензий, в качестве транзитного хостинга мы воспользовались облачным сервисом компании Хеценер. Все развернули и подготовили буквально в течении пары часов. Особых трудностей и проблем с настройкой окружения также не возникло, все делается буквально парой кликов.
Сделали полную копию сайта на наш транзитный сервер и закрыли временный сайт от индексирования поисковыми системами — лишнии зеркала нам были не нужны. Далее переходим к самой сложной части работы.
Нам нужно было последовательно обновить версии скриптов до самой актуальной, желательно с поддержкой PHP Версии 7.1 и более поздних.
Самой простой задачей стало обновление 1С-Битрикс, сайт работает под управлением 1С-Битрикс, редакции версии Стандарт. Лицензия была не актуальной, мы приобреди необзодимый ключ и произвели обновление до самой последней доступной на екущий момент версии.
- 1С-Битрикс работал на PHP 5.6 и показывал 6 пунктов;
- После обновления и перехода на PHP 7.3 и установки акселератора показал 46 пунктов;
Далее решили заняться обновлением WordPress. Сложность состояла в том, что этот движок давно не обновлялся, при этом был сильно кастомизирован и использовал в работе большое количество плагинов. Часть из которых уже не поддерживаются и не обновляются разработчиками. К примеру, после обновления пропали иконки шаринга на детальной страницы записи. Затем обнаружили проблему зацикливания редиректов и еще целый ряд, не столь значительных проблем.
- Обновили WordPress с 4.6.1 до версии 5.2.2.
Следующим объектом наших работ, стал движок вики. Основная сложность возникла при обновлении базы, это получилось сделать только скриптом из консоли. После обновления скрипт работал исключительно на седьмой версии и выше. Поэтому увидеть результат и провести тестирование мы смогли только после завершения всех работ.
- WikiMedia обновили с версии 1.27.1 до 1.33.0
Форум также был значительно изменен и переработан, также в работе форма использовались различные плагины и расширения. У нас к примеру возникли серьезные трудности по восстановлению плагина «Thanks for posts».
- Форум PhpBB обновили с 3.1.10 до 3.2.7
И самой сложной задачей оказался перенос и обновление скрипта Project Management. Проблема в том, что его несколько лет назад перестали поддерживать разработчики, поэтому мы фактически переписали и обновили часть кода самостоятельно.
И того, на все работы по обновлению, тестированию и переносу мы потратили 48 часов. Примерно две с половиной недели рабочего времени.