Пошаговая миграция с Joomla 3.x на 4.x
From Joomla! Documentation
В этом руководстве предполагается, что у вас уже Joomla 3.10.x. Если вы используете более раннюю версию, убедитесь, что вы обновились до Joomla 3.10, прежде чем переходить на Joomla 4. There is no rush. Make sure all your extensions are ready for Joomla 4.x. Joomla 3.10.x will be supported until 16 August 2023.
Ниже приведены пошаговые инструкции по переносу вашего сайта 3.10.x на Joomla! 4.x. Хотя существуют сотни различных сценариев, это даст вам базовое понятие, которому нужно следовать. Скорее всего миграция может усложнится, если будут установлены сторонние расширения. Предлагаем вам связаться с разработчиками сторонних расширений, установленных на вашем сайте Joomla, чтобы узнать, как они могут перенести свои расширения.
Вступление
Переход с Joomla! 3.10.x на 4.x считается мини-миграцией. Это связано с тем, что Встроенные в Joomla! расширения будут обновляться «в один клик» через компонент обновления в административной части Joomla. Многие сторонние расширения также можно обновить в один клик. Некоторые нет. Вам нужно проверить каждое расширение что бы определить по какому пути будет происходить его переход с 3.10 на 4.x. Если вы еще этого не сделали, возможно, вам будет интересно перед выполнением следующих шагов прочитать Миграция шаг за шагом - Самооценка and Планирование миграции с 3.10 на 4.x.
Встроенные расширения Joomla!:
- Категории
- Материалы
- Меню
- Модули (основные модули - не сторонние)
- Баннеры
- Поля
- История контента
- Контакты
- Сообщения
- Ленты новостей
- Перенаправления
- Поиск (Убран в 4.x. В дальнейшем будет использоваться Умный поиск. См. Примечания в разделе «Оценка каждого расширения»)
- Умный поиск
- Теги
- Веб-ссылки (убран, но ваш сайт может их использовать, и он будет перенесен. См. Примечания в разделе «Оценка каждого расширения»)
Шаг за шагом
Настроить место разработки
- Прежде чем продолжить, убедитесь, что у вас установлена последняя версия Joomla 3.10.x.
- Сделайте резервную копию вашего действующего сайта 3.10.x. Вы можете использовать рекомендованный инструмент (см. «Предлагаемые инструменты» внизу страницы) или сделайте это вручную.
- Прежде чем продолжить, убедитесь, что ваша среда соответствует technical requirements for Joomla 4.
- Создайте новую базу данных и пользователя для восстановления вашего сайта 3.10.x.
- Создайте тестовый сайт или зону сборки для работы и восстановите резервную копию вашего сайта 3.10.x в одном из следующих мест:
- * Поддомен.
- * Подкаталог.
- * Локальное устройство. Joomla имеет подробное руководство по установке XAMPP в XAMPP. WAMP, MAMP, LAMP так же подходящие альтернативы.
- * Новая учетная запись хостинга на временном домене в корне. (Если вы хотите сменить хосты в процессе миграции.)
- ** Восстановление сайта на локальном устройстве. См. Установка Joomla локально и Настройка вашей рабочей станции для разработки Joomla.
- ** Восстановление сайта с помощью инструмента, указанного внизу страницы. (Прочтите документацию разработчика.)
- В вашем тестовом месте обновите Joomla! 3.10.x до последней версии.
- Убедитесь, что у вас установлена последняя схема базы данных, обновленная до последней версии 3.10.x, перейдя на вкладку Менеджер расширений(Extension Manager) → Базы данных(Database) Если ваша схема устарела, как показано на следующем изображении, нажмите кнопку «Исправить»:
- Пустая корзина: есть ли у вас материалы в корзине? Если да, удалите их (и любые соответствующие медиа файлы, которые могут быть связаны с ними, если они не используются где-либо еще на сайте). Оставленные в корзине материалы (категории и пункты меню) могут вызвать проблемы во время миграции.
- Тест.
- Сделайте резервную копию снова.
Оцените каждое расширение
В своем Планирование миграции с 3.10 на 4.x, вы определили, какие сторонние расширения останутся или будут использоваться и как они будут переноситься. В этой части «Шаг за шагом» вы будете широко использовать два разных раздела сайта; Проверка перед обновлением в Компоненты(Components) → Обновление Joomla!(Joomla! Update) и Менеджер расширений(Extensions) → Менеджер расширений(Manage) → Управление(Manage). Вы будете просматривать каждое расширение, установленное на вашем сайте и определять, нужно ли его обновить до последней версии или надо удалить.
- Using the Pre-Update Check: in order to use the Pre-Update Check, you will need to set the Joomla! Update component to Joomla 4. To do this follow:
- Go to Components → Joomla Update. (It should say no updates found. If it doesn’t, update Joomla to the latest version (must be 3.10.x) and test. Then do another backup.) Click on the Options button at the top right corner.
- Select Joomla Next from the drop-down for Update Channel.
- Click Save & Close
- You will then see your Installed Joomla Version, the latest Joomla! version and the URL for the update package. Joomla will show you the requirements again for Joomla 4. If it flags that you have either an incompatible system or extensions it will tell you here. Take a moment to review this page.
- Look at the Pre-Update Check and the Extension Pre-Update Check in the Pre-Update Check tab of the Joomla Update component. If any extension that isn’t in your planning is listed here, add it to your list of extensions to investigate.
- If you migrated from Joomla! 2.5 to 3.x in the past, there may be some leftover extensions that need to be cleaned up. The following are older 2.5 or 3.x extensions that need to be uninstalled before updating to Joomla 4:
- plg_content_geshi
- PKG_JOOMLA
- Bluestork Administrator Template
- Beez_20
- Beez5
- Atomic
- When it comes to templates, uninstall all core Frontend or Backend templates except Protostar and Beez3 (site templates) and Isis or Hathor (Administrator templates). Note Protostar is not compatible with Joomla 4. Upon migration it will disappear. You'll need to have one template selected as "default" and you can use Protostar or Beez3. Protostar will disappear upon migration to Joomla 4.x.
- If you come across other files that need to be uninstalled, please add them to this page. This is a wiki so anyone can add to the page. Thank you in advance for your service.
- You will notice the tags for whether an extension is compatible or not. These tags generally tell a true story if they say No or Yes. If they say “Missing Compatibility Tag” it means that the extension developer didn’t use a tag in their extension so we don’t know if it is or isn’t compatible with Joomla 4. Talk to the developer to verify.
- Update Extensions: update any extensions that you will keep in your website. In Joomla! 3.10.x you can go to Extension Manager → Update tab and click Find Updates that will add a tooltip in the Version column, under the Manage tab, giving some compatibility information from the Backend. This functionality only supports extensions that update via the Extension Manager Update tab. If you have extensions installed that do not use the Joomla extension update they need to be assessed manually as detailed below. The same goes for those extensions that have a tooltip. You will still need to check the type of package and migration path with the extension developer to verify how to upgrade/migrate.
- Investigate and Uninstall Extensions Extensions: go to Extension Manager → Manage
- Click the Button Search Tools to show the filter options
- Select Package from the Select Type drop-down.Selecting Package first is recommended because if there is something you need to uninstall in a package, it will automatically uninstall the associated Modules, Plugins, or anything else in the package at one time.
- Uninstall any Packages that are no longer needed or will not be migrating to Joomla 4.
- Repeat this process of going through the Manage tab for all Types in the drop-down: Component, File, Language, Library, Module, Plugin and Template. If the Author states Joomla! Project, then leave those extensions alone. For all others, make sure that you uninstall those not in use or not compatible with Joomla! 4.x.NOTE! You will not be able to uninstall any template that is set as default. Select a Core supported template such as Beez3 or Protostar and then uninstall the template if you need to do so.
Another reminder: Protostar is not compatible with Joomla 4.x. Upon migration it will disappear. Selecting it as default simply gets you to Joomla 4.x. - Make a note of any versions of Packages and Components currently running that you will be keeping on your site. You can copy/paste them into a document for reference.
- For any extensions you are keeping but don't use the Extension Manager to one-click update (Extensions → Manage → Update) update all extensions to the latest versions.
- Before and as you update, note if the extensions have both 3.10.x & 4.x versions in the same package. If so, they will be fine to "one-click update." If not, and 3.10 and 4.x have different packages, look at them case by case. They will normally fall into one of the following scenarios:
- The extension has separate packages but upon upgrading to 4.x, they automatically detect this and still work. Make sure the developer confirms this.
- The extension has separate packages that need to be uninstalled in 3.10.x and then installed with the Joomla 4.x version once the site is migrated. An example of this might be a content plugin. It is simple to uninstall it in 3.10.x and then install it again in 4.x.
- See Template Considerations for more specific information on templates and Converting a previous Joomla! Version template
Notes on Search (com_search)
Search (com_search) will be decoupled in Joomla 4.x. Search (com_search) will migrate to Joomla 4. After migration, you'll need to update it to the Joomla 4.x version via com_installer. It will continue to be maintained, but more the same way a third-party extension is by receiving updates via com_installer. It is recommended to use Smart Search (com_finder) going forward. Search will still be available at https://extensions.joomla.org/category/official-extensions/.
Notes on Weblinks
Weblinks was decoupled back in Joomla 3.4. If it was in use on a 2.5 site, the migration process would note this and migrate the Weblinks component and data. For the migration from 3.10.x to 4.x, it will be the same. It is still available and maintained on the JED at Official Extensions.
Notes on Legacy Routing
Legacy routing will not be available in Joomla 4.x. Only Modern will be available. When you do the migration, if you are using Legacy routing, the system will automatically change them to Modern routing. You will want to run a broken link checker on your site after migrating to Joomla 4.x and before you go live.
Going to Joomla! 4.x
Once you have either updated or uninstalled your third-party extensions so that only those compatible with Joomla! 4 remain in your installation, continue with the following steps:
- Go to System → Global Configuration → Server tab and turn Error Reporting from System Default to Maximum. Make sure to Save & Close.
- Take another backup.
- Go to Components → Joomla Update. (It should say no updates found. If it doesn’t, update Joomla to the latest version and test. Then do another backup.) Click on the Options button at the top right corner.
- Select Joomla Next from the drop-down for Update Channel.
- Click Save & Close.
- You will then see your Installed Joomla Version, the Latest Joomla! version and the URL for the update package. Joomla will show you the requirements again for Joomla 4. If it flags that you have either an incompatible system or extensions it will tell you here. Take a moment to review this page.
- If the update is not showing up, go to Extensions → Update and select Clear Cache from the toolbar. Now the update to Joomla! 4 should show up.
- Cross your fingers, and make sure you have that backup available in case.
- Click the Install the Update button.
- Make tea whilst the status bar loads to fully green. The amount of time this takes is dependent on your site, internet connection and server speed. The process can take several minutes. There are over 12,000 files comprising 75 megabytes to be extracted. When the update is finished, you might be logged out of the Administrator. Sign in again, if necessary
- If all goes well, you will get to a totally new look to the Backend panel.
- Go to System → Maintenance → Database and click Fix if any errors show.
- In System → Install → Discover see if there are any extensions to install. (There shouldn't be any!)
- Go to the Frontend of your site and see if it shows up even if it’s not the right template. If so, continue. If not, see common errors during migration.
- Take a backup.
- Install your new template or other extensions if you have them to install. Back up often.
- Configure them. Back up often.
- Run a broken link checker and fix any broken links.
- Test everything. Back up often.
- If everything works as expected, turn Error Reporting back to System Default (System → Global Configuration → Server tab). Make sure to Save & Close.
- Be sure to read the post-installation messages.
Going Live with Your Joomla! 4.x Site
- When you’re ready to go live, back up your 3.10 site for the last time. Restore it in a subdirectory or subdomain if you would like to.
- Back up your Joomla! 4.x site and move or restore your Joomla! 4.x site to the root (or change nameservers if you were building on a temporary domain at a new hosting account root).
- Test again.
- If you have made security changes to .htaccess file in the past, you may need to change a line (or lines) in it to update to Joomla 4. Please go to Htaccess changes after joomla4.0.4 to determine if you need to change your file.
- Remove the Joomla! 3.10 site from the server within a couple of days unless you have edited your robots.txt file to block the search engine spiders and disabled the Frontend of the site.
- Remove all development sites you have been working with or keep them up-to-date if they are running a current version in order to ward off hack attempts on your server.
If you had data change on the 3.10 site while you were migrating to 4.x, you will want to get that data moved over to the 4.x site before going live. You can do this manually (make sure you keep the same user IDs - go in order) or by using a third party extension.
Suggested Tools
- Akeeba Backup is popular for backup and restore. See more backup tools.