Typo3 - Update: Unterschied zwischen den Versionen
Steff (Diskussion | Beiträge) |
|||
| Zeile 1: | Zeile 1: | ||
== Links == | == Links == | ||
http://wiki.typo3.org/Upgrade | http://wiki.typo3.org/Upgrade | ||
| + | |||
| + | [[TYPO3 - Änderungen Version 9]] | ||
== Aufräumen vor dem Update == | == Aufräumen vor dem Update == | ||
http://typo3blogger.de/turchen-2-tutorial-typo3-entrumpeln/ | http://typo3blogger.de/turchen-2-tutorial-typo3-entrumpeln/ | ||
Version vom 24. April 2019, 18:50 Uhr
Links
TYPO3 - Änderungen Version 9
Aufräumen vor dem Update
http://typo3blogger.de/turchen-2-tutorial-typo3-entrumpeln/
Files
- kb_cleanfiles.
- Modul unter „DB-Überprüfung“ -> „Database Relations“. Neben dem Listing „Dateien, die in keinem Eintrag verwendet werden (bitte löschen!):“, welches der inhaltlichen Ausgabe der Extension sehr ähnelt, wird hier auch angezeigt ob Dateien doppelt referenziert werden
- typo3temp über install tool
Datenbank
- kj_recycler für papierkorb Daten danach refefence Index updaten
- cache_ Tabellen leeren
- sys_histroy leeren
Zur Not alles löschbar...
[PHP]TRUNCATE TABLE sys_log //e.g. alle älter als 14 Tage TRUNCATE TABLE sys_history //e.g. alle änderungen älter als 30 Tage TRUNCATE TABLE index_fulltext TRUNCATE TABLE index_grlist TRUNCATE TABLE index_phash TRUNCATE TABLE index_rel TRUNCATE TABLE index_section TRUNCATE TABLE index_stat_search TRUNCATE TABLE index_stat_word TRUNCATE TABLE index_words TRUNCATE TABLE cache_pages TRUNCATE TABLE cache_hash TRUNCATE TABLE cache_imagesizes TRUNCATE TABLE cache_pagesection TRUNCATE TABLE cache_treelist TRUNCATE TABLE cache_typo3temp_log TRUNCATE TABLE cache_extensions TRUNCATE TABLE tx_realurl_errorlog TRUNCATE TABLE be_sessions TRUNCATE TABLE fe_sessions TRUNCATE TABLE fe_session_data[/PHP]
PHP Updates
PHP 5.5 2017 - Kurzanleitung
Kurzanleitung Update auf PHP 5.5 für TYPO3 4.5.x
Wichtig htaccess aktualisieren Source aktualisieren Umstellung utf8 - DB Export - Textmate in utf-8 speichern - Ersetzen von CHARSET=latin1 durch CHARSET=utf8 - Ersetzen der COLLATE
localconf.php
PHP 5.6 2018 für TYPO 3 4.5 / 6.0
Hinweis: 6.2 sollte laufen. Ältere Versionen sind ohnehin nicht mehr sicher.
Quelle:
http://www.typo3forum.net/discussion/79348/geloest-toolbaritem-shortcuts-must-implement-interface-backend-toolbaritem https://www.typo3.net/forum/thematik/zeige/thema/123471/
Eine Suche im Netz ergab, dass T3 in der von mir verwendeten Version nicht mit PHP 5.6 kompatibel ist.
Unter diesem Link habe ich aber gefunden, wie man - bis zu einem Upgrade auf wenigstens 6.2 - das Backend wieder zum Laufen bekommt. Dazu müsste in folgenden Dateien über die Shell der Aufruf "&$backendReference" durch "$backendReference" ersetzt werden:
www/cms/typo3/classes/class.clearcachemenu.php:55: www/cms/typo3/classes/class.livesearch.php:51: www/cms/typo3/classes/class.shortcutmenu.php:79: www/cms/typo3/interfaces/interface.backend_toolbaritem.php:43: www/cms/typo3/sysext/opendocs/class.tx_opendocs.php:61: www/cms/typo3/sysext/sys_action/toolbarmenu/class.tx_sysaction_toolbarmenu.php:53: www/cms/typo3/sysext/sys_action/toolbarmenu/class.tx_sysaction_toolbarmenu.php:63: www/cms/typo3/sysext/workspaces/Classes/BackendUserInterface/WorkspaceSelectorToolbarItem.php:59:
und zusätzlich noch
www/cms/typo3/classes/class.backendsearchmenu.php:52: www/cms/typo3/classes/class.workspaceselector.php:57: www/cms/typo3/sysext/workspaces/Classes/ExtDirect/WorkspaceSelectorToolbarItem.php:59
Update auf 7
- css_styled_content wird durch fluid_styled_content ersetzt
- FSC bringt eigene CSS-Klassen für das Frontend mit. Anpassungen im CSS einer Website sind notwendig.
- Die Funktion "Rahmen und Einrückungen (section_frames)" gibt es nicht mehr. Hier muss bei Bedarf auf das "Layout"-Feld ausgewichen werden.
- Überschriften lassen sich nicht mehr direkt zentrieren oder rechts ausrichten.
- Die Bildeffekte (Drehung, Graustufen etc.) gibt es auch nicht mehr.
Fluid Styled Content ersetzt CSS Styled Content
htaccess für all-inkl TYPO3 v7
So machts der Auto Installer:
php_value always_populate_raw_post_data -1
php_value memory_limit 256M
php_value max_execution_time 240
<FilesMatch "\.(php.*|phtml)\.">
RewriteEngine on
RewriteRule .* - [R=403,L]
</FilesMatch>
#####
#
# Example .htaccess file for TYPO3 CMS - for use with Apache Webserver
#
# This file includes settings for the following configuration options:
#
# - Compression
# - Caching
# - MIME types
# - Cross Origin requests
# - Rewriting and Access
# - Miscellaneous
# - PHP optimisation
#
# If you want to use it, you have to copy it to the root folder of your TYPO3 installation (if its
# not there already) and rename it to '.htaccess'. To make .htaccess files work, you might need to
# adjust the 'AllowOverride' directive in your Apache configuration file.
#
# IMPORTANT: You may need to change this file depending on your TYPO3 installation!
# Consider adding this file's content to your webserver's configuration directly for speed improvement
#
# Lots of the options are taken from https://github.com/h5bp/html5-boilerplate/blob/master/dist/.htaccess
#
####
### Begin: Compression ###
# Compressing resource files will save bandwidth and so improve loading speed especially for users
# with slower internet connections. TYPO3 can compress the .js and .css files for you.
# *) Uncomment the following lines and
# *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend
# *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties
# config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files.
#<FilesMatch "\.js\.gzip$">
# AddType "text/javascript" .gzip
#</FilesMatch>
#<FilesMatch "\.css\.gzip$">
# AddType "text/css" .gzip
#</FilesMatch>
#AddEncoding gzip .gzip
<IfModule mod_deflate.c>
# Force compression for mangled `Accept-Encoding` request headers
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# Compress all output labeled with one of the following media types.
#
# (!) For Apache versions below version 2.3.7 you don't need to
# enable `mod_filter` and can remove the `<IfModule mod_filter.c>`
# and `</IfModule>` lines as `AddOutputFilterByType` is still in
# the core directives.
#
# https://httpd.apache.org/docs/current/mod/mod_filter.html#addoutputfilterbytype
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE application/atom+xml \
application/javascript \
application/json \
application/ld+json \
application/manifest+json \
application/rdf+xml \
application/rss+xml \
application/schema+json \
application/vnd.geo+json \
application/vnd.ms-fontobject \
application/x-font-ttf \
application/x-javascript \
application/x-web-app-manifest+json \
application/xhtml+xml \
application/xml \
font/eot \
font/opentype \
image/bmp \
image/svg+xml \
image/vnd.microsoft.icon \
image/x-icon \
text/cache-manifest \
text/css \
text/html \
text/javascript \
text/plain \
text/vcard \
text/vnd.rim.location.xloc \
text/vtt \
text/x-component \
text/x-cross-domain-policy \
text/xml
</IfModule>
<IfModule mod_mime.c>
AddEncoding gzip svgz
</IfModule>
</IfModule>
### End: Compression ###
### Begin: Browser caching of resource files ###
# This affects Frontend and Backend and increases performance.
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 1 month"
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/json "access plus 0 seconds"
ExpiresByType application/ld+json "access plus 0 seconds"
ExpiresByType application/schema+json "access plus 0 seconds"
ExpiresByType application/vnd.geo+json "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType image/vnd.microsoft.icon "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 week"
ExpiresByType text/x-component "access plus 1 month"
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType application/manifest+json "access plus 1 week"
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
ExpiresByType text/cache-manifest "access plus 0 seconds"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
ExpiresByType application/atom+xml "access plus 1 hour"
ExpiresByType application/rdf+xml "access plus 1 hour"
ExpiresByType application/rss+xml "access plus 1 hour"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType font/eot "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType application/font-woff "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType font/woff "access plus 1 month"
ExpiresByType application/font-woff2 "access plus 1 month"
ExpiresByType text/x-cross-domain-policy "access plus 1 week"
</IfModule>
### End: Browser caching of resource files ###
### Begin: MIME types ###
# Proper MIME types for all files
<IfModule mod_mime.c>
# Data interchange
AddType application/atom+xml atom
AddType application/json json map topojson
AddType application/ld+json jsonld
AddType application/rss+xml rss
AddType application/vnd.geo+json geojson
AddType application/xml rdf xml
# JavaScript
AddType application/javascript js
# Manifest files
AddType application/manifest+json webmanifest
AddType application/x-web-app-manifest+json webapp
AddType text/cache-manifest appcache
# Media files
AddType audio/mp4 f4a f4b m4a
AddType audio/ogg oga ogg opus
AddType image/bmp bmp
AddType image/svg+xml svg svgz
AddType image/webp webp
AddType video/mp4 f4v f4p m4v mp4
AddType video/ogg ogv
AddType video/webm webm
AddType video/x-flv flv
AddType image/x-icon cur ico
# Web fonts
AddType application/font-woff woff
AddType application/font-woff2 woff2
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttc ttf
AddType font/opentype otf
# Other
AddType application/octet-stream safariextz
AddType application/x-bb-appworld bbaw
AddType application/x-chrome-extension crx
AddType application/x-opera-extension oex
AddType application/x-xpinstall xpi
AddType text/vcard vcard vcf
AddType text/vnd.rim.location.xloc xloc
AddType text/vtt vtt
AddType text/x-component htc
</IfModule>
# UTF-8 encoding
AddDefaultCharset utf-8
<IfModule mod_mime.c>
AddCharset utf-8 .atom .css .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml
</IfModule>
### End: MIME types ###
### Begin: Cross Origin ###
# Send the CORS header for images when browsers request it.
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
<FilesMatch "\.(bmp|cur|gif|ico|jpe?g|png|svgz?|webp)$">
SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS
</FilesMatch>
</IfModule>
</IfModule>
# Allow cross-origin access to web fonts.
<IfModule mod_headers.c>
<FilesMatch "\.(eot|otf|tt[cf]|woff2?)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
### End: Cross Origin ###
### Begin: Rewriting and Access ###
# You need rewriting, if you use a URL-Rewriting extension (RealURL, CoolUri).
<IfModule mod_rewrite.c>
# Enable URL rewriting
RewriteEngine On
# Store the current location in an environment variable CWD to use
# mod_rewrite in .htaccess files without knowing the RewriteBase
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
RewriteRule ^.*$ - [E=CWD:%2]
# Rules to set ApplicationContext based on hostname
#RewriteCond %{HTTP_HOST} ^dev\.example\.com$
#RewriteRule .? - [E=TYPO3_CONTEXT:Development]
#RewriteCond %{HTTP_HOST} ^staging\.example\.com$
#RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]
#RewriteCond %{HTTP_HOST} ^www\.example\.com$
#RewriteRule .? - [E=TYPO3_CONTEXT:Production]
# Rule for versioned static files, configured through:
# - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename']
# - $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename']
# IMPORTANT: This rule has to be the very first RewriteCond in order to work!
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ %{ENV:CWD}$1.$3 [L]
# Access block for folders
RewriteRule _(?:recycler|temp)_/ - [F]
RewriteRule fileadmin/templates/.*\.(?:txt|ts)$ - [F]
RewriteRule ^(?:vendor|typo3_src|typo3temp/logs) - [F]
RewriteRule (?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?|Documentation|docs?)/ - [F]
# Block access to all hidden files and directories with the exception of
# the visible content from within the `/.well-known/` hidden directory (RFC 5785).
RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC]
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule (?:^|/)\. - [F]
# Stop rewrite processing, if we are in the typo3/ directory or any other known directory
# NOTE: Add your additional local storages here
RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
# If the file/symlink/directory does not exist => Redirect to index.php.
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^.*$ %{ENV:CWD}index.php [QSA,L]
</IfModule>
# Access block for files
<FilesMatch "(?i:^\.|^#.*#|^(?:ChangeLog|ToDo|Readme|License)(?:\.md|\.txt)?|^composer\.(?:json|lock)|^ext_conf_template\.txt|^ext_typoscript_constants\.txt|^ext_typoscript_setup\.txt|flexform[^.]*\.xml|locallang[^.]*\.(?:xml|xlf)|\.(?:bak|co?nf|cfg|ya?ml|ts|dist|fla|in[ci]|log|sh|sql(?:\..*)?|sw[op]|git.*)|.*(?:~|rc))$">
# Apache < 2.3
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
Satisfy All
</IfModule>
# Apache ≥ 2.3
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>
# Block access to vcs directories
<IfModule mod_alias.c>
RedirectMatch 404 /\.(?:git|svn|hg)/
</IfModule>
### End: Rewriting and Access ###
### Begin: Miscellaneous ###
# 404 error prevention for non-existing redirected folders
Options -MultiViews
# Make sure that directory listings are disabled.
<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>
<IfModule mod_headers.c>
# Force IE to render pages in the highest available mode
Header set X-UA-Compatible "IE=edge"
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svgz?|ttf|vcf|webapp|webm|webp|woff2?|xml|xpi)$">
Header unset X-UA-Compatible
</FilesMatch>
# Reducing MIME type security risks
Header set X-Content-Type-Options "nosniff"
</IfModule>
# ETag removal
<IfModule mod_headers.c>
Header unset ETag
</IfModule>
FileETag None
### End: Miscellaneous ###
# Add your own rules here.
Update auf 6.2
Probleme mit dem index
https://forge.typo3.org/issues/61154
Fehlermeldung "Migrate all file links of RTE-enabled fields to FAL" fails with "Reference index was probably out of date."
Description
Meanwhile I did upgrades from TYPO3 4.7 to 6.2 for three different instances and every time I ran into this problem. Reason are links in content elements of hidden or (from database point of view: logical) deleted pages where the target (usually the file in fileadmin) does not exist anymore.
cli_dispatch.phpsh lowlevel_refindex -c
does not detect these broken links. So this is a deadlock during migration.
I found this workaround which requires using a SQL client for the mysql database: 1) check if the result of this query matches the list of "Reference index was probably out of date" elements
select * from sys_refindex where softref_key = 'typolink_tag' AND ref_table = '_FILE';
2) If so you can update these records:
update sys_refindex set softref_key = 'typolink' where softref_key = 'typolink_tag' AND ref_table = '_FILE';
Update 4.5 , 4.7
Umlautprobleme
evtl. auch mal bei dbinit
SET character_set_client = utf8; SET character_set_results = utf8; SET character_set_connection = utf8;
Manchmal auch bei Darstellungsproblemen oder weißer Seite
Install-Tool nach dem Parameter "
systemLocale -> de_DE.utf8
Bis TYPO3 4.6: im Install-Tool den Parameter
forceCharset -> utf-8
Ab TYPO3 4.7: im Typoscript-Setup
config.renderCharset = utf-8
Im Install-Tool bei "
setDBinit -> SET NAMES utf8;
eintragen (ist ab TYPO3 4.7 bereits als Standard eingetragen).
Nun den kompletten Cache leeren. Jetzt sollten die Umlaute korrekt dargestellt werden.
Falls Sie per GIFBUILDER Text in Bilder einbauen, versuchen Sie folgendes:
Im Install-Tool beim Parameter "t3lib_cs_convMethod" den Wert "mbstring" eintragen.
Im Install-Tool beim Parameter "t3lib_cs_utils" ebenfalls " mbstring" eintragen.
Falls Sie Templavoila verwenden, müssen Sie darauf achten, dass Ihr HTML-Editor die Datei UTF-8-kodiert speichert. In den meisten Editoren können Sie das in den Einstellungen anpassen.
Wenn immer noch Darstellungsprobleme auftreten, kann unter Umständen eine Konvertierung der Datenbank nötig sein.
Update Infos 4.5
- Weitere Tools werden separat installiert
- utf-8 für Datenbankverbindung wird vorausgesetzt (siehe auch Typo3 auf utf-8 umstellen)
- Install-Tool $TYPO3_CONF_VARS['SYS']['setDBinit'] und $TYPO3_CONF_VARS['BE']['forceCharset'] default haben sich verändert.
- Zugriff auf veraltete php-Funktionen werden geloggt. Vorsichtig Log kann groß werden
- Extbase und Fluid
Update Infos 4.3
- simulate_static_docs muss separat installiert werden
Update Wizard Info
CSS Styled Content: Default targets for non-frame pages
The default page target is empty (so no target is generated). If you use frames, you have to set target to "page" in Constants.
CSS Styled Content: htmlspecialchars in menu content elements
Page titles will get htmlspecialchar'ed when rendered in "Sitemap/menu" content elements, to avoid generating invalid XHTML.
htmlArea RTE: Using CSS classes for indentation and alignment
* Indentation is produced by a CSS class instead of the blockquote element.
You will need to specify in Page TSConfig the class to be used for indentation using property buttons.indent.useClass (default is "indent"). You will need to define this class in your stylesheets and ensure that it is allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using the blockquote element by setting property buttons.indent.useBlockquote. You may also want to add the new blockquote button to the RTE toolbar.
* Text alignment is produced by CSS classes instead of deprecated align attribute.
You will need to specify in Page TSConfig the class to be used for each text alignment button using property buttons.[left, center, right or justifyfull].useClass (defaults are "align-left", "align-center", "align-right", "align-justify"). You will need to define these classes in your stylesheets, and ensure that they are allowed by the RTE transformation (RTE.default.proc). Alternatively, you may continue using deprecated align attribute by setting property buttons.[left, center, right or justifyfull].useAlignAttribute.
Update alter Typo3 Installationen (<V.3.8)
Aus der Mailing Liste Östereich: - der Core ist relativ easy (fast) immer zu upgraden (muesst' eigentlich von v3.3 auch gehen ;-) ) - Achte immer auf installierte Extensions
- wenn etwas nicht geht, mal soweit wie moeglich alle Extensions wegschalten (nicht loeschen!).
- dann zuschalten; wenns dann hakt, dann sieht man gleich welche ext "boese" ist.
- dann diese ext updaten, wenns keine updates gibt, mal danach googlen.
- wenns dann net geht, debuggen..
Weitere Probleme:
Alte TS Templates arbeiten noch mit CSet und Content als default Template. Nach umstellen auf css-styled-content muß evt. einiges angepasst werden:
Update auf 4.2
Backup erstellen (sollte selbstverständlich sein)!
Notieren welche Extensions "Global" installiert wurden, da diese später wieder erneut installiert werden müssen
Resource herunterladen:
wget kent.dl.sourceforge.net/sourceforge/typo3/typo3_src-4.2.8.tar.gz
Source-Paket entpacken:
tar -xzf typo3_src-4.2.8.tar.gz
Im Verzeichnis typo3conf müssen Sie eine Datei mit dem Namen "ENALBE_INSTALL_TOOL" erstellen bzw. uploaden (ich mache das immer mit vi ENABLE_INSTALL_TOOL )
eventuell die Rechte und die Gruppe ändern
eventuell basedir_restriction anpassen (für Plesk siehe hier)
typo3_src Symlink löschen:
rm typo3_src
neuen Symlink anlegen:
ln -s ../../typo3_src-4.2.8/ typo3_src
(den richtigen Pfad zum Source-Verzeichnis eventuell anpassen)
index.php löschen und neu erstellen:
rm index.php
ln -s typo3_src/index.php index.php
alte Verzeichnisse löschen (media, tslib)
alte Dateien löschen (showpic.php)
fehlende Verzeichnisse erstellen:
typo3conf/l10n, typo3temp/temp, typo3temp/GB, typo3temp/pics, typo3temp/llxml/, typo3temp/cs/ (sofern diese nicht schon vorhanden sind)
Installtool aufrufen und "Basic Configuration" überprüfen; hier sollte alles im grünen Bereich sein. Wenn nicht entsprechende Probleme beheben.
"Update Wizard" ausführen
Im "Database Analyser" auf "Update required tables" auf "Compare" klicken und bestätigen
Ins Backend einloggen und alle "Global" installierten Extensions nachinstallieren
Im Ext Manager unter Settings "Enable unsupported extensions" aktivieren, da zur Zeit noch nicht alle Exentensions überprüft wurden.
Im Ext Manager unter "Import extensions" auf "Retrieve/Update" klicken, um die aktuelle Liste der Extensions herunterzuladen
(Sollte es dabei zu Fehlermeldungen kommen, muss u.U. auf curl umgestellt werden) Leider ist das neue TER 2.0 extrem speicherhungrig, so dass u.U. die Speicherbeschränkung von PHP nicht ausreicht. Wenn möglich sollten Sie also zuvor den verfügbaren Speicher von PHP auf min. 45MB(!) hochsetzen. Sollten Sie dazu keine Rechte haben oder soviel Speicher nicht zur Verfügung stellen wollen, können Sie sich dadurch behelfen, dass Sie die benötigten Extensions als .t3x-Dateien herunterladen und "von Hand" installieren.
Im Ext Manager die Sprache updaten
Eventuell veraltete local-installierte Extensions erneuern (z.B. TemplaVoila, static_info_tables u.ä.)
Nicht mehr benötigte "Local"-installierte Extensions entfernen, wie z.B. csh_de, htmlarea (ist jetzt eine "System"-Extension und sollte daher local deinstalliert werden)
Update auf 4.1
Unbedingt im Install Tool Compare ausführen und Tabellen aktualisieren. Sonst kann es Probleme mit verschiedenen Extensions geben (z.B. Login..)
Probleme beim TYPO3 Update lösen
Weiße Seite
- Fehlermeldungen einschalten
The requested URL /typo3/alt_main.php was not found on this server.
Symlink für index.php falsch
Nach dem Datenbank Compare fehlen Teile der TYPOScript Templates
Lösung
Von Version 4.2 auf 4.1 werden blob Felder zu Text Feldern umgewandelt. Dabei werden bei Umlauten die Inhalte abgeschnitten, wenn die Datenbank utf-8 arbeitet, TYPO3 aber die Daten in latin abgelegt hat.
Beim Compare muß man dann die blob konvertierungen weglassen (vor allem bei den Templates - in der Regel gibt es da Kommentare mit Umlauten) und leicht abgewandelt selbst durchführen:
ALTER TABLE sys_template CHANGE config config TEXT CHARACTER SET latin1;
Typo3 läßt hier die Angabe welcher Zeichensatz drin ist weg.
Die wichtigsten Statements (Stand Typo3 4.5):
ALTER TABLE sys_template CHANGE constants constants text CHARACTER SET latin1; ALTER TABLE sys_template CHANGE config config text CHARACTER SET latin1; ALTER TABLE tt_content CHANGE image image text CHARACTER SET latin1; ALTER TABLE tt_content CHANGE media media text CHARACTER SET latin1; ALTER TABLE tt_content CHANGE pages pages tinytext CHARACTER SET latin1; ALTER TABLE tt_content CHANGE multimedia multimedia tinytext CHARACTER SET latin1; ALTER TABLE pages CHANGE media media text CHARACTER SET latin1;
Link: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html (Zugriff: 10/2012)
Release Notes Version 4.1
Die wichtigsten Neuerungen
- IRRE (Inline Relational Record Editing)
- AJAX Page and File Tree
- Clean-up functions (command line scripts)(Über Extension lowlevel)
- Improved Extension Manager (less memory, stored extension list)
- UTF-8 for filenames
- Backend "Who is online"
- Frontend "Stay logged in" (Konfiguration mit new login box)
- MySQL InnoDB (Wird automatisch bei Neuinstallation zur Verfügung gestellt, wenn es in mySQL aktiviert ist)
- Speed up Backend with .htaccess http://typo3.org/development/articles/release-notes-41/page/4/)
Manuelles ändern der Tabellen auf InnoDB
Hinweis persönlich rate ich von INNODB und TYPO3 ab, besser ISAM nehmen
alter table cache_hash ENGINE = INNODB; alter table cache_imagesizes ENGINE = INNODB; alter table cache_md5params ENGINE = INNODB; alter table cache_pages ENGINE = INNODB; alter table cache_pagesection ENGINE = INNODB; alter table cache_typo3temp_log ENGINE = INNODB; alter table fe_sessions ENGINE = INNODB; alter table fe_session_data ENGINE = INNODB; alter table index_fulltext ENGINE = INNODB; alter table index_grlist ENGINE = INNODB; alter table index_phash ENGINE = INNODB; alter table index_rel ENGINE = INNODB; alter table index_section ENGINE = INNODB; alter table index_stat_search ENGINE = INNODB; alter table index_stat_word ENGINE = INNODB; alter table index_words ENGINE = INNODB; alter table sys_log ENGINE = INNODB;
Generelle Informationen zum Update unter Linux
Quelle: typo3.net Mai 2006
Typo3 ist normalerweise sehr einfach upzudaten - allerdings müssen ein paar Dinge beachtet werden, um updatefähig zu bleiben:
- Es dürfen keine Änderungen an dem Typo3-Sourcecode gemacht worden sein. Falls dieses doch gemacht wurde, müssen natürlich diese Änderungen erst in die neue Version eingearbeitet werden.
- Installierte Extensions sollten möglichst immer LOCAL installiert worden sein. So bleiben diese nach dem Tausch des Typo3-Sourcecodes unberührt und funktionieren nach dem Update (meist) wie gewohnt. Es gibt nur selten den Fall, daß eine Typo3-Version eine Funktion nicht mehr verwendet, die es in der alten Version noch gab.
- Wenn sie HTML-Templates von GLOBAL installierten Erweiterungen direkt im Extensionordner modifiziert haben sollten, müssen diese erst z.B. in den fileadmin kopiert werden. Dann können Sie den Pfad zu dieser Datei im TypoScript anpassen.
Den Pfad finden Sie überigens mithilfe des TypoScript-Object-Browsers schnell. Meist ist er an der Stelle plugin.extensionname.templateFile zu finden.
Datei:T3 wichtigeVerzeichnisse.gif
Einige der wichtigsten Verzeichnisse
Das Update für mittwaldmedien Kunden
Für unsere Kunden ist es nun besonders einfach, die vorhandene Installation auf die aktuelle Version zu bringen. Sie müssen sich nur auf der Webseite http://www.typo3server.com einloggen. Nach dem Login finden Sie ein Menü mit einem Link zu dem Typo3-Versionsmanager. Dort können Sie mit einem Klick Ihren Account auf die neue Version updaten.
ToDo Versionsmanager für Geo-bit
Manuelles Update
Für diejenigen, die dieses Update manuell machen wollen oder müssen, sind die folgenden Schrittenötig. Die Beispiele - vor allem die Pfade - müssen natürlich angepasst werden. Die Beispiele gehen davon aus, daß Sie eine Verzeichnisstruktur angelegt haben, die dem obigen Bild entspricht.
1. Machen Sie zuerst eine Datensicherung von dem Typo3-Sourcen und Ihrem html-Ordner! Die Datenbank können Sie nun über diesen Befehl sichern:
mysqldump -u benutzername -p -B --add-drop-table datenbank > typo3DBSicherung.sql
Notfalls könnte auch ein Dump mit phpMyAdmin erstellt werden.
2. Verbinden Sie sich mit Ihrem Server über SSH.
3. Wechseln Sie das Verzeichnis auf einer Ebene über dem Rootverzeichnis Ihres Webservers. z.B.: cd /home/www/p1234/
4. Laden Sie sich die neuen Typo3-Sourcen auf ihren Linuxrechner. Die aktuellen Sourcen finden Sie unter: http://typo3.org/download/packages/.
Die benötigte Datei hat das Format typo3_src-3.x.x.tar.gz
Beispiel:
wget belnet.dl.sourceforge.net/sourceforge/typo3/typo3_src-3.7.0.tar.gz
5. Entpacken Sie die Datei mit dem Kommando:
Beispiel:
tar -xzvf typo3_src-3.x.x.tar.gz
6. Ändern Sie nun die Rechte so, wie der bisherige Typo3-Sourcecode-Ordner sie hatte.
Beispiel:
chown p1234.ftponly typo3_src-3.7.0 -R
7. Entfernen Sie den alten symbolischen Link mit:
rm typo3_src
8. Legen Sie nun einen neuen Link an mit:
ln -s typo3_src-3.x.x typo3_src
(Die Versionsnummer müssen Sie natürlich noch anpassen.)
9. Nun muss die Datenbank noch aktualisiert werden:
Gehen Sie hierzu in das Typo3-Installtool und klicken Sie auf den 2. Menüpunkt Database Analyser. Mit einem Klick auf Compare werden die zu ändernden oder zu ergänzenden Datenbankfelder angezeigt. Mit einem Klick auf "Write to database" wird die Datenbank an die neue Typo3-Version angepasst.
10. Loggen Sie sich nun als Admin im Backend an und löschen Sie alle Caches.
Neu in Version 4
- Conditions mit AND und OR (|| &&)
Neu in 4.2
Viele Usability Verbesserungen im Backend
Update auf 4.2
Extensions Updaten
- dam 1.0.11 ist nicht kompatibel Update auf min. 1.0.13
- date2cal auf >= 7.1.0
- Kickstarter 0.3.8 ist nicht kompatibel
- Developer tools gehen nicht mehr (wg. Frame oben)
Ablauf
- Backend Benutzer sperren (only Admins)
- Sicherung der Datenbank
- neue Source + Symlink
- Update Wizard
- Compare
Probleme
DAM Upload geht für Benutzer nicht mehr (Fehler Meta Daten können nicht geschrieben werden) Beim neu indizieren geht dem dam der Media Ordner verloren. Er legt dann einen neuen an, in den er scheiben möchte. Die Benutzer sind abe noch auf den alten eingestellt. D.h. die Benutzergruppen m´üssen auf den neuen eingestellt werden.
Im Dam stehen im IE7 die Benutzerwerkzeuge nicht zur verfügung (löschen etc.) nur der Stift ist noch da.
Lösung: Das Problem ist das CSS für das Fenster. Es verdeckt die restlichen Symbole Forum: 24.7.
Ich hatte das gleiche Problem bis vor 5 Minuten auch, gelöst habe ich es so: - Datei: class.tx_dam_listbase.php im Ordner DAM\lib\ Unter der Zeile 256 ('itemTD' => ' class="typo3-dblist-item"',) ist in 3 Werten als Breite 1% angegeben. Das auskommentieren
- Datei: stylesheet.cdd in typo3_src\typo3\ table.typo3-dblist width: 98%; durch width: auto; ersetzen und in table.typo3-dblist tr td {width: auto;} einsetzen,
damit hats bei mir im IE 7, Firefox, safari für Win und Opera alles richtig angezeigt :-)
Ich hoffe, geholrfen zu haben, Schmoozer
Bug in Mount Points
Datenbank über Root Shell sichern (mysql backup)
mysqldump -opt ...
Beispiele
Die häufigste Anwendung von mysqldump ist wahrscheinlich die Erstellung eines Backups einer vollständigen Datenbank:
shell> mysqldump --opt db_name > backup-file.sql
oder mit User und Passwortangabe:
mysqldump -u meinDBUser -pGEHEIM db_name > backup.sql
--opt ist in neueren MySQL Versionen Standardmäßig an deshalb lassen wir es mal weg.
Die Speicherauszugsdatei können Sie wie folgt wieder einspielen.
shell> mysql db_name < backup-file.sql
Oder aber so:
shell> mysql -e "source /path-to-backup/backup-file.sql" db_name
mysqldump ist ferner sehr nützlich zum Ausfüllen von Datenbanken durch Kopieren von Daten von einem MySQL Server auf einen anderen:
shell> mysqldump --opt db_name | mysql --host=remote_host -C db_name
Sie können mit einem einzigen Befehl einen Speicherauszug mehrerer Datenbanken erstellen:
shell> mysqldump --databases db_name1 [db_name2 ...] > my_databases.sql
Um einen Speicherauszug aller Datenbanken zu erstellen, verwenden Sie die Option --all-databases:
shell> mysqldump --all-databases > all_databases.sql
Bei InnoDB-Tabellen bietet mysqldump die Möglichkeit, eine Online-Sicherung zu erstellen:
shell> mysqldump --all-databases --single-transaction > all_databases.sql
Diese Datensicherung muss vor Beginn des Speicherauszugsvorgangs lediglich (mit FLUSH TABLES WITH READ LOCK) eine globale Lesesperre für alle Tabellen erwirken. Sobald diese Sperre aktiv ist, werden die Koordinaten des Binärlogs ausgelesen, und die Sperre wird aufgehoben. Wenn beim Absetzen der FLUSH-Anweisung gerade eine umfangreiche Änderungsanweisung ausgeführt wird, dann – und nur dann! – kann der MySQL Server stehen bleiben, bis diese lange Anweisung ausgeführt ist; danach ist der Server sperrfrei. Wenn die vom MySQL Server empfangenen Änderungsanweisungen (in Bezug auf ihre Ausführungsdauer) kurz sind, sollte die anfängliche Sperrperiode auch bei vielen Änderungen nicht spürbar sein.
Bei der Point-in-Time-Wiederherstellung (die auch als „Roll-Forward“ bezeichnet wird, wenn Sie ein altes Backup wiederherstellen und die seitdem durchgeführten Änderungen neu aufspielen müssen) ist es häufig nützlich, das Binärlog zu rotieren (siehe Abschnitt 5.12.3, „Die binäre Update-Logdatei“) oder zumindest die Binärlogkoordinaten zu kennen, denen der Speicherauszug entspricht:
shell> mysqldump --all-databases --master-data=2 > all_databases.sql
Oder:
shell> mysqldump --all-databases --flush-logs --master-data=2
> all_databases.sql
Mass Update Script
Yesterday some updates came out for TYPO3. These updates fixed certain issues and we needed to update all of our excellent shared hosting environments.
We already have a script (which is more elaborate now) that checks all our TYPO3 installations and sends the sysadmins a nice report about its findings. We use part of that report (list of paths to Document Roots) to feed the updater script.
The TYPO3 update requires you to do the followi
* update encryption key * clear configuration cache * clear page cache
We do not want to go into 200+ TYPO3 backends and do those tasks manually. We are lazy and we will write a script to automagically do the boring tasks for us.
This script is not perfect but it works well on Debian systems. You can modify it to fit your needs. It was just a quick hack to ease the upgrade pain. Take care to switch the symlink part for upgrade runs of different versions of TYPO3.
I am not responsible for any damage to your system that may occur to misuse of this script. Make sure you understand it before you run it. Run it with a single URI before attempting a whole ist of URI's.
Ein Massen Update Script von:
http://typofree.org/article/archive/2009/january/title/typo3-mass-upgrade-script/ Zugriff am 12.3.2009
http://typofree.org/article/archive/2009/january/title/typo3-mass-upgrade-script/
TYPO3 mass update script
1.
#!/bin/sh
2.
binDir=/usr/bin/
3.
sleep=2
4.
5.
pageCacheTables=(
6.
cache_pages
7.
cache_pagesection
8.
)
9.
10.
sites=(
11.
/var/www/sites/live/www.somedomain.tld
12.
/var/www/sites/live/www.someotherdomain.tld
13.
/var/www/sites/live/www.yetsomeotherdomain.tld
14.
)
15.
16.
len=${#sites[*]}
17.
pageCacheTablesLength=${#pageCacheTables[*]}
18.
i=0
19.
while [ $i -lt $len ]; do
20.
echo updating: ${sites[$i]}
21.
cd ${sites[$i]}
22.
rm typo3_src
23.
ln -s ../../sources/typo3_src-4.2.5 typo3_src
24.
25.
echo generating new key
26.
k=0
27.
key=
28.
while [ $k -lt 96 ]; do
29.
key=$key$(head -100 /dev/urandom | md5sum | cut -c1)
30.
let k++
31.
done
32.
echo key: $key
33.
sed -i "s/\(\$TYPO3_CONF_VARS\['SYS']\['encryptionKey'] = \).*/\1'$key';/g" typo3conf/localconf.php
34.
35.
echo removing configuration cache
36.
rm -f typo3conf/temp_CACHED*
37.
38.
echo clearing page cache
39.
# For some insane reason some values are enclosed in double qotes
40.
database=$(grep "typo_db " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/" | grep '$typo_db =')
41.
if [ -z "$database" ] ; then
42.
database=$(grep "typo_db " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/")
43.
else
44.
database=$(grep "typo_db " typo3conf/localconf.php | tail -1 | sed "s/^[^\"]*\"\([^\"]*\)\".*/\1/")
45.
fi
46.
username=$(grep "typo_db_username " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/" | grep '$typo_db_username =')
47.
if [ -z "$username" ] ; then
48.
username=$(grep "typo_db_username " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/")
49.
else
50.
username=$(grep "typo_db_username " typo3conf/localconf.php | tail -1 | sed "s/^[^\"]*\"\([^\"]*\)\".*/\1/")
51.
fi
52.
password=$(grep "typo_db_password " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/" | grep '$typo_db_password =')
53.
if [ -z "$password" ] ; then
54.
password=$(grep "typo_db_password " typo3conf/localconf.php | tail -1 | sed "s/^[^']*'\([^']*\)'.*/\1/")
55.
else
56.
password=$(grep "typo_db_password " typo3conf/localconf.php | tail -1 | sed "s/^[^\"]*\"\([^\"]*\)\".*/\1/")
57.
fi
58.
j=0
59.
while [ $j -lt $pageCacheTablesLength ];
60.
do
61.
nice -n 19 ${binDir}mysql --batch -u$username -p"$password" -D$database -e "TRUNCATE ${pageCacheTables[$j]}"
62.
nice -n 19 ${binDir}mysql --batch -u$username -p"$password" -D$database -e "ALTER TABLE ${pageCacheTables[$j]} auto_increment=1"
63.
let j++
64.
done
65.
66.
echo "done! Sleeping $sleep seconds . . ."
67.
sleep $sleep
68.
69.
echo
70.
let i++
71.
done