Перейти к содержимому

Миграция с XOOPS 2.5

Полное руководство по обновлению вашего сайта XOOPS 2.5 на XOOPS 2.7.

Убедитесь, что ваш сервер соответствует требованиям XOOPS 2.7:

PHP: 8.0+ (XOOPS 2.5 требует 5.6+)
MySQL: 5.7+ или MariaDB 10.4+
Apache/Nginx: Все версии
Disk Space: минимум 500MB свободного места

КРИТИЧЕСКИ: Создайте полную резервную копию перед миграцией!

Окно терминала
# Полная резервная копия БД
mysqldump -u xoops_user -p xoops_db > xoops_2.5_backup.sql
# Резервная копия файлов
tar -czf xoops_2.5_files.tar.gz /var/www/html/xoops/
# Проверить резервные копии
ls -lh xoops_2.5_backup.sql xoops_2.5_files.tar.gz

Некоторые модули XOOPS 2.5 несовместимы с 2.7:

СОВМЕСТИМЫЕ модули:
✓ News
✓ System
✓ User
✓ Profile
ТРЕБУЮТ ОБНОВЛЕНИЯ:
✗ Forum (обновите версию)
✗ Comments (обновите версию)
✗ Некоторые старые модули
Проверьте:
https://xoops.org/modules/repository/
Окно терминала
# Загрузить XOOPS 2.7
wget https://github.com/XOOPS/XoopsCore27/releases/download/2.7.0/xoops-2.7.0.tar.gz
# Распаковать
tar -xzf xoops-2.7.0.tar.gz
# Или клонировать из GitHub
git clone https://github.com/XOOPS/XoopsCore27.git xoops-2.7

Перед обновлением сохраните свои файлы:

Окно терминала
# Сохранить uploads
cp -r /var/www/html/xoops/uploads /var/backups/xoops_2.5_uploads/
# Сохранить пользовательские модули
cp -r /var/www/html/xoops/modules/custom_module /var/backups/
# Сохранить пользовательскую тему
cp -r /var/www/html/xoops/themes/custom_theme /var/backups/

Скопируйте сохранённые данные в новую установку:

Окно терминала
# Скопировать старые uploads
cp -r /var/backups/xoops_2.5_uploads/* /var/www/html/xoops/uploads/
# Скопировать пользовательские модули
cp -r /var/backups/custom_module /var/www/html/xoops/modules/
# Скопировать пользовательские темы
cp -r /var/backups/custom_theme /var/www/html/xoops/themes/

Запустите скрипт обновления XOOPS 2.7:

Окно терминала
# Доступ к обновлению
http://your-domain.com/xoops/install/
# Или если install удалён, используйте admin
http://your-domain.com/xoops/admin/
# Администратор > Система > Обновить БД

Система обновит таблицы автоматически.

После обновления проверьте:

Окно терминала
# Проверить количество пользователей
mysql -u xoops_user -p xoops_db << EOF
SELECT COUNT(*) as user_count FROM xoops_users;
SELECT COUNT(*) as post_count FROM xoops_posts;
EOF
# Проверить модули
http://your-domain.com/xoops/admin/ > Модули > Модули

После обновления XOOPS обновите модули:

Панель администратора > Модули > Модули > Проверить обновления

Установите обновления для:

  • News
  • Forum (если установлен)
  • Comments (если установлен)

Для модулей, которые не совместимы:

  1. Удалите старую версию
  2. Загрузите версию, совместимую с XOOPS 2.7
  3. Установите новую версию

Решение:

Окно терминала
# Проверить ошибки PHP
tail -50 /var/log/apache2/error.log
# Включить режим отладки
vi /var/www/html/xoops/mainfile.php
# Измените: define('XOOPS_DEBUG', 0);
# На: define('XOOPS_DEBUG', 1);
# Проверить синтаксис PHP
php -l /var/www/html/xoops/mainfile.php

Решение:

Окно терминала
# Проверить подключение БД
mysql -u xoops_user -p -h localhost xoops_db << EOF
SELECT VERSION();
SHOW TABLES;
EOF
# Проверить табли
mysql -u xoops_user -p xoops_db << EOF
CHECK TABLE xoops_users;
CHECK TABLE xoops_posts;
EOF
# При ошибке восстановить
REPAIR TABLE xoops_users;
REPAIR TABLE xoops_posts;

Решение:

  1. Проверить совместимость в https://xoops.org/modules/repository/
  2. Обновить или заменить модуль
  3. Проверить разрешения файлов
  4. Проверить логи ошибок PHP

Восстановление:

Окно терминала
# Восстановить из резервной копии
mysql -u xoops_user -p xoops_db < xoops_2.5_backup.sql
# Или восстановить файлы
tar -xzf xoops_2.5_files.tar.gz -C /var/backups/

Проверьте основные функции:

  • Главная страница загружается
  • Пользователи могут входить
  • Модули работают правильно
  • Загрузка файлов работает
  • Отправка электронной почты работает
  • Темы отображаются правильно
  • Блоки видны
  • Поиск работает
  • Комментарии работают

Проверьте админ панель:

  • Все меню доступны
  • Параметры сохраняются
  • Модули управляются
  • Пользователи управляются
  • Темы выбираются
  • Блоки редактируются
Окно терминала
# Удалить файлы кэша
rm -rf /var/www/html/xoops/cache/*
rm -rf /var/www/html/xoops/templates_c/*
# Или в админ панели:
# Система > Инструменты > Очистить кэш
Окно терминала
mysql -u xoops_user -p xoops_db << EOF
OPTIMIZE TABLE xoops_users;
OPTIMIZE TABLE xoops_posts;
OPTIMIZE TABLE xoops_config;
ANALYZE TABLE xoops_users;
EOF
Окно терминала
# Проверить на https://pagespeed.web.dev/
# Проверить в консоли браузера на ошибки JavaScript
# Проверить скорость загрузки страницы

Если возникают серьёзные проблемы, откатитесь:

Окно терминала
# Восстановить файлы XOOPS 2.5
tar -xzf xoops_2.5_files.tar.gz -C /var/www/html/
# Восстановить БД XOOPS 2.5
mysql -u xoops_user -p xoops_db < xoops_2.5_backup.sql
# Перезагрузить сайт
systemctl restart apache2

Для успешной миграции:

  • Создана полная резервная копия
  • Проверены требования сервера
  • Загружены файлы XOOPS 2.7
  • Сохранены пользовательские файлы
  • Скопированы данные 2.5
  • Обновлена БД
  • Обновлены модули
  • Протестирована функциональность
  • Проверена администраторская панель
  • Оптимизирована БД
  • Очищен кэш
  • Проверена производительность
  • Документированы шаги

Если потребуется помощь:


Теги: #migration #upgrade #xoops2.5 #xoops2.7

Связанные статьи:

  • ../Installation/Installation
  • ../Configuration/Index
  • ../Getting-Started/Admin-Panel-Overview