20230610 Forkred » History » Version 33
Carsten Rose, 10.06.2023 15:54
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 | 31 | Carsten Rose | * Files: `forkrd:/var/tmp/dev` |
8 | * Installtool: https://www.myuzhgrants.uzh.ch/typo3/install.php |
||
9 | 32 | Carsten Rose | * 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. |
10 | 7 | Carsten Rose | |
11 | 32 | Carsten Rose | |
12 | 1 | Carsten Rose | h2. VMWare Konsole |
13 | |||
14 | 2 | Carsten Rose | * Check das CR sich einloggen kann: https://wikiit.math.uzh.ch/it/bestpractice/vmware-console |
15 | 1 | Carsten Rose | |
16 | 2 | Carsten Rose | * Wird der IE genommen, funktioniert der Aufruf der vsphere Seite nciht. |
17 | * Edge hat mehrere Minuten gebraucht um zu starten. |
||
18 | * Firefox konnte sich anmelden, dann hat CR aber abgebrochen weil mittlerweile Edge gestartet ist. |
||
19 | |||
20 | * Edge hat die Konsole gut dargestellt. |
||
21 | |||
22 | 1 | Carsten Rose | h2. Preparation on production |
23 | |||
24 | <pre> |
||
25 | # Check das der neueste Kernel aktiv ist, falls nicht reboot |
||
26 | $ uname -a |
||
27 | $ dpkg --list | grep linux |
||
28 | |||
29 | # |
||
30 | # Alle alten Kernel entfernen! Das ist wichtig damit der do-release-upgrade Process nicht unnoetig alte Kernel Module aktualisiert. |
||
31 | # |
||
32 | $ CURRENT=`uname -a | cut -f 3 -d ' '` |
||
33 | $ ALL=`dpkg --list | grep -e linux-modules -e linux-image | grep -v $CURRENT | awk '{ print $2 }'` |
||
34 | $ for II in $ALL; do apt purge -y $II; done |
||
35 | |||
36 | 2 | Carsten Rose | # Backup Dir anlegen: |
37 | [user@tlX] mkdir /scratch/tmp/30/forkred |
||
38 | # Latest T3 nach Production kopieren |
||
39 | [user@tlX] scp /scratch/software/typo3/typo3_src-11.5.25.tgz root@forkred.uzh.ch:/var/tmp/ |
||
40 | 1 | Carsten Rose | |
41 | 2 | Carsten Rose | # T3 schonmal auspacken |
42 | [root@forkred] cd /var/html; tar zxf typo3_src-11.5.25.tgz |
||
43 | 1 | Carsten Rose | |
44 | 2 | Carsten Rose | # ** Am Tag vor der Migration ** |
45 | # Backup anlegen. Zuerst auf TL: `mkdir /scratch/tmp/30/forkred` |
||
46 | # |
||
47 | 14 | Carsten Rose | [root@forkred] |
48 | 2 | Carsten Rose | $ cd / |
49 | 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 |
50 | $ scp /tmp/forkred.tgz crose@ssh.math.uzh.ch:/scratch/tmp/30/forkred/ |
||
51 | 2 | Carsten Rose | $ rsync -av /var/www/html crose@ssh.math.uzh.ch:/scratch/tmp/30/forkred/ |
52 | 1 | Carsten Rose | |
53 | 2 | Carsten Rose | # |
54 | # ** Am Tag der Migration ** |
||
55 | # |
||
56 | 1 | Carsten Rose | |
57 | 2 | Carsten Rose | # Apache anhalten |
58 | $ service apache2 stop |
||
59 | 1 | Carsten Rose | |
60 | 25 | Carsten Rose | # Alle Cronjobs anhalten: |
61 | $ cronjob -e |
||
62 | $ cronjob -e -u www-data |
||
63 | |||
64 | 9 | Carsten Rose | # DBs - einmal lokal ablegen und dann nochmal remote sichern |
65 | 19 | Carsten Rose | $ mkdir /var/tmp/prod; cd /var/tmp/prod |
66 | 8 | Carsten Rose | $ rm *.sql |
67 | 2 | Carsten Rose | $ ALL="forkred_preview_db forkred_preview_t3 forkred_prod_db forkred_prod_t3 mysql" |
68 | 9 | Carsten Rose | $ for II in $ALL; do mysqldump $II > $II.sql ; done |
69 | 8 | Carsten Rose | $ scp *.sql crose@ssh.math.uzh.ch:/scratch/tmp/30/forkred/ |
70 | 1 | Carsten Rose | |
71 | 2 | Carsten Rose | # Backup latest files: |
72 | $ rsync -av --delete /var/www/html/ crose@ssh.math.uzh.ch:/scratch/tmp/30/forkred/html/ |
||
73 | 1 | Carsten Rose | |
74 | 2 | Carsten Rose | # |
75 | # OS Migration: |
||
76 | # |
||
77 | 1 | Carsten Rose | |
78 | 2 | Carsten Rose | # Ubuntu 20 |
79 | $ do-release-upgrade |
||
80 | 1 | Carsten Rose | |
81 | 2 | Carsten Rose | # Login forkred(u20) und Apache direkt wieder anhalten: |
82 | $ service apache2 stop |
||
83 | 1 | Carsten Rose | |
84 | 2 | Carsten Rose | # Ubuntu 22 |
85 | $ do-release-upgrade |
||
86 | 1 | Carsten Rose | |
87 | 2 | Carsten Rose | # Login forkred(u22) und Apache direkt wieder anhalten: |
88 | 1 | Carsten Rose | $ service apache2 stop |
89 | 31 | Carsten Rose | |
90 | # Check welche PHP Version installiert. Ggfs. sind noch alte installiert. Am besten vergleichen ob alle PHP Pakete von der alten Version auch in der neuen installiert sind. Bei dieser Migration fehlten nach der Migration @php-xml@, @php-json@. |
||
91 | $ dpkg --list | grep php |
||
92 | 1 | Carsten Rose | </pre> |
93 | |||
94 | 2 | Carsten Rose | h2. Preparation on dev (webwork22) |
95 | 1 | Carsten Rose | |
96 | <pre> |
||
97 | 2 | Carsten Rose | # Create dump of typo3 database: |
98 | $ mysqldump forkred_dev_t3 > /var/tmp/forkred_dev_t3_v11.sql |
||
99 | |||
100 | # Filestruktur |
||
101 | $ cd /var/www/html |
||
102 | $ tar zcf /var/tmp/forkred_dev_v11.tgz forkred |
||
103 | 1 | Carsten Rose | </pre> |
104 | |||
105 | h2. File transfer: Dev to Production |
||
106 | |||
107 | 2 | Carsten Rose | Jump host TL |
108 | 1 | Carsten Rose | <pre> |
109 | 2 | Carsten Rose | [crose@tlX] |
110 | 20 | Carsten Rose | $ scp root@webwork22:/var/tmp/forkred_dev_t3_v11.sql /scratch/tmp/30/forkred/dev/ |
111 | 2 | Carsten Rose | $ scp root@webwork22:/var/tmp/forkred_dev_v11.tgz /scratch/tmp/30/forkred/dev/ |
112 | 1 | Carsten Rose | |
113 | 2 | Carsten Rose | $ rsync -av /scratch/tmp/30/forkred/dev root@forkred.math.uzh.ch:/var/tmp/ |
114 | 1 | Carsten Rose | </pre> |
115 | |||
116 | h2. Setup Production |
||
117 | |||
118 | <pre> |
||
119 | 2 | Carsten Rose | [root@forkred] |
120 | 1 | Carsten Rose | |
121 | 2 | Carsten Rose | $ cd /var/www/ |
122 | $ mv html html.v9 |
||
123 | 1 | Carsten Rose | |
124 | 2 | Carsten Rose | # Unpack page instance for prod and preview. Rename them to original name and check the right permissions: |
125 | 1 | Carsten Rose | |
126 | 2 | Carsten Rose | # Prod |
127 | $ cd /var/www/ |
||
128 | $ tar -xzf /var/tmp/dev/forkred_dev_v11.tgz |
||
129 | $ mv forkred html |
||
130 | 1 | Carsten Rose | |
131 | 2 | Carsten Rose | # Preview |
132 | $ tar -xzf /var/tmp/dev/forkred_dev_v11.tgz |
||
133 | 21 | Carsten Rose | $ mv forkred html/preview |
134 | 1 | Carsten Rose | |
135 | 10 | Carsten Rose | # Import T3 DBs (Prod & Peview same) |
136 | 1 | Carsten Rose | $ mysql forkred_prod_t3 < /var/tmp/dev/forkred_dev_t3_v11.sql |
137 | $ mysql forkred_preview_t3 < /var/tmp/dev/forkred_dev_t3_v11.sql |
||
138 | 10 | Carsten Rose | |
139 | 16 | Carsten Rose | # |
140 | # ** Sync QFQ Data ** |
||
141 | # |
||
142 | 10 | Carsten Rose | [crose@tlX] |
143 | 22 | Carsten Rose | $ cd /scratch/share/system/sync/forkred/ |
144 | 23 | Carsten Rose | $ ./forkredDevPreviewSync.sh -f |
145 | $ ./forkredDevProdSync.sh -f |
||
146 | 24 | Carsten Rose | |
147 | # |
||
148 | # Restore fileadmin |
||
149 | # |
||
150 | 28 | Carsten Rose | $ mkdir /var/tmp/fileadmin.dev |
151 | 1 | Carsten Rose | |
152 | 28 | Carsten Rose | # Keep dev version temporarily on prod for comparison in case |
153 | $ mv /var/www/html/fileadmin/financialrequests /var/tmp/fileadmin.dev/financialrequests |
||
154 | $ mv /var/www/html/fileadmin/protected /var/tmp/fileadmin/.dev/protected |
||
155 | 1 | Carsten Rose | |
156 | 28 | Carsten Rose | # Restore prod: financialrequests & protected |
157 | 1 | Carsten Rose | $ mv /var/www/html.v9/fileadmin/financialrequests /var/www/html/fileadmin/ |
158 | 24 | Carsten Rose | $ mv /var/www/html.v9/fileadmin/protected /var/www/html/fileadmin/ |
159 | |||
160 | 28 | Carsten Rose | # Restore preview: financialrequests & protected |
161 | $ \rm -R /var/www/html/preview/fileadmin/protected /var/www/html/preview/fileadmin/financialrequests |
||
162 | $ mv /var/www/html.v9/preview/fileadmin/financialrequests /var/www/html/preview/fileadmin/ |
||
163 | $ mv /var/www/html.v9/preview/fileadmin/protected /var/www/html/preview/fileadmin/ |
||
164 | 2 | Carsten Rose | </pre> |
165 | 1 | Carsten Rose | |
166 | 2 | Carsten Rose | h2. Configuration: qfq.json and LocalConfiguration.php |
167 | 1 | Carsten Rose | |
168 | 15 | Carsten Rose | * Prepare the final config files in `/var/tmp/dev/prev|prod` |
169 | 3 | Carsten Rose | |
170 | 2 | Carsten Rose | qfq.json: |
171 | |||
172 | 1 | Carsten Rose | * DB_1_USER |
173 | * DB_1_PASSWORD |
||
174 | * DB_1_NAME |
||
175 | |||
176 | 3 | Carsten Rose | LocalConfiguration.php: |
177 | 2 | Carsten Rose | |
178 | * db |
||
179 | * user |
||
180 | * password |
||
181 | 1 | Carsten Rose | * baseUrl |
182 | 2 | Carsten Rose | * wkhtmltopdf |
183 | * redirect E-Mail |
||
184 | * sitename |
||
185 | 17 | Carsten Rose | * installtoolpw |
186 | 2 | Carsten Rose | |
187 | 29 | Carsten Rose | Copy config files: |
188 | |||
189 | <pre> |
||
190 | $ cp /var/tmp/dev/prod/LocalConfiguration.php /var/www/html/typo3conf/ |
||
191 | $ cp /var/tmp/dev/prev/LocalConfiguration.php /var/www/html/preview/typo3conf/ |
||
192 | </pre> |
||
193 | |||
194 | |||
195 | 26 | Carsten Rose | h2. Finalize |
196 | |||
197 | <pre> |
||
198 | 27 | Carsten Rose | # Alle Cronjobs aktvieren: |
199 | 26 | Carsten Rose | $ cronjob -e |
200 | $ cronjob -e -u www-data |
||
201 | 1 | Carsten Rose | </pre> |
202 | |||
203 | 32 | Carsten Rose | * Check Backup. |
204 | * Check PDF to SMB. |
||
205 | * Remove old forkred dev instance (webwork16). |
||
206 | * Update kpit PWs with webwork16/webwork22 credentials. |
||
207 | * Update Project Wiki with new dev instance (webwork22). |
||
208 | 33 | Carsten Rose | * |
209 | 30 | Carsten Rose | |
210 | h2. Probleme bei der Migration |
||
211 | 1 | Carsten Rose | |
212 | * Nach dem @do-release-upgrade@ waren noch viele PHP 7.4 Pakete (Status: rc) installiert. @apt purge php7.4*@ |
||
213 | 31 | Carsten Rose | * Es fehlten PHP Pakete: @apt install php-xml php-json@. Nach der Migration konnte Typo3 weder BE noch FE rendern. CR hat dann eine neue T3 Instanz hochgezogen, da wurde php-xml moniert. Damit war der Fehler klar. In den Apache Logs war der Fehler nicht zu erkennen. |
214 | * T3 Site-Konfiguration: T3 hat in der Site Konfiguration die URL von webwork22 gehabt (dump von webwork22). Das wird aktuell durch die I-MATH Sync Skripte noch nicht automatisch angepasst. @Sites > Site Configuration > Entry Point@ |
||
215 | * Das FE Login Template sieht schlecht aus. Im @typo3_src@ Vezeichnis hat EN einige Anpassungen gemacht (webwork22) - darum als Quickfix die angepasste Version auf forkred kopiert (geht mit dem naechsten Typo3 Update verloren (@typo3_src-11.5.25/typo3/sysext/felogin/Resources/Private/Templates/Login/Login.html@) |