Как обновить 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
, aske_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 (слой абстракции файлов).