Как обновить TYPO3 4.5 до 6.2

каковы рекомендуемые шаги для обновления TYPO3 4.5 (или 6.1) до 6.2? У меня есть Mac и мой сайт работает на общей учетной записи Linux.

2 ответов


вот пошаговое руководство из моей практики обновления, которым я хотел бы поделиться. Спасибо за руководство по https://jweiland.net/typo3/vortraege/typo3camp-berlin-2014.html это мне очень помогло.

обратите внимание, что это мой личный опыт, который может или не может применяться к вашей среде. Относитесь ко всему осторожно.

я различаю" быстрые "и" длинные " обновления. С" длинными " обновлениями вы делаете обновление дважды. Первый, вы обновляете копию живого сайта, получаете все расширения и шаблоны работающими, и когда вы будете готовы, вы объявляете замораживание содержимого, повторное обновление, используя файлы, измененные на первом шаге. Для "быстрого" обновления вы сразу объявляете замораживание содержимого, выполняете обновление и тесты, а затем развертываете непосредственно в тестовой или живой среде.

настройка сайта локально

  • когда вы будете готовы заморозить содержимое (BE][adminOnly] = 0), Не забудьте проверить, если на сайте есть пользовательский контент? Если это так, отключите возможность отправки или обратите внимание, какие таблицы необходимо повторно импортировать после включения обновленного сайта.

намек: Работать локально. Я могу ссылаться только на использование MAMP Pro (обязательно получите pro версия) на mac. Всегда будьте в курсе, на каком сайте (и с каким DB) вы работаете, кстати! И внимание: случай файловой системы OS X insensitve, который может быть обломком при развертывании в Linux (см. ниже). Для администрирования базы данных я предпочитаю http://www.sequelpro.com/ к phpMyAdmin для большинства задач. Это очень удобно, чтобы сделать резервные копии или быстрый просмотр таблиц, хотя у него есть несколько отсутствующих функций в сравнение с phpMyAdmin. Также весьма надежно для импорт dbs на живой сервер-где phpMyAdmin может часто останавливаться.

  • остерегайтесь, если [SYS][UTF8filesystem] установлено: передача файлов в OS X через популярные FTP-клиенты, такие как Coda или Transmit (не протестировали Cyberduck) может повредить имена файлов, содержащие имена файлов UTF-8. Таким образом, все ссылки на такие файлы будут недействительными при развертывании. Упакуйте их в архив для передачи или использования scp. Избегайте настройки в первую очередь.

  • создайте локальный экземпляр TYPO3. Это практично, если вы держите" старое "и" новое " ядро в одном месте, поэтому вы можете легко переключаться между ними по символической ссылке. Создание и подключение локальных база данных.

намек: Если вы работаете над MAMP, вам придется chown все файлы (кроме шаблоны и конфигурационные файлы ваших приложений (например, Sublime)) в _www:_www. Я нашел полезным определить некоторые псевдонимы для sudo chown в ~/.файл, как alias chownmamp="sudo chown -R _www:_www ." и наоборот, своему пользователю. Другой возможностью может быть временно!--4--> все-при развертывании, проявляя дополнительную осторожность это снято (find . -type f -exec chmod 644 {} \;find . -type d -exec chmod 755 {} \;)

  • дублируйте сайт и БД, чтобы сохранить не обновленную версию для сравнения-даже после развертывания

  • Init локальное РЕПО git, не забудьте добавить .пример для временных данных. Совершайте время от времени!

намек: Если вы используете разные имена хостов для своего локального и живого сайта, замените их там, где это необходимо. Для командной строки, я нашел grep -rl 'www.site.ch' ./ | xargs sed -i 's/www.site.ch/www.localsite.dev/g' полезное. Но, конечно, вы можете сделайте это и в IDE или редакторе. Не забудьте проверить realurl_conf.php и .htaccess чересчур. Для быстрого бега, это также можно использовать реальные имена хостов, поэтому вам не нужно заменять ничего (но не сможет сравнивать сайты с одной и той же машины).

  • теперь вы должны иметь возможность войти в бэкэнд и в инструмент установки

подсказка: на MAMP у меня были проблемы с $TYPO3_CONF_VARS['BE']['warning_email_addr'] что помешало вход в инструмент установки с ошибкой 500, так как он не смог отправить электронное письмо. Удалите этот параметр в localconf.PHP для локального обновления, если это произойдет.

