Migration » History » Version 49
Carsten Rose, 21.05.2023 17:17
1 | 1 | Benjamin Baer | h1. Update Typo3 v8 > v9 > v10 |
---|---|---|---|
2 | |||
3 | 28 | Carsten Rose | h2. Compatibility |
4 | |||
5 | 29 | Carsten Rose | * https://typo3.org/cms/roadmap |
6 | 24 | Carsten Rose | * Required PHP version per Typo3, default PHP Version per Ubuntu OS, required PHP Version per PHP-Unit version. |
7 | 26 | Carsten Rose | * PHPUnit: Aktuell haben wir noch Ubuntu 18.04 Hosts (PHP 7.2) - Ziel waere schnell auf Ubuntu 20.04 zu migrieren |
8 | |||
9 | 27 | Carsten Rose | * Dev Umgebung mit U18 / PHP7.2 sollten PHPUnit 8 nutzen. |
10 | * Dev Umgebung mit >=U20 / PHP7.4 sollten PHPUnit 9 nutzen. |
||
11 | 44 | Carsten Rose | * "ig_ldap_sso_auth":https://extensions.typo3.org/extension/ig_ldap_sso_auth, @/scratch/software/typo3/extension@ |
12 | 23 | Carsten Rose | |
13 | 40 | Carsten Rose | | *Typo3* | *T3 EOL* | *QFQ* | *PHP required T3* | *U18.04* | *U20.04* | *U22.04* | *PHPUnit 6* | *PHPUnit 9* | *PHPUnit 10* |*ldap 3.6.0*|*ldap 3.7.1*| |
14 | | *V8* |-31.03.2020-| ? | 7.0-7.4 | 7.2 | 7.4 | -8.1- | 7.0-7.2 | >=7.3 | ->=8.1- | 8.7 - 10.4 | - | |
||
15 | | *V9.5* |-30.04.2021-| 19.5.0| 7.2-7.4 | 7.2 | 7.4 | -8.1- | 7.0-7.2 | >=7.3 | ->=8.1- | 8.7 - 10.4 | 9.5 - 11.5 | |
||
16 | | *V10* |_30.04.2023_|22.10.1| 7.2-7.4 | 7.2 | 7.4 | -8.1- | 7.0-7.2 | >=7.3 | ->=8.1- | 8.7 - 10.4 | 9.5 - 11.5 | |
||
17 | | *V11* | 31.10.2024 | - | 7.4, 8.0-8.2 | -7.2- | 7.4 | 8.1 | -7.0-7.2- | >=7.3 | >=8.1 | - | 9.5 - 11.5 | |
||
18 | | *V12* | 30.04.2026 | - | 8.1, 8.2 | -7.2- | -7.4- | 8.1 | -7.0-7.2- | >=7.3 | >=8.1 | - | - | |
||
19 | 39 | Carsten Rose | |
20 | 1 | Benjamin Baer | h2. Preparation Typo3 v8 |
21 | |||
22 | * Update Extensions to avoid problems after update. |
||
23 | ** The IG LDAP Extension is the most likely culprit, we recommend to update to version 3.6.0 (which is compatible for typo3 v8 - v10). (Warning: later versions had problem with our LDAP Server, do not install any newer version if not needed) |
||
24 | 46 | Carsten Rose | *** Open the ldap 3.6 *extension* config dialog (e.g. enable fe ldap, be ldap,...) and save it, to replay the config in T3 V9. |
25 | 1 | Benjamin Baer | *** Check if login still works (if not, it is possible to create new local admin users via /typo3/install.php) |
26 | ** Update QFQ |
||
27 | * To easily downgrade again: |
||
28 | ** copy the entire `typo3conf` Folder and store it in a temporary folder. |
||
29 | ** Backup the typo3 database |
||
30 | |||
31 | 3 | Benjamin Baer | Versions of Extensions: |
32 | 4 | Benjamin Baer | |_.Extension|_.Version| |
33 | 3 | Benjamin Baer | | ig_ldap_sso | 3.6.0 | |
34 | |||
35 | 1 | Benjamin Baer | h2. upgrade to newest version of Typo3 v9 |
36 | |||
37 | * download 9.5.26 |
||
38 | * replace symlink typo3_src |
||
39 | <pre> |
||
40 | rm typo3_src |
||
41 | ln -s /var/www/typo3_src-9.5.26/ typo3_src |
||
42 | </pre> |
||
43 | |||
44 | * go to installtool: /typo3/install.php |
||
45 | 45 | Carsten Rose | * *Upgrade*: Run the upgrade wizard under |
46 | 1 | Benjamin Baer | ** Whenever there is an option, choose the default (most of the time to not do it, like backward compability to typo3 7 etc.) |
47 | 45 | Carsten Rose | * *Maintenance*: |
48 | |||
49 | * Database analyzer and apply the changes |
||
50 | * Flush Caches |
||
51 | |||
52 | * *Environment*: Directory Status" and autofix problems (this should create .htaccess for page slugs) |
||
53 | 47 | Carsten Rose | * *Settings > Configure Extension > ig_ldap_sso_auth*: Backend / Frontend. |
54 | 1 | Benjamin Baer | * Try to login to the backend |
55 | * Update to the newest Version of uzh_cd: https://www.math.uzh.ch/repo/?dir=uzhcd/v9 |
||
56 | ** Please note changes that have to be made to the config: |
||
57 | *** Remove all default js and css references for qfq, they are included now |
||
58 | *** Rewrite cd.fullWidth.pidList = 5,10 to: |
||
59 | <pre>cd.fullWidth.pidList = 5 in tree.rootLineIds || 10 in tree.rootLineIds</pre> |
||
60 | * If not happened before, update QFQ: https://qfq.io/download/?dir=releases (at least v 22.10.1) |
||
61 | 45 | Carsten Rose | * Do *not* update ig_ldap past 3.6.0! |
62 | 3 | Benjamin Baer | |
63 | Versions of Extensions: |
||
64 | 4 | Benjamin Baer | |_.Extension|_.Version| |
65 | 3 | Benjamin Baer | | ig_ldap_sso | 3.6.0 | |
66 | 5 | Benjamin Baer | | uzh_cd_extension | 22.11.07 + | |
67 | 3 | Benjamin Baer | | qfq | 22.10.1 + | |
68 | |||
69 | 9 | Enis Nuredini | h3. Enable content columns |
70 | 7 | Enis Nuredini | |
71 | 10 | Enis Nuredini | Edit root page |
72 | |||
73 | 1 | Benjamin Baer | !columnDesignT3V9.png! |
74 | 16 | Enis Nuredini | |
75 | 19 | Enis Nuredini | h3. Cache problem |
76 | 16 | Enis Nuredini | |
77 | 19 | Enis Nuredini | Pages don't refresh immediately when the backend user is logged in. This behavior is not given with logged out beUser. |
78 | 6 | Enis Nuredini | |
79 | 1 | Benjamin Baer | h2. Upgrade to Typo3 v10 |
80 | |||
81 | 48 | Carsten Rose | |
82 | Update reference index (in T3 V9): |
||
83 | |||
84 | * “System” > “DB check” module and use the “Check and update global reference index” function. "UpdateReferenceIndex":https://docs.typo3.org/m/typo3/guide-installation/master/en-us/Upgrade/UpdateReferenceIndex/Index.html |
||
85 | |||
86 | 49 | Carsten Rose | V10 Update |
87 | 48 | Carsten Rose | |
88 | * Download Typo3 v10 |
||
89 | 1 | Benjamin Baer | <pre> |
90 | cd /var/www/ |
||
91 | wget --content-disposition https://get.typo3.org/10.4.15 |
||
92 | tar -xzf typo3_src-10.4.15.tar.gz |
||
93 | rm typo3_src-10.4.15.tar.gz |
||
94 | </pre> |
||
95 | |||
96 | |||
97 | * replace symlink |
||
98 | <pre> |
||
99 | rm typo3_src |
||
100 | ln -s /var/www/typo3_src-10.4.15/ typo3_src |
||
101 | </pre> |
||
102 | |||
103 | 38 | Enis Nuredini | Hint: After changing the symlink to newer typo3 versions sometimes it's helpful to delete the content from typo3temp folder. This clears some errors that can appear after version upgrade. |
104 | 1 | Benjamin Baer | * upgrade wizzard |
105 | ** go install tool: /typo3/install.php |
||
106 | ** upgrade > run upgrade wizard |
||
107 | ** execute all except the ones that install extensions |
||
108 | ** Analyze Database Structure > apply all changes |
||
109 | ** Dump TCA |
||
110 | |||
111 | |||
112 | * clear caches |
||
113 | ** Maintanance > Flush Cache |
||
114 | |||
115 | * delete the other temporary files, which TYPO3 saves in typo3temp/ by doing: |
||
116 | ** Install tool > Maintanance > Remove Temporary Assets |
||
117 | |||
118 | * Go to "Environment > Directory Status" and autofix problems (this should create/update .htaccess for page slugs) |
||
119 | |||
120 | * Create a SiteConfiguration: typo3 Backend > Sites > New Configuration |
||
121 | ** This is needed for slugs to work. Also you need to create a second language entry here, if you have a german/english site. |
||
122 | |||
123 | 12 | Enis Nuredini | * Configure apache webserver correctly: |
124 | 11 | Enis Nuredini | ** If not done then insert following parameters in /etc/apache2/sites-enabled/default-ssl.conf |
125 | <pre><code class="yaml"> |
||
126 | <Directory /var/www/html> |
||
127 | Options -Indexes +FollowSymLinks +Includes |
||
128 | AllowOverride All |
||
129 | Order allow,deny |
||
130 | Allow from all |
||
131 | DirectoryIndex index.php index.html index.shtml |
||
132 | </Directory> |
||
133 | </code></pre> |
||
134 | |||
135 | ** Execute 'service apache2 reload' in terminal |
||
136 | |||
137 | 2 | Benjamin Baer | * Open any page with a qfq record, you will get a warning message that you need to update {{pageAlias:T}} and {{pageId:T}} with an option to automatically do this > run the updater |
138 | ** Afterwards click on check again and then choose "to never check for this again". |
||
139 | ** Please note that all handwritten urls in qfq and form records have to be changed to slugs! |
||
140 | ** Check if everything is working and make adjustment. Usually it just misses the slugs. |
||
141 | ** For multilanguage setup, note that there is no longer an L=1 url parameter and you have to adjust records accordingly |
||
142 | |||
143 | 14 | Enis Nuredini | * If Typo3 V10.4 or newer is used, then felogin plugin is deprecated and the previously setup configuration of the UZH CD Extension doesn't work anymore. New setup content should look like this: |
144 | 13 | Enis Nuredini | !felogin.png! |
145 | 15 | Enis Nuredini | |
146 | 1 | Benjamin Baer | h2. Nginx |
147 | |||
148 | NGinx does not read .htaccess files, so you need to manually add the config to your nginx sites. Here is an include: |
||
149 | |||
150 | <pre> |
||
151 | # Compressing resource files will save bandwidth and so improve loading speed especially for users |
||
152 | # with slower internet connections. TYPO3 can compress the .js and .css files for you. |
||
153 | # *) Set $GLOBALS['TYPO3_CONF_VARS']['BE']['compressionLevel'] = 9 for the Backend |
||
154 | # *) Set $GLOBALS['TYPO3_CONF_VARS']['FE']['compressionLevel'] = 9 together with the TypoScript properties |
||
155 | # config.compressJs and config.compressCss for GZIP compression of Frontend JS and CSS files. |
||
156 | location ~ \.js\.gzip$ { |
||
157 | add_header Content-Encoding gzip; |
||
158 | gzip off; |
||
159 | types { text/javascript gzip; } |
||
160 | } |
||
161 | location ~ \.css\.gzip$ { |
||
162 | add_header Content-Encoding gzip; |
||
163 | gzip off; |
||
164 | types { text/css gzip; } |
||
165 | } |
||
166 | |||
167 | # TYPO3 - Rule for versioned static files, configured through: |
||
168 | # - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename'] |
||
169 | # - $GLOBALS['TYPO3_CONF_VARS']['FE']['versionNumberInFilename'] |
||
170 | if (!-e $request_filename) { |
||
171 | rewrite ^/(.+)\.(\d+)\.(php|js|css|png|jpg|gif|gzip)$ /$1.$3 last; |
||
172 | } |
||
173 | |||
174 | # TYPO3 - Block access to composer files |
||
175 | location ~* composer\.(?:json|lock) { |
||
176 | deny all; |
||
177 | } |
||
178 | |||
179 | # TYPO3 - Block access to flexform files |
||
180 | location ~* flexform[^.]*\.xml { |
||
181 | deny all; |
||
182 | } |
||
183 | |||
184 | # TYPO3 - Block access to language files |
||
185 | location ~* locallang[^.]*\.(?:xml|xlf)$ { |
||
186 | deny all; |
||
187 | } |
||
188 | |||
189 | # TYPO3 - Block access to static typoscript files |
||
190 | location ~* ext_conf_template\.txt|ext_typoscript_constants\.txt|ext_typoscript_setup\.txt { |
||
191 | deny all; |
||
192 | } |
||
193 | |||
194 | # TYPO3 - Block access to miscellaneous protected files |
||
195 | location ~* /.*\.(?:bak|co?nf|cfg|ya?ml|ts|typoscript|tsconfig|dist|fla|in[ci]|log|sh|sql|sqlite)$ { |
||
196 | deny all; |
||
197 | } |
||
198 | |||
199 | # TYPO3 - Block access to recycler and temporary directories |
||
200 | location ~ _(?:recycler|temp)_/ { |
||
201 | deny all; |
||
202 | } |
||
203 | |||
204 | # TYPO3 - Block access to configuration files stored in fileadmin |
||
205 | location ~ fileadmin/(?:templates)/.*\.(?:txt|ts|typoscript)$ { |
||
206 | deny all; |
||
207 | } |
||
208 | |||
209 | # TYPO3 - Block access to libraries, source and temporary compiled data |
||
210 | location ~ ^(?:vendor|typo3_src|typo3temp/var) { |
||
211 | deny all; |
||
212 | } |
||
213 | |||
214 | # TYPO3 - Block access to protected extension directories |
||
215 | location ~ (?:typo3conf/ext|typo3/sysext|typo3/ext)/[^/]+/(?:Configuration|Resources/Private|Tests?|Documentation|docs?)/ { |
||
216 | deny all; |
||
217 | } |
||
218 | |||
219 | |||
220 | location / { |
||
221 | try_files $uri $uri/ /index.php$is_args$args; |
||
222 | } |
||
223 | |||
224 | location ~ [^/]\.php(/|$) { |
||
225 | fastcgi_split_path_info ^(.+?\.php)(/.*)$; |
||
226 | if (!-f $document_root$fastcgi_script_name) { |
||
227 | return 404; |
||
228 | } |
||
229 | fastcgi_buffer_size 32k; |
||
230 | fastcgi_buffers 8 16k; |
||
231 | fastcgi_connect_timeout 240s; |
||
232 | fastcgi_read_timeout 240s; |
||
233 | fastcgi_send_timeout 240s; |
||
234 | |||
235 | # this is the PHP-FPM upstream - see also: https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/#connecting-nginx-to-php-fpm |
||
236 | include snippets/fastcgi-php.conf; |
||
237 | fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; |
||
238 | |||
239 | } |
||
240 | </pre> |
||
241 | |||
242 | the fastcgi_pass needs to be edited, here it is for standard ubuntu 20.04 nginx server. |
||
243 | |||
244 | You can save this file to /etc/nginx/snippets/typo3.conf and include it in your site config via `include ../snippets/typo3.conf` |