Udgivet i Skriv en kommentar

Fordelene ved massekonfiguration

Jeg har tidligere haft en tendens til at undgå massekonfiguration af fx Apache webserveren, for ikke at gøre konfigurationen mere kompleks end nødvendigt.

Mass configuration in Apache httpd

Skærmbillede af teksteditoren nano, med konfigurationsfilen åben for Apaches webserver httpd, på min primære produktionsserver.

Op indtil jeg havde omkring 10 hjemmesider, lagde jeg ganske enkelt en hjemmesides konfiguration ind i en mappe, og så bad Apache om at indlæse den derfra. Nye hjemmesider oprettede jeg ved at kopiere en eksisterende hjemmesides konfiguration, og så tilpasse den efter behov.

Det største problem (udover det manuelle arbejde), var de fejl jeg lavede. For hver eneste hjemmeside, skulle jeg teste hver eneste linie i konfigurationen. Ellers kunne en fejl have sneget sig ind. Og jeg ville jo ønske at jeg kunne sige at det ikke skete, men det skete faktisk oftere end jeg vil indrømme.

Med flere og flere hjemmesider, blev det også upraktisk med en række af selvstændige filer til hver hjemmeside. Fællesændringer gjorde at hver eneste fil skulle åbnes, redigeres, gemmes og så testes. Så mere af nød end noget andet tog jeg Apaches mod_macro i brug. Og som med så meget andet, ville jeg ønske at jeg havde gjort det for 10 år siden. Med mod_macro kan man give en konfigurationsblok et navn, og så overdrage 0 eller flere variabler til den. Så med mod_macro har jeg kunne skrive hele definitionen til en standard hjemmeside. Derefter tager det kun 1 linie at aktivere en given hjemmeside, hvilket alt andet lige er noget nemmere at administrere og overskue.

En uforudset bonus blev, at jeg ikke længere behøver at teste hver eneste hjemmeside. Da alle hjemmesiderne deler den samme konfiguration, er det tilstrækkeligt kun at teste 1 hjemmeside. Jeg har så flere forskellige typer af definitioner, alt efter typen af hjemmeside.

Og det har vist sig at være den største fordel for mig. En fordel jeg ikke var opmærksom på jeg kunne opnå.

// Nicky

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *