Mediawiki Setup: Difference between revisions

From NCOT Wiki
Jump to navigationJump to search
Created page with "== Install MediaWiki Properly == Extract MediaWiki into <nowiki>/var/www/html/w</nowiki> {| class="wikitable" |+ Locations |- ! Location !! Contents |- | /var/www/html/w/ || MediaWiki files extracted to here |- | /wiki/ || Public path for index.php (rewritten URLs go here). Not a real directory. |- |} == Set Directory Permissions == sudo chown -R www-data:www-data /var/www/html/w == Update <nowiki>LocalSettings.php</nowiki> == <nowiki> $wgScriptPath = "/w"; $wgAr..."
 
(No difference)

Latest revision as of 15:30, 25 July 2025

Install MediaWiki Properly

Extract MediaWiki into /var/www/html/w

Locations
Location Contents
/var/www/html/w/ MediaWiki files extracted to here
/wiki/ Public path for index.php (rewritten URLs go here). Not a real directory.

Set Directory Permissions

sudo chown -R www-data:www-data /var/www/html/w

Update LocalSettings.php

$wgScriptPath = "/w";
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;

Configure NGINX

  • /robots.txt still works (for search engines)
  • /favicon.ico is unaffected (browsers expect it)
  • ACME challenges (Let’s Encrypt) under /.well-known/ won't break
  • Only GET / gets redirected to /wiki/
server {
    listen 80;
    server_name wiki.ncot.uk;
    root /var/www/html;

    # Let Nginx serve static files directly
    location = /robots.txt { }
    location = /favicon.ico { }
    location ^~ /.well-known/ { }

    location = / {
        return 301 /wiki/;
    }

    location = /wiki {
        return 301 /wiki/;
    }

    location /wiki/ {
        try_files $uri $uri/ /w/index.php;
    }

    location /w/ {
        root /var/www/html;
        index index.php;
    }

    location ~ ^/w/(.+\.php)$ {
        root /var/www/html;
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}