<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AMW_upgrade_1.43.8_to_1.46_LTS</id>
	<title>ICT:MW upgrade 1.43.8 to 1.46 LTS - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AMW_upgrade_1.43.8_to_1.46_LTS"/>
	<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:MW_upgrade_1.43.8_to_1.46_LTS&amp;action=history"/>
	<updated>2026-04-17T16:27:11Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mwiki.costasano.club/index.php?title=ICT:MW_upgrade_1.43.8_to_1.46_LTS&amp;diff=1619&amp;oldid=prev</id>
		<title>Mngr: Created page with &quot;= MediaWiki Upgrade Procedure — 1.43.8 → 1.46 LTS = &#039;&#039;&#039;Document version:&#039;&#039;&#039; 2025‑04‑04   &#039;&#039;&#039;Author:&#039;&#039;&#039; Martin   &#039;&#039;&#039;Purpose:&#039;&#039;&#039; Clean, reproducible, successor‑friendly upgrade to MediaWiki 1.46 LTS using a parallel installation in &lt;code&gt;/var/www/mw146&lt;/code&gt; and a reverse‑proxy switch.  This procedure ensures: * Zero downtime   * Instant rollback   * No leftover files from old versions   * Clean, maintainable, successor‑friendly architecture    The upgrade i...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:MW_upgrade_1.43.8_to_1.46_LTS&amp;diff=1619&amp;oldid=prev"/>
		<updated>2026-04-04T13:59:08Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= MediaWiki Upgrade Procedure — 1.43.8 → 1.46 LTS = &amp;#039;&amp;#039;&amp;#039;Document version:&amp;#039;&amp;#039;&amp;#039; 2025‑04‑04   &amp;#039;&amp;#039;&amp;#039;Author:&amp;#039;&amp;#039;&amp;#039; Martin   &amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039; Clean, reproducible, successor‑friendly upgrade to MediaWiki 1.46 LTS using a parallel installation in &amp;lt;code&amp;gt;/var/www/mw146&amp;lt;/code&amp;gt; and a reverse‑proxy switch.  This procedure ensures: * Zero downtime   * Instant rollback   * No leftover files from old versions   * Clean, maintainable, successor‑friendly architecture    The upgrade i...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= MediaWiki Upgrade Procedure — 1.43.8 → 1.46 LTS =&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Document version:&amp;#039;&amp;#039;&amp;#039; 2025‑04‑04  &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Author:&amp;#039;&amp;#039;&amp;#039; Martin  &lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Purpose:&amp;#039;&amp;#039;&amp;#039; Clean, reproducible, successor‑friendly upgrade to MediaWiki 1.46 LTS using a parallel installation in &amp;lt;code&amp;gt;/var/www/mw146&amp;lt;/code&amp;gt; and a reverse‑proxy switch.&lt;br /&gt;
