Зараз ми з вами на реальному прикладі розглянемо процес оновлення CMS Joomla з третьої версії до останньої на сьогоднішній день — 4-ої версії. Але перш ніж приступати до опису міграції, я хочу наголосити на одному дуже важливому нюансі: щоб не втратити свій сайт, всі дії потрібно робити або на локальному сервері, або на тестовому домені, чи піддоміні. І лише потім, у разі успішної міграції, можна переносити сайт на основний домен.
Взагалі, перехід з Joomla 3.10.x на 4.x вважається міні-міграцією чи незначною міграцією. Це означає, що базові розширення Joomla будуть оновлюватися за допомогою «оновлення в один клік», але сторонні розширення спірні і повинні застосовуватись у кожному конкретному випадку.
Тут важливо підкреслити, що оновити CMS Joomla до 4-ї версії можна тільки якщо поточна версія вашої системи керування вмістом 3.10, або пізніша. Якщо ж у вас рання версія CMS, наприклад Joomla 3.9, то спочатку потрібно оновитися до версії 3.10 і тільки потім мігрувати на 4-у.
Які дії потрібно зробити до оновлення з Joomla 3 на Joomla 4
- Переконайтеся, що ваш сайт працює під керуванням CMS Joomla 3.10.x.
- Переконайтеся, що ваш сервер відповідає мінімальним технічним вимогам Joomla 4. Якщо не відповідає, то вам потрібно буде змінити хости.
Системні вимоги для Joomla! 4.x
Програмне забезпечення Рекомендовані вимоги Мінімальні вимоги PHP 8.0 7.2.5 Підтримувані бази даних MySQL 5.6 + 5.6 Підтримувані веб-сервери Apache 2.4 + 2.4 Nginx 1.18 + 1.10 Microsoft IIS 10 + 8 - Виберіть середовище розробки (як і де ви будете робити оновлення). Можливі три варіанти:
- Перший варіант — оновлення буде здійснюватись на локальному пристрої. На мою думку, це найоптимальніший варіант. Вам не потрібно платити ні за хостинг, ні за домен. Спочатку ви переносите базу даних та всі файли свого сайту з хостингу на локальний сервер, після цього оновлюєте версію CMS, і потім завантажуєте назад на хостинг вже оновлений сайт та його базу даних.
- Другий варіант — створити піддомен, перенести туди ваш поточний сайт і зробити оновлення. Це також нормальний варіант за умови, що ваш тарифний план на хостингу дозволяє створювати більше однієї бази даних. Адже для перенесення сайту на піддомен вам потрібно буде створювати і окрему базу даних під новий сайт. І на цьому етапі потрібно бути дуже уважним та правильно внести зміни до файлу конфігурації нового сайту — configuration.php. Тому що, якщо ви залишите цей файл без змін (наприклад, забудете), або неправильно щось запишите (наприклад, не зміните ім'я бази даних), то є ризик того, що при міграції буде змінено базу даних основного сайту. Ось чому я рекомендую робити оновлення на локальному веб-сервері.
- Третій варіант — створити новий обліковий запис на хостингу. Наприклад, через технічні характеристики ваш сайт не може бути розміщений на тому чи іншому сервері.
- Складіть список усіх сторонніх розширень, що використовуються. Сюди входять компоненти, модулі, плагіни, мови та шаблони. Подивіться, які розширення вам потрібні, а які ні. Видаліть непотрібні розширення та увімкніть розширення, які ви вирішили залишити.
- Визначте, чи готові сторонні розширення, які ви маєте, для версії Joomla, на яку ви переходите. Зробити це можна, вибравши опцію Joomla Next (після запуску Joomla 3.10.x) в налаштуваннях компонента «Оновлення Joomla» (Компоненти → Оновлення Joomla → Сервер оновлень вибираємо Joomla! Next і тиснемо Зберегти або Зберегти та закрити). Саме оновлення не запускайте. Просто подивіться чи сумісні ваші розширення з Joomla 4. Так ви зрозумієте, які розширення доведеться видалити, або замінити, а які можна буде залишити. Що нам покаже програма перевірки перед оновленням до Joomla 4:
- Верхня частина перевірки перед оновленням показує, чи сумісне ваше поточне серверне середовище з цільовою версією Joomla як для необхідних налаштувань PHP, так і для налаштувань бази даних. Тут дуже важливо перевірити, чи не відображається щось червоним кольором. Якщо так, то значить цей параметр несумісний з Joomla 4.x і вам потрібно поговорити зі своїм хостинг-провайдером, або змінити хост перед переходом на Joomla 4.x.
- Далі йде "Перевірка розширень перед оновленням". У червоному блоці перераховані розширення, які поки не підтримують систему оновлень Joomla або, принаймні, не мають тега targetplatform, який вказує на підтримку обраної цільової версії Joomla. Вам потрібно звернутися до розробника перерахованих тут розширень, щоб переконатися, що вони сумісні з Joomla 4.x. У помаранчевому блоці перераховані розширення, які вимагають оновлення для правильної роботи Joomla 4.x. Рекомендується зв'язатися з розробником перелічених розширень, щоб дізнатися, чи потрібно вам оновлювати компонент до або після оновлення CMS.
- Визначте, чи дійсно вам потрібні всі розширення, які ви використовуєте. Адже може бути таке, що в Joomla 4 з'явилися вбудовані функції, які можуть виключити використання певних сторонніх розширень.
- Погляньте на свої категорії та статті. Подумайте, може потрібно виконати очищення, щоб не перенести при міграції непотрібний контент?
- Перевірте свій шаблон. Якщо ви придбали шаблон зі стороннього джерела, то дізнайтеся, чи випущена для нього версія підходяща для Joomla 4.x? Чи є спосіб оновлення, опублікований розробником? Будьте уважні! Основний шаблон для Joomla 3.x, Protostar НЕ сумісний з Joomla 4. Після міграції він зникне.
- Якщо ви плануєте міняти шаблон сайту на новий, то подумайте, чи потрібні для цього нові зображення? Наприклад, якщо ваш поточний сайт має білий фон, а ваш логотип або інші зображення являють собою зображення .jpg з білим фоном, то вони будуть також добре виглядати на новому шаблоні (якщо новий шаблон має іншу колірну гаму).
- Обов'язково подумайте, якщо ви зміните дизайн, або внесете зміни до навігації свого сайту, чи з'являться у вас якісь сторінки, для яких буде потрібно перенаправлення? Якщо так, задокументуйте їх.
- Кошик має бути порожнім. Тому, якщо на вашому сайті в кошику є якісь матеріали, їх потрібно видалити (і будь-які відповідні медіа файли, які можуть бути пов'язані з цими матеріалами, якщо вони не використовуються де-небудь ще на сайті). Залишені в кошику матеріали (категорії та пункти меню) можуть викликати проблеми під час міграції. Щоб видалити матеріали з кошика, виконуємо такі дії: Матеріали → Матеріали → Інструменти пошуку → Вибір стану (В кошику). Так вибираємо всі матеріали у кошику та видаляємо їх. Аналогічну операцію проводитом і для пунктів меню та категорій.
- Якщо ви в минулому перейшли з Joomla 2.5 на 3.x, то можуть бути деякі розширення, які необхідно очистити. Нижче наведено застарілі розширення 2.5 або 3.x, які потрібно видалити перед оновленням до Joomla 4:
- plg_content_geshi
- Bluestork Administrator Template
- Beez_20
- Beez5
- Atomic
Перехід з Joomla 3 на Joomla 4 крок за кроком
- Створіть нову базу даних для сайту, який ви оновлюватимете, та імпортуйте туди всі таблиці з бази данних вашого сайту.
- Скопіюйте всі файли старого сайту на новий.
- Підключіть у файлі configuration.php базу даних, яку ви створили раніше.
- Увійдіть до адміністративної панелі сайту, який ви хочете оновити.
- Переконайтеся, що на сайті встановлена остання версія CMS Joomla 3.10.x.
- Переконайтеся, що всі встановлені розширення сумісні з Joomla 4.x. Бажано, щоб перевірка перед оновленням до Joomla 4 не висвічувала взагалі жодних помилок та зауважень.
- Перейдіть до Система → Загальні налаштування → вкладка Сервер та встановіть Повідомлення про помилки значення Максимальний. Не забудьте зберегти та закрити.
- Перейдіть в Компоненти → Оновлення Joomla.
- Тут ви побачите встановлену версію Joomla, останню версію Joomla! та URL-адресу пакета оновлень. CMS знову покаже вам вимоги Joomla 4. Якщо виявиться, що у вас несумісна система або розширення, то тут ви побачите відповідне повідомлення. Якщо оновлення не відображається, перейдіть до Диспетчер розширень (Розширення) → Керування та натисніть Оновити кеш на панелі інструментів. Тепер оновлення Joomla! 4 має з'явитися.
- Про всяк випадок можна зробити ще одну резервну копію файлів сайту та бази даних, щоб не повторювати виконані підготовчі етапи у разі невдалого оновлення CMS.
- Натисніть кнопку Встановити оновлення.
- Чекайте, доки рядок стану заповниться повністю зеленим. Час, який потрібно буде чекати залежить від вашого сайту, інтернет-з'єднання і швидкості сервера. Як правило, процес займає близько двох хвилин. Коли оновлення буде завершено, ви, ймовірно, вийдете із системи адміністратора. Увійдіть знову.
- Якщо все пройде добре, ви отримаєте новий вигляд панелі адміністратора сайту.
Що потрібно зробити після переходу з Joomla 3 на Joomla 4
- Перейдіть в Розширення → Розширення → Перевірка бази даних і натисніть Виправити, якщо з'являться будь-які помилки.
- Перейдіть до Розширення → Розширення → Оновлення і перегляньте, чи є якісь розширення для встановлення. (Тут нічого не повинно бути!)
- Перейдіть до зовнішнього інтерфейсу свого сайту і подивіться, чи він відображається, навіть якщо це не той шаблон. Якщо так, продовжуйте. Якщо ні, перегляньте поширені помилки під час міграції https://docs.joomla.org/Joomla_3.10_to_4.x_Common_Migration_Errors
- Встановіть та налаштуйте новий шаблон сайту, якщо це потрібно. Або використовуйте стандартний основний шаблон Joomla 4.
- Запустіть програму перевірки непрацюючих посилань та виправте всі биті посилання.
- Протестуйте сайт.
- Якщо все працює, як потрібно, поверніть для звіту про помилки значення за промовчанням для системи («Система» → «Загальні налаштування» → вкладка «Сервер»). Не забудьте зберегти та закрити.
- Перенесіть оновлений сайт на хостинг.
- Видаліть усі сайти розробки, з якими ви працювали, або підтримуйте їх у актуальному стані, якщо на них встановлена поточна версія, щоб запобігти спробам злому вашого сервера. Я рекомендую зберегти на комп'ютер і старий сайт з CMS Joomla 3 (на випадок, якщо все-таки ви помітите, що міграція пройшла не зовсім гладко), і новий вже перевірений з CMS Joomla 4.
Що важливо знати переходячи з Joomla 3 на Joomla 4
Примітки до пошуку (com_search)
Пошук (com_search) буде вимкнено в Joomla 4.x. Незважаючи на це Пошук (com_search) перейде на Joomla 4. Тому після міграції вам потрібно буде оновити його до версії Joomla 4.x через com_installer. Цей пошук буде підтримуватися, але так само, як стороннє розширення, отримуючи оновлення через com_installer. Надалі рекомендується використовувати інтелектуальний пошук (com_finder).
Примітки до веб-посилань
Веб-посилання були відокремлені ще в Joomla 3.4. Якщо цей компонент використовувався на сайті версії 2.5, процес міграції помітить це та перенесе його й дані веб-посилань. При переході з 3.10.x на 4.x все буде так само. Він, як і раніше, доступний і підтримується в JED на офіційних розширеннях.
Примітки щодо застарілої маршрутизації
Застаріла маршрутизація не буде доступна у Joomla 4.x. Буде доступний лише модерн. При виконанні міграції, якщо ви використовуєте застарілу маршрутизацію, система автоматично змінить посилання на сучасну маршрутизацію. Потрібно запустити перевірку битих посилань на своєму сайті після переходу на Joomla 4.x.