Uppdatering av webbservern
Igårkväll gjorde vi en förändring i hur våran webbhosting fungerar, hur man hanterar virtuella hostnamn och hur vi administrerar det hela.
Tidigare hade vi stora Apache-konfigurationer där alla virtuella hostnamn (vhost) stod specificerade, och behövdes uppdateras manuellt. Varje vhost krävde 6 rader text för att fungera, vilket var tidskrävande att hantera.
Nu har vi istället gjort ett halvautomatiskt system, där Apaches konfiguration byggs upp automatiskt med hjälp av ett script som letar reda på alla vhosts. Detta kräver dock en strikt katalogstruktur, vilket har mer än denna fördel, för att fungera.
Varje användare har en katalog under /var/www/users/ där användaren lägger upp sitt material och bestämmer hur vhostarna skall “peka”. I katalogen ser det ut såhär:
$ ls -l /var/www/users/jage
drwxr-xr-x 6 jage www 512 Dec 30 20:30 htdocs/
drwxr-xr-x 5 jage www 512 Jan 4 01:46 vhosts/
Varje användare har en subdomän till starkast.net, t.ex jage.starkast.net som alltid pekar till htdocs-katalogen. Vanligast är att man bara använder detta, utan egna domäner. Om man dock vill ha egna domäner behöver man titta på vhosts-katalogen, där användarna skapar kataloger som bestämmer hur domänerna mappas på servern.
$ ls -l /var/www/users/jage/vhosts
lrwxr-xr-x 1 jage jage 9 Jan 4 01:46 blog.jage.se@ -> ../htdocs
drwxr-xr-x 6 jage jage 512 Dec 31 13:05 imum.net/
lrwxr-xr-x 1 jage jage 9 Jan 4 01:45 jage.se@ -> ../htdocs
Här ser vi kataloger och symlänkar som har exakt samma namn som domänen i fråga. Symlänkar använder man om man inte vill ha en separat katalog där innehållet ligger, utan kanske vill ha samma innehåll som via en annan domän. Jag har till exempel skapat en symlänk från blog.jage.se tilll ../htdocs, jage.se går alltså till samma katalog på servern som jage.starkast.net. Däremot imum.net vill jag ha separerat, därför är det en helt vanlig katalog.
Med hjälp av det här systemet kan man ändra om sina vhosts utan att någon systemadministratör behöver hjälpa en. Användaren blir mer självständig.