&lt;br /&gt;
This procedure ensures:&lt;br /&gt;
* Zero downtime  &lt;br /&gt;
* Instant rollback  &lt;br /&gt;
* No leftover files from old versions  &lt;br /&gt;
* Clean, maintainable, successor‑friendly architecture  &lt;br /&gt;
&lt;br /&gt;
The upgrade is executed on the &amp;#039;&amp;#039;&amp;#039;web VM&amp;#039;&amp;#039;&amp;#039; with a final switch on the &amp;#039;&amp;#039;&amp;#039;reverse‑proxy VM&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Preconditions ==&lt;br /&gt;
* Working MediaWiki &amp;#039;&amp;#039;&amp;#039;1.43.8 LTS&amp;#039;&amp;#039;&amp;#039; installation  &lt;br /&gt;
* Database VM reachable and healthy  &lt;br /&gt;
* PHP &amp;#039;&amp;#039;&amp;#039;8.1 or 8.2&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
* Reverse proxy currently pointing to &amp;lt;code&amp;gt;/var/www/mw143&amp;lt;/code&amp;gt;  &lt;br /&gt;
* VM snapshot taken before starting  &lt;br /&gt;
* SSH access to web VM and reverse‑proxy VM  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 1: Prepare new directory ==&lt;br /&gt;
On the &amp;#039;&amp;#039;&amp;#039;web VM&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www&lt;br /&gt;
mkdir mw146&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Download and extract MediaWiki 1.46 LTS:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget https://releases.wikimedia.org/mediawiki/1.46/mediawiki-1.46.0.tar.gz&lt;br /&gt;
tar -xzf mediawiki-1.46.0.tar.gz --strip-components=1 -C mw146&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Resulting structure:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/var/www/mw146&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 2: Copy required files from old installation ==&lt;br /&gt;
From the existing 1.43 installation (example path &amp;lt;code&amp;gt;/var/www/mw143&amp;lt;/code&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
=== Copy LocalSettings.php ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp /var/www/mw143/LocalSettings.php /var/www/mw146/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy images directory ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp -R /var/www/mw143/images /var/www/mw146/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Copy custom logos (if stored outside images) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cp /var/www/mw143/resources/assets/*logo* /var/www/mw146/resources/assets/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do &amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039; copy extensions yet.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 3: Install or update extensions ==&lt;br /&gt;
MediaWiki 1.46 requires updated extensions.&lt;br /&gt;
&lt;br /&gt;
For each extension used in 1.43:&lt;br /&gt;
&lt;br /&gt;
# Download the &amp;#039;&amp;#039;&amp;#039;1.46‑compatible&amp;#039;&amp;#039;&amp;#039; version  &lt;br /&gt;
# Place it in &amp;lt;code&amp;gt;/var/www/mw146/extensions/&amp;lt;/code&amp;gt;  &lt;br /&gt;
# Keep the same configuration lines in &amp;lt;code&amp;gt;LocalSettings.php&amp;lt;/code&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
Vector‑2022 is bundled in 1.46 → no action needed.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 4: Run the database upgrade ==&lt;br /&gt;
On the web VM:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/mw146&lt;br /&gt;
php maintenance/update.php&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This upgrades the schema &amp;#039;&amp;#039;&amp;#039;in place&amp;#039;&amp;#039;&amp;#039;.  &lt;br /&gt;
No data is lost.  &lt;br /&gt;
No new database is created.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 5: Local testing before switching reverse proxy ==&lt;br /&gt;
Access the new installation directly via the web VM’s IP:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
http://&amp;amp;lt;web-vm-ip&amp;amp;gt;/mw146/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
* Login  &lt;br /&gt;
* Namespaces and subpages  &lt;br /&gt;
* Uploads  &lt;br /&gt;
* SMTP  &lt;br /&gt;
* Dark mode  &lt;br /&gt;
* Vector‑2022 behaviour  &lt;br /&gt;
* Special pages (filter box present)  &lt;br /&gt;
* Search  &lt;br /&gt;
* Logo  &lt;br /&gt;
&lt;br /&gt;
Proceed only when everything is correct.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 6: Switch reverse proxy ==&lt;br /&gt;
On the &amp;#039;&amp;#039;&amp;#039;reverse‑proxy VM&amp;#039;&amp;#039;&amp;#039;, update the root path.&lt;br /&gt;
&lt;br /&gt;
Example (Nginx):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root /var/www/mw146;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reload:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl reload nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The wiki now runs on &amp;#039;&amp;#039;&amp;#039;1.46 LTS&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Rollback is instant: point back to &amp;lt;code&amp;gt;/var/www/mw143&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 7: Post‑upgrade checks ==&lt;br /&gt;
* Check error logs on web VM  &lt;br /&gt;
* Check reverse‑proxy logs  &lt;br /&gt;
* Verify job queue  &lt;br /&gt;
* Verify uploads  &lt;br /&gt;
* Verify Special pages  &lt;br /&gt;
* Verify dark mode  &lt;br /&gt;
* Verify email notifications  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Step 8: Cleanup ==&lt;br /&gt;
After several days of stable operation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm -rf /var/www/mw143&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or archive it for long‑term reference.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Rollback Procedure ==&lt;br /&gt;
If any issue occurs after switching:&lt;br /&gt;
&lt;br /&gt;
# Edit reverse‑proxy config  &lt;br /&gt;
# Point root back to &amp;lt;code&amp;gt;/var/www/mw143&amp;lt;/code&amp;gt;  &lt;br /&gt;
# Reload proxy  &lt;br /&gt;
# Wiki is instantly restored  &lt;br /&gt;
&lt;br /&gt;
Database remains compatible.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
* MediaWiki 1.46 includes native dark mode  &lt;br /&gt;
* Vector‑2022 settings may be simplified  &lt;br /&gt;
* The Special pages filter box is available in 1.46  &lt;br /&gt;
* No database recreation is required for upgrades&lt;/div&gt;</summary>
		<author><name>Mngr</name></author>
	</entry>
</feed>