# URealms MediaWiki Restore Plan ## Summary - Deploy a fresh MediaWiki `1.45.3` install on the Debian 13 LXC at `192.168.1.14` using the official MediaWiki tarball, not Debian’s `mediawiki` package. - Use `http://192.168.1.14` during restoration, with final launch planned for `https://URwiki.phijkchu.com`; keep `/wiki/$1` article URLs. - Restore the XML export and image backup without modifying imported history, then make explicit post-import cleanup revisions where needed. - Create admin user `Spooky` with a generated temporary password; allow public read, admin-only edit, and later request-only normal accounts. - Build two selectable skins: `URealmsModern` as the default maintained skin and `URealmsDeprecated` as the closer URLive clone attempt. ## Key Changes - Install Apache, PHP-FPM/PHP 8.4 extensions, MariaDB, Redis, ImageMagick, Composer, OpenSearch `1.3`, CirrusSearch, and a systemd MediaWiki job runner. Bind Redis/OpenSearch to localhost only. - Configure MediaWiki with original-compatible namespaces and metadata: preserve `Unforgotten Realms Wiki` project namespace, `Widget`, `Topic`, and Scribunto module namespace behavior. - Install needed compatibility extensions before import: ParserFunctions, Scribunto, Variables, Loops, NoTitle, Widgets, WikiSEO, Echo, Thanks, CLDR, ConfirmEdit/QuestyCaptcha, Flow/StructuredDiscussions, Elastica, and CirrusSearch. Skip Google Analytics unless explicitly reintroduced. - Import full history from `Unforgotten+Realms+Wiki-20221205003650.xml`, import image-description `.desc` XML before file uploads, then import actual media files. - Audit the 19 imported `Widget:` pages and `MediaWiki:Common.js` before enabling Widgets/global JS execution. - Try Flow/StructuredDiscussions on 1.45.3, but treat the backup as incomplete for discussion bodies: the XML contains `flow-board` workflow placeholders, not a Flow SQL dump. If live Flow cannot be made stable, preserve placeholders and recover high-value discussion content later from Wayback as static/read-only content. - Add Talk-page URL hints only after import: for current Talk-page revisions containing `wiki.urealms.com/*`, create a new maintenance-bot revision that leaves the original URL intact and appends `[Try https://URwiki.phijkchu.com/*]`. ## Theme Recovery - Recover archived URLive CSS/assets from Wayback, including `url_logo.png`, `background_transparent.png`, `scroll.png`, and UI icons. - `URealmsDeprecated`: reproduce the old URLive layout, sidebar/header styling, colors, assets, and page chrome as closely as MediaWiki 1.45 skin APIs allow. - `URealmsModern`: use the same brand cues/assets but modernize responsiveness, accessibility, and maintainability. - Validate both skins against archived/local reference pages: Main Page, Special:Version, a File page, a Category page, a Talk page, and a widget-heavy content page. ## Test Plan - Confirm `Special:Version`, extension load, permissions, uploads, thumbnails, job runner, Redis, OpenSearch, and CirrusSearch indexing. - Verify content counts against the backup baseline: ~6,747 pages, ~48,016 revisions, ~2,069 media files, plus image-description pages. - Spot-check parser behavior for `{{#widget}}`, `{{#var}}`, `__NOTITLE__`, templates, file pages, and any Flow-enabled pages. - Confirm anonymous users can read but cannot edit or create accounts; `Spooky` can edit/administer. - Confirm Talk-page URL annotation creates new revisions only and does not rewrite imported revision history. - Use browser screenshots for both skins at desktop and mobile widths; fix broken layout, missing assets, and console errors before considering the restore complete. ## Assumptions - The `.OriginalWikiBackup` folder is the only backup source; no SQL database dump or Flow dump is available. - The LXC now has 8 GB RAM and 50 GB disk; reduce RAM later only after imports, search indexing, and launch checks are stable. - Email remains disabled until `URwiki.phijkchu.com` DNS/TLS and SMTP details are ready. - Primary references: [MediaWiki 1.45.3 download](https://www.mediawiki.org/wiki/Special:MyLanguage/Download), [MediaWiki compatibility](https://www.mediawiki.org/wiki/Compatibility), [XML import](https://www.mediawiki.org/wiki/Manual:ImportDump.php), [image import](https://www.mediawiki.org/wiki/Manual:ImportImages.php), [restore guide](https://www.mediawiki.org/wiki/Manual:Restoring_a_wiki_from_backup), [StructuredDiscussions](https://www.mediawiki.org/wiki/Extension:StructuredDiscussions), [CirrusSearch](https://www.mediawiki.org/wiki/Extension:CirrusSearch), and [OpenSearch Debian install docs](https://docs.opensearch.org/latest/install-and-configure/install-opensearch/debian/).