95 lines
2.5 KiB
Markdown
95 lines
2.5 KiB
Markdown
# Windows Installation (No Docker)
|
|
|
|
## 1. Install prerequisites
|
|
|
|
- Git
|
|
- Node.js 20+
|
|
- PHP 8.1+ with required extensions for MediaWiki
|
|
- One database option:
|
|
- SQLite for fast local tests, or
|
|
- MariaDB/MySQL for production-like behavior
|
|
|
|
## 2. Install project dependencies
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
## 3. Fetch MediaWiki source
|
|
|
|
```bash
|
|
npm run mw:init
|
|
```
|
|
|
|
Default branch is REL1_43 in scripts/mw-init.ps1. Adjust if needed.
|
|
|
|
## 4. Start local server
|
|
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
Open http://127.0.0.1:8080 and complete the MediaWiki web installer.
|
|
|
|
## 5. Save LocalSettings.php
|
|
|
|
After installer completion, place generated LocalSettings.php in mediawiki/.
|
|
|
|
## 6. Install Semantic MediaWiki
|
|
|
|
```powershell
|
|
php .\composer.phar --working-dir=mediawiki require mediawiki/semantic-media-wiki "~6.0" --prefer-dist --optimize-autoloader
|
|
```
|
|
|
|
Add to `mediawiki/LocalSettings.php` (after `wfLoadSkin`):
|
|
|
|
```php
|
|
wfLoadExtension( 'SemanticMediaWiki' );
|
|
enableSemantics( '127.0.0.1:8080' );
|
|
```
|
|
|
|
Run the SMW database setup:
|
|
|
|
```powershell
|
|
php mediawiki/extensions/SemanticMediaWiki/maintenance/setupStore.php --nochecks
|
|
```
|
|
|
|
## 7. Push wiki infrastructure pages
|
|
|
|
Templates, the sidebar, the document index, and category pages are maintained as `.wiki` files in `scripts/templates/`. Push them once after a fresh install:
|
|
|
|
```powershell
|
|
$php = "D:\xampp\php\php.exe"
|
|
$mw = "mediawiki\maintenance\run.php"
|
|
$usr = "Gxplex admin" # replace with your admin username
|
|
|
|
$pages = @{
|
|
"Template:RegDocument" = "scripts\templates\RegDocument.wiki"
|
|
"Template:Reference" = "scripts\templates\Reference.wiki"
|
|
"MediaWiki:Sidebar" = "scripts\templates\Sidebar.wiki"
|
|
"Document Index" = "scripts\templates\DocumentIndex.wiki"
|
|
"Category:Medical Devices" = "scripts\templates\Cat_MedicalDevices.wiki"
|
|
"Category:In Vitro Diagnostics" = "scripts\templates\Cat_IVD.wiki"
|
|
"Category:Clinical" = "scripts\templates\Cat_Clinical.wiki"
|
|
"Category:Post-Market Surveillance" = "scripts\templates\Cat_PostMarket.wiki"
|
|
"Category:Labelling" = "scripts\templates\Cat_Labelling.wiki"
|
|
"Main_Page" = "scripts\templates\MainPage.wiki"
|
|
}
|
|
|
|
foreach ($title in $pages.Keys) {
|
|
Get-Content $pages[$title] -Raw | & $php $mw edit --user $usr --summary "Initial setup" $title
|
|
}
|
|
```
|
|
|
|
Then rebuild the SMW data index:
|
|
|
|
```powershell
|
|
php mediawiki/extensions/SemanticMediaWiki/maintenance/rebuildData.php
|
|
```
|
|
|
|
## 8. Run accessibility checks
|
|
|
|
```bash
|
|
npm run a11y:all
|
|
```
|