On my Debian 10 VPS I have a MediaWiki deployment that I'm hosting on wiki.myorg.com
stored on the filesystem using a soft link to manage versions like this:
/var/www/mediawiki/1.34.4
/var/www/mediawiki/1.38.2
/var/www/wiki -> /var/www/mediawiki/1.38.2
Then in nginx.conf
I have the configuration pointing the home directory of the site:
server {
listen 443 ssl;
server_name wiki.myorg.com;
# SSL config etc...
root /var/www/wiki;
index index.php;
# And so on...
}
This is where it gets weird.
The site has been working fine, until it fell over a few days ago and when I was trying to fix the problem nothing I did seemed to have any effect at all, even putting an exit
statement in the core settings file. Increasingly baffled, I ended up doing the same to the other folders and to my surprise when I changed the one in /var/www/mediawiki/1.34.4
it suddenly killed the site.
It seems as though nginx has been serving out of that folder the whole time. When I first set it up that was the home path, but as I upgraded the software I repointed the /var/www/wiki
link to point at the new version.
A grep
of my nginx folder cannot find any mentions of 1.34.4
in any configuration file, the /var/www/wiki
folder is pointed at the /var/www/mediawiki/1.38.2
and nginx has been restarted a number of times over this period, including after any time I repointed the wiki
link.
I ran into this problem because of an expired token on the site, which I couldn't update because I was updating the wrong folder, but as an added layer of strangeness, when I tried switching to PHP 8 instead of 7.3 it was serving out of the correct folder. It was only when I switched back to PHP 7.3 (turns out a bunch of the MediaWiki plugins I am using are way behind the curve) that this seemed to happen. The switch in this case was made by pointing the nginx config at a different php version for the site.
I have never run into anything like this before, it feels completely illogical. What is going on?