Project

General

Profile

20230610 Forkred » History » Version 29

Carsten Rose, 10.06.2023 11:01

1 4 Carsten Rose
{{child_pages}}
2
3
{{toc}}
4
5 6 Carsten Rose
h1. Forkred: OS Update U18>U22, T3 V9>V11, PHP 7.2>8.1, MariaDB 10.1>10.6
6 1 Carsten Rose
7 13 Carsten Rose
* Files: `/var/tmp/dev`
8 7 Carsten Rose
9 1 Carsten Rose
h2. VMWare Konsole
10
11 2 Carsten Rose
* Check das CR sich einloggen kann: https://wikiit.math.uzh.ch/it/bestpractice/vmware-console
12 1 Carsten Rose
13 2 Carsten Rose
  * Wird der IE genommen, funktioniert der Aufruf der vsphere Seite nciht.
14
  * Edge hat mehrere Minuten gebraucht um zu starten.
15
  * Firefox konnte sich anmelden, dann hat CR aber abgebrochen weil mittlerweile Edge gestartet ist.
16
17
* Edge hat die Konsole gut dargestellt.
18
19 1 Carsten Rose
h2. Preparation on production
20
21
<pre>
22
# Check das der neueste Kernel aktiv ist, falls nicht reboot
23
$ uname -a
24
$ dpkg --list | grep linux
25
26
#
27
# Alle alten Kernel entfernen! Das ist wichtig damit der do-release-upgrade Process nicht unnoetig alte Kernel Module aktualisiert.
28
#
29
$ CURRENT=`uname -a | cut -f 3 -d ' '`
30
$ ALL=`dpkg --list | grep -e linux-modules -e linux-image | grep -v $CURRENT | awk '{ print $2 }'`
31
$ for II in $ALL; do apt purge -y $II; done
32
33 2 Carsten Rose
# Backup Dir anlegen:
34
[user@tlX] mkdir /scratch/tmp/30/forkred
35
# Latest T3 nach Production kopieren
36
[user@tlX] scp /scratch/software/typo3/typo3_src-11.5.25.tgz root@forkred.uzh.ch:/var/tmp/
37 1 Carsten Rose
38 2 Carsten Rose
# T3 schonmal auspacken
39
[root@forkred] cd /var/html; tar zxf typo3_src-11.5.25.tgz
40 1 Carsten Rose
41 2 Carsten Rose
# ** Am Tag vor der Migration **
42
# Backup anlegen. Zuerst auf TL: `mkdir /scratch/tmp/30/forkred`
43
# 
44 14 Carsten Rose
[root@forkred]
45 2 Carsten Rose
$ cd /
46 19 Carsten Rose
$ tar --exclude=var/local/prod --exclude=var/www/html -czvf /tmp/forkred.system.tgz bin boot etc home initrd.img lib lib64 opt root sbin snap srv swap.img usr var vmlinuz
47
$ scp /tmp/forkred.tgz crose@ssh.math.uzh.ch:/scratch/tmp/30/forkred/
48 2 Carsten Rose
$ rsync -av /var/www/html crose@ssh.math.uzh.ch:/scratch/tmp/30/forkred/
49 1 Carsten Rose
50 2 Carsten Rose
# 
51
# ** Am Tag der Migration **
52
#
53 1 Carsten Rose
54 2 Carsten Rose
# Apache anhalten
55
$ service apache2 stop
56 1 Carsten Rose
57 25 Carsten Rose
# Alle Cronjobs anhalten:
58
$ cronjob -e
59
$ cronjob -e -u www-data
60
61 9 Carsten Rose
# DBs - einmal lokal ablegen und dann nochmal remote sichern
62 19 Carsten Rose
$ mkdir /var/tmp/prod; cd /var/tmp/prod
63 8 Carsten Rose
$ rm *.sql
64 2 Carsten Rose
$ ALL="forkred_preview_db forkred_preview_t3 forkred_prod_db forkred_prod_t3 mysql"
65 9 Carsten Rose
$ for II in $ALL; do mysqldump $II > $II.sql ; done
66 8 Carsten Rose
$ scp *.sql crose@ssh.math.uzh.ch:/scratch/tmp/30/forkred/
67 1 Carsten Rose
68 2 Carsten Rose
# Backup latest files:
69
$ rsync -av --delete /var/www/html/ crose@ssh.math.uzh.ch:/scratch/tmp/30/forkred/html/
70 1 Carsten Rose
71 2 Carsten Rose
# 
72
# OS Migration: 
73
# 
74 1 Carsten Rose
75 2 Carsten Rose
# Ubuntu 20
76
$ do-release-upgrade 
77 1 Carsten Rose
78 2 Carsten Rose
# Login forkred(u20) und Apache direkt wieder anhalten:
79
$ service apache2 stop
80 1 Carsten Rose
81 2 Carsten Rose
# Ubuntu 22
82
$ do-release-upgrade 
83 1 Carsten Rose
84 2 Carsten Rose
# Login forkred(u22) und Apache direkt wieder anhalten:
85
$ service apache2 stop
86 1 Carsten Rose
</pre>
87
88 2 Carsten Rose
h2. Preparation on dev (webwork22)
89 1 Carsten Rose
90
<pre>
91 2 Carsten Rose
# Create dump of typo3 database:
92
$ mysqldump forkred_dev_t3 > /var/tmp/forkred_dev_t3_v11.sql
93
94
# Filestruktur 
95
$ cd /var/www/html
96
$ tar zcf /var/tmp/forkred_dev_v11.tgz forkred
97 1 Carsten Rose
</pre>
98
99
h2. File transfer: Dev to Production
100
101 2 Carsten Rose
Jump host TL
102 1 Carsten Rose
<pre>
103 2 Carsten Rose
[crose@tlX]
104 20 Carsten Rose
$ scp root@webwork22:/var/tmp/forkred_dev_t3_v11.sql /scratch/tmp/30/forkred/dev/
105 2 Carsten Rose
$ scp root@webwork22:/var/tmp/forkred_dev_v11.tgz /scratch/tmp/30/forkred/dev/
106 1 Carsten Rose
107 2 Carsten Rose
$ rsync -av  /scratch/tmp/30/forkred/dev root@forkred.math.uzh.ch:/var/tmp/
108 1 Carsten Rose
</pre>
109
110
h2. Setup Production
111
112
<pre>
113 2 Carsten Rose
[root@forkred]
114 1 Carsten Rose
115 2 Carsten Rose
$ cd /var/www/
116
$ mv html html.v9
117 1 Carsten Rose
118 2 Carsten Rose
# Unpack page instance for prod and preview. Rename them to original name and check the right permissions:
119 1 Carsten Rose
120 2 Carsten Rose
# Prod
121
$ cd /var/www/
122
$ tar -xzf /var/tmp/dev/forkred_dev_v11.tgz
123
$ mv forkred html
124 1 Carsten Rose
125 2 Carsten Rose
# Preview
126
$ tar -xzf /var/tmp/dev/forkred_dev_v11.tgz
127 21 Carsten Rose
$ mv forkred html/preview
128 1 Carsten Rose
129 10 Carsten Rose
# Import T3 DBs (Prod & Peview same)
130 1 Carsten Rose
$ mysql forkred_prod_t3 < /var/tmp/dev/forkred_dev_t3_v11.sql
131
$ mysql forkred_preview_t3 < /var/tmp/dev/forkred_dev_t3_v11.sql
132 10 Carsten Rose
133 16 Carsten Rose
#
134
# ** Sync QFQ Data **
135
# 
136 10 Carsten Rose
[crose@tlX]
137 22 Carsten Rose
$ cd /scratch/share/system/sync/forkred/
138 23 Carsten Rose
$ ./forkredDevPreviewSync.sh -f
139
$ ./forkredDevProdSync.sh -f
140 24 Carsten Rose
141
# 
142
# Restore fileadmin
143
# 
144 28 Carsten Rose
$ mkdir /var/tmp/fileadmin.dev
145 1 Carsten Rose
146 28 Carsten Rose
# Keep dev version temporarily on prod for comparison in case 
147
$ mv /var/www/html/fileadmin/financialrequests /var/tmp/fileadmin.dev/financialrequests
148
$ mv /var/www/html/fileadmin/protected /var/tmp/fileadmin/.dev/protected
149 1 Carsten Rose
150 28 Carsten Rose
# Restore prod: financialrequests & protected
151 1 Carsten Rose
$ mv /var/www/html.v9/fileadmin/financialrequests /var/www/html/fileadmin/
152 24 Carsten Rose
$ mv /var/www/html.v9/fileadmin/protected /var/www/html/fileadmin/
153
154 28 Carsten Rose
# Restore preview: financialrequests & protected
155
$ \rm -R /var/www/html/preview/fileadmin/protected /var/www/html/preview/fileadmin/financialrequests
156
$ mv /var/www/html.v9/preview/fileadmin/financialrequests /var/www/html/preview/fileadmin/
157
$ mv /var/www/html.v9/preview/fileadmin/protected /var/www/html/preview/fileadmin/
158 2 Carsten Rose
</pre>
159 1 Carsten Rose
160 2 Carsten Rose
h2. Configuration: qfq.json and LocalConfiguration.php
161 1 Carsten Rose
162 15 Carsten Rose
* Prepare the final config files in `/var/tmp/dev/prev|prod`
163 3 Carsten Rose
164 2 Carsten Rose
qfq.json:
165
166 1 Carsten Rose
* DB_1_USER
167
* DB_1_PASSWORD
168
* DB_1_NAME
169
170 3 Carsten Rose
LocalConfiguration.php:
171 2 Carsten Rose
172
* db
173
* user
174
* password
175 1 Carsten Rose
* baseUrl
176 2 Carsten Rose
* wkhtmltopdf 
177
* redirect E-Mail
178
* sitename
179 17 Carsten Rose
* installtoolpw
180 2 Carsten Rose
181 29 Carsten Rose
Copy config files:
182
183
<pre>
184
$ cp /var/tmp/dev/prod/LocalConfiguration.php /var/www/html/typo3conf/
185
$ cp /var/tmp/dev/prev/LocalConfiguration.php /var/www/html/preview/typo3conf/
186
</pre>
187
188
189 26 Carsten Rose
h2. Finalize
190
191
<pre>
192 27 Carsten Rose
# Alle Cronjobs aktvieren:
193 26 Carsten Rose
$ cronjob -e
194
$ cronjob -e -u www-data
195
</pre>
196
197
* Check Backup
198
* Check PDF to SMB
199
200 18 Carsten Rose
h2. SQL Functions
201 1 Carsten Rose
202
The use of dump files doesn't include sql functions. Exporting them with phpMyAdmin from source to target is currently the best solution. In most cases not necessary because upgrade happens on an existing instance with given databases.
203
204
h2. Others
205
206
Sometimes T3 Cache could make problems while upgrading. Deleting the typo3temp folder helps.
207 2 Carsten Rose
208 1 Carsten Rose
Hint:
209
210 2 Carsten Rose
Using relative paths in typo3 template editor could make problems in v11. It helps to change them to aboslute paths. Good example for these situations are the use of 'cd.stylesheet =' options.