подготовить обновление

  • создать резервную копию файлов и БД. (сделать частые дампы БД позже тоже)

  • важно: Install tool > Database Analyser > Clear Tables: очистите все кэши, журналы, а также данные истории (если это нормально). Этот чем меньше огромная база данных, тем более плавным будет обновление.

  • запустите интерфейс.

  • кроме того, убедитесь, что у вас в панели администратора. Очень полезно переопределить кэширование TYPO3 и отладить узкие места производительности. Кроме того, вы можете надежно принудительно отрисовывать TS при каждой перезагрузке. Set config.admPanel = 1 на странице TS, включите его в TS вашего администратора пользователя по admPanel=1, и войдите в систему с доменом, из которого вы будете просматривать FE. В админпанель только появляется, если вы вошли в этот домен! Пока вы там, также добавьте options.clearCache.system = 1 в TS администратора, поэтому вы можете очистить системный кэш также в рабочем режиме.

  • установить http://typo3.org/extensions/repository/view/smoothmigration и запустите его. Решить эту проблему можно исправить, напр. utf8 вопросов в БД. Скопируйте оставшийся отчет и сохраните его в файле word или аналогичном - вы не можете запустить smoothmigration после обновления больше

  • пройдите все расширения. Они нам вообще нужны? Вы можете узнать, используется ли плагин с (например) SELECT * FROM tt_content WHERE list_type = 'news_pi1' или вообще cType = 'list' записи в tt_content. Если он не используется, подумайте об удалении расширения. Или его можно заменить лучшим расширением или перестроить вручную / через tt_content? (Например, карусель, я бы предпочел не поддерживать расширение для этого. Но проверьте бюджет! Все берет время.

  • я избавляюсь от indexed_search, as ke_search очень надежная альтернатива которая быстра для того чтобы настроить.

подсказка: с FAL пользователю _cli_scheduler нужны права для каждого монтирования файла, который вы хотите индексировать с помощью ke_search, иначе индексирование через планировщик завершится неудачей.

  • основная задача: проверка обновлений расширений. Если доступно совместимое обновление расширения, сделайте это. Но сначала проверьте, работает ли он со старым и новым сайтом:http://typo3.org/extensions/repository/view/realurl:This version works for TYPO3 4.5.0 - 6.2.999 - если это не так, не обновление.

  • обязательно удалите realurl_clearcache, версия TER сломается на 6.2

  • когда вы закончите удаление, удалите все оставшиеся локальные расширения. Вам не нужно удалять sysexts.

  • на typo3conf/ext мы будем иметь довольно короткий список расширений сейчас. Это хорошо!

  • резервное копирование БД и сделать DB-Compare в инструменте установки. Внимание: не прикасайтесь к данным расширения, которые вам понадобятся для импорта позже (tt_news, powermail, dam). Если вы осмелитесь, вы можете переименовать или удалить другие, 100% устаревшие данные.

  • изучите модуль "отчеты" в BE и выполните рекомендуемые действия

  • если у вас есть терпение, проверить неработающие ссылки на сайте - они могут создавать проблемы при преобразовании в FAL.

  • есть ли контент / страницы, которые можно удалить наверняка? (Например. древние тестовые страницы, дубликаты и т. д.?) Удалите его, если осмелитесь.

  • не забывайте: очистить корзину (модуль "корзина") для всех страниц рекурсивно. Нет необходимости переносить удаленное содержимое. Ср. https://forge.typo3.org/issues/62360 удалить многие элементы на после

  • важно: обновить ссылочный индекс (в модуле "проверка БД"). Он должен быть идеальным до обновления.

  • сделать резервную копию...опять

выполнить обновление

  • -> переключить ядро на 6.2

  • перезагрузите бэкэнд, вы приземлитесь в инструменте установки. Чтобы подключиться к БД, вам может потребоваться ввести "localhost из 127.0.0.1 как prefilled

  • Install tool: проверьте структуру папок и системную среду, сделайте все это зеленым. Прочитайте системную среду до конца:" красные " элементы находятся вверху, но "синие" элементы (рекомендуется) находятся внизу (например, отсутствует языковой стандарт системы, который необходим при использовании UTF8-Filesystem).

подсказка: не будьте слишком нетерпеливы с APC, проверкой доступности в 6.2 не идеально, cf. https://forge.typo3.org/issues/64030 (вы не может использовать его, если ваш общий хостинг полагается на suPHP).

  • Install tool: запустите первый мастер. Только первый. Не запускайте "перенести все ссылки файлов полей с поддержкой RTE в FAL".

  • важно: войдите в бэкэнд, как админ. Перейдите в filelist, при необходимости обновите дерево файлов. Теперь установите filemounts (fileadmin...) в " прецедент чувствительные идентификаторы"в настройках. В противном случае вы можете получить все имена файлов в нижнем регистре в sys_file, который не будет работать в системе live linux.

  • кроме того, выполнить задание File Abstraction Layer: Update storage indexв планировщике и обновить ссылочный индекс.

  • Install tool: пройдите через остальные мастера обновления. Для отладки поврежденных ссылок, которые не могут быть перенесены, используйте обходной путь отhttps://forge.typo3.org/issues/64122 (6.2.10 вверх)

подсказка: если что-то не кажется полным после того, как все мастера прошли, вы можете повторно включить мастера обновления в LocalConfiguration.php под ['INSTALL']['wizardDone']. (Например, если вся таблица sys_file_reference пуста и в таблице tt_content нет изображений-удалите строку для TceformsUpdateWizard, поэтому он может снова запустить).

  • важно: Install tool: All конфигурация: деактивировать содержимое адаптер! В противном случае вы будете работать в медленном режиме совместимости и не делать всего обновления.

  • Проверить "Отчеты". Сделайте все зеленым!

  • Install tool: Проверьте рендеринг изображения (я предпочитаю GD), установите настройки конфигурации

подсказка: Проверьте typo3conf / AdditionalConfiguration.php и убедитесь, что в нем нет значений, которые переопределяют значения из LocalConfiguration.РНР. Я имел это на обновлении 6.1 - >6.2 и, таким образом, не смог включить журналы ошибок (devIPmask был переопределен все время).

  • основная задача: обновление и установка расширений, которые имеют обновления, несовместимые со старым ядром.

подсказка: вот несколько случайных замен, которые я должен был сделать для 6.2 совместимость:

require_once(PATH_tslib . 'class.tslib_pibase.php‘);
-> if (!class_exists('tslib_pibase')) require_once(PATH_tslib . 'class.tslib_pibase.php');

require_once(PATH_t3lib . 'class.t3lib_scbase.php‘);
-> require_once(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('backend'). 'Classes/Module/BaseScriptClass.php‘);

t3lib_div::GPvar()
-> \TYPO3\CMS\Core\Utility\GeneralUtility::_GP()

mysql_num_rows($res)
-> GLOBALS['TYPO3_DB']->sql_num_rows($res)

t3lib_div::intInRange
-> t3lib_utility_Math::forceIntegerInRange

t3lib_div::view_array()
-> t3lib_utility_Debug::viewArray 

t3lib_div::testInt
-> t3lib_utility_Math::canBeInterpretedAsInteger

EDIT: гораздо более полный список включен https://github.com/FriendsOfTYPO3/compatibility6/blob/master/Migrations/Code/ClassAliasMap.php

  • обновление от плотины? Использовать https://github.com/b13/t3ext-dam_falmigration, следуя задача установки и планировщика и использование. Имейте в виду, что с MAMP вам нужно запустить MAMPS PHP из командной строки, например /Applications/MAMP/bin/php/php5.5.18/bin/php ./typo3/cli_dispatch.phpsh extbase help

  • перемещение tt_news в tx_news? Я была проблема с импортером, где не все переводы были импортированы. Теперь есть более новая версия.

  • Обновление Powermail? Ницца, есть обновление! Спасибо! Я также столкнулся с проблемами с переводами. В одном случае их можно было решить, нажав кнопку "локализовать" для формы.

  • rlmp_tmplselector: либо используйте https://github.com/jweiland-net/rlmp_tmplselector/ или переместить тип страницы seletion в core компоновка бэкэнда.

Подсказка: в последнем случае, позаботьтесь, чтобы выбрать шаблон страницы в соответствие выбранному макету BE, никогда не использовать .если, всегда используйте случай. См.с TYPO3 be_layout, как правильно выбрать шаблон интерфейса (с точки зрения производительности)?

  • Основная Задача: шаблоны должны быть обновлены. Всего несколько вещей: New ИЗОБРАЖЕНИЕ / ФАЙЛЫ TS, config.doctype=html5 (не html_5), заменить все HTML объекты TEXT. Используйте браузер объектов TypoScript (TSOB), по крайней мере, убедитесь, что в TS нет ошибок.

  • если вы не делали этого раньше ("долгое" обновление), установите расширение после расширения и исправить то, что должно быть исправлено (google ошибки). Установить https://github.com/medialis/realurl_clearcache вручную Если вам это нужно.

  • используете ли вы imagemap_wizard? https://github.com/lorenzulrich/imagemap_wizard и добавьте исправление css из https://forge.typo3.org/issues/58212

намек: Кстати, расширения, которые я использую на всех сайтах: realurl_clearcache, nc_staticfilecache, sourceopt, ke_search. На большинстве сайтов (на основе функции), конечно: Новости, powermail.

  • не забывайте: Проверьте разрешения бэкэнда пользователей, не являющихся администраторами. Возможно, потребуется добавить права для таблиц и полей FAL (слой абстракции файлов). Если необходимо изменить содержимое, используйте пользователя имитированного редактора для раннего обнаружения проблем.

  • обновление переводов через модуль "язык", поэтому редакторы получат переведенные бэкэнд и расширения

подсказка: также убедитесь, что группа" права дерева страниц " правильно установлена вверх, ср. http://typo3.uni-koeln.de/typo3-admin-access-default.html?&L=0

  • могут возникнуть проблемы с именами файлов, содержащими специальные символы, такие как umlauts, иногда приводящие к нарушенным ссылкам файлов (я использую целостность или проверки для mac, чтобы проверить весь сайт), иногда только в уродливых именах файлов. Проверьте и обработайте вручную (если FAL работает, вы можете просто переименовать их в бэкэнде), если это необходимо.

намек: вот фрагмент я добавляю ко всем пользователям userTSConfig.

  • пройти все. Если у вас есть время и бюджет, сделайте сайт лучше, используйте webpagetest.org чтобы обнаружить отверстия производительности, очистите .htaccess, объединить ресурсы, проверить время рендеринга страницы в инструменте администратора, обновить интерфейсные зависимости, проверить обработку 404, переместить шаблоны в typo3conf / ext / templates (лучший поиск-заменить все пути в дампе БД!), приведите в порядок пользователей и группы, переместите все шаблоны из БД в includes, очистите структуру шаблонов и т. д. и т. д. - Все зависит от времени, которое у вас есть для этого сайта.

  • сделать резервную копию. Снова.

тестирование и развертывание

  • проверьте его на живом сервере! Или, если это не сайт высокого профиля, который может позволить себе некоторое время простоя, просто перейдите в live, перемещая файлы (без typo3temp) и db на сервер, установив символические ссылки, очистка всех кэшей и т. д.

  • в живой системе проверьте инструмент установки. Вероятно, вам придется адаптировать php.параметры ini. И установите предустановленную конфигурацию в "производство".

  • перестроить ссылочный индекс

  • Проверить "Отчеты". Что касается проблемы чувствительности к регистру, теперь вы можете увидеть отсутствующие ссылки Здесь - вы не видели их на Mac, так как файловая система была нечувствительна к регистру. Кроме того, вы можете запросить sys_file на missing = 1. Вы можете повторно запустить задачу планировщика FAL, упомянутую выше локально, чтобы увидеть, что она может исправить некоторые имена файлов. Если нет других средств, вы все равно можете переименовать все файлы в нижний регистр, cf. как переименовать все файлы в нижний регистр?

  • Проверьте задачи cronjobs и scheduler (перейдите в "проверить конфигурацию" в модуле scheduler также, посмотрите, существует ли пользователь cli). Ах, также посмотрите, используете ли вы текущую версию php. Также проверьте, не запрещаете ли вы google сканировать живую версию в роботах.txt

  • вам нужно настроить некоторые процедуры резервного копирования или сценарии обновления? Сделать это сейчас.

  • и не паникуйте, если он еще не работает. Возможно, это просто тайник. Или что-то еще.

  • когда сайт работает в течение некоторого времени, запустите другой dbcomp и удалите все старые таблицы.

  • подождать. Что я забыл? Добавлю это позже.


Проверьте разрешения бэкэнда пользователей, не являющихся администраторами. Возможно, потребуется добавить права для таблиц и полей FAL (слой абстракции файлов).