Apache-konfiguration for begyndere

Webserveren Apaches tekstbaserede konfigurationsfiler kan godt virke lidt afskrækkende, hvis man ikke lige er vant til den slags. Her ser vi på, hvad konfigurationsfilerne gør, og hvor de befinder sig, og giver et par nyttige tips på løsninger af de mere simple problemer.

Tre slags konfigurationsfiler

Hvis man ikke er vant til at arbejde med tekstbaserede konfigurationsfiler, kan det virke lidt skræmmende ved første øjekast, i modsætning til eksempelvist grafiske programmer til opsætning af serveren.

Men faktisk er det slet ikke så svært at have med at gøre. Her gennemgår vi løsninger på en række basale problemer.

.conf
Apaches konfigurationsfiler er ganske simpelt blot tekstfiler, som indeholder en række kommandoer - direktiver - som webserveren indlæser, når den startes op. Hvis tekstfilen indeholder syntaksfejl, udskrives en fejlmeddelelse, og serveren starter ikke op.

Derfor er det en god idé at tage en sikkerhedskopi, før man ændrer konfigurationsfilerne. Hvis tingene går helt i hårdknude, kan man så altid vende tilbage til kopien og prøve igen.

Apache har tre slags konfigurationsfiler. For det første er der den egentlige konfigurationsfil, httpd.conf, som sætter serverens vigtigeste egenskaber.

En anden fil, mime.types, sammenparrer filtyper med mimetyper, som er internettets medietype-format. Det benytter klienten til at afgøre, hvad der skal ske med den ressource, som brugere forespørger. Hvis browseren henter en fil med typen text/html, som selvfølgelig betyder HTML, skal den fremvises i browseren, men hvis serveren eksempelvist returnerer application/x-shockwave-flash, så skal ressourcen åbnes af Flash-afspilleren, hvis brugeren har sådan én.

Den sidste væsentlige konfigurationsfil er .htaccess, som kan sætte visse direktiver, blandt andet i forbindelse med autentifikation. .htaccess kan benyttes til at sætte specielle forhold i bestemte dele af serverens mappehierarki. Hvis en server har mange brugere, som det er tilfældet med et webhotel, så kan brugerne ændre visse ting ved hjælp af .htaccess.

På nær .htaccess-filerne, som kan placeres rundt omkring i web-hierakiet, så afhænger placeringen af de øvrige filer, herunder httpd.conf, af den konkrete installation. Det kan være forskellige steder afhængigt af, hvilket styresystem, webserveren kører under. Under Unix- og Linux-systemer vil filerne ofte være placeret det samme sted som øvrige konfigurationsfiler.

Adresser og mapper

httpd.conf
httpd.conf er den egentlige konfigurationsfil, som styrer det meste af serverens adfærd. Filens lidt kryptiske navn stammer fra HTTP-dæmon, hvor dæmon er UNIX-slang for serverprogram.

Hvert direktiv står på en linie i tekstfilen, efterfulgt af en eller flere parametre. Nogle direktiver fylder flere linier, og disse ligner XML-kode til forveksling, som for eksempel således:

<Directory /usr/local/httpd/htdocs>
  Options Indexes FollowSymLinks
</Directory>

Linier kan udkommenteres med tegnet #, en linien kan knækkes over i to ved at anbringe et backslash \ til sidst på den første linie.

Hvis man prøver sig frem med udgangspunkt i den version af httpd.conf, som følger med Apache, så kan man benytte de udkommenterede eksempler på direktiver, som allerede står i httpd.conf til at starte med. De fleste af eksemplerne er også kommenteret udførligt, så det er altså ikke så svært at prøve sig frem.

Adresser og mapper
Almindeligvis oversætter webserveren forespørgslens URL til en bestemt mappe (directory). Dette gøres med udgangspunkt i den mappe, som er specificeret i direktivet DocumentRoot.

DocumentRoot /usr/local/httpd/htdocs

Dette er den mappe, som Apache kigger på, hvis adressen blot består af selve domænet, som i eksempelvis http://localhost/ . Den sti, som angives i URL'en, sættes i forlængelse af den sti, som er angivet i DocumentRoot-direktivet. Så bliver adressen

http://localhost/minmappe/enundermappe/dokument.html

oversat til fil-stien

/usr/local/httpd/htdocs/minmappe/enundermappe/dokument.html

- som så returneres til klienten.

I dette eksempel angives en fil. Men hvordan ved Apache hvad der skal ske, hvis URL'en blot indeholder en mappe? Hvis URL'en eksempelvis er http://localhost/minmappe/, så vil man ofte ønske at returnere et roddokument, som i Apache-verden som regel hedder index.html. Hvis man har udviklet sit website til Microsofts IIS-server, så hedder disse roddokumenter som oftest default.asp. Man behøver heldigvis ikke at omdøbe filerne, med det rod som følger, for index-dokumentet kan selvfølgelig sættes med et direktiv, DirectoryIndex:

DirectoryIndex index.html, default.htm, index.php

Denne linie fortæller, at når forespørgslens URL blot indeholder et mappe-navn, så skal Apache kigge efter et dokument med navnet index.html, default.htm og index.php, i den rækkefølge. Direktivet kan også sættes ind i et Directory-direktiv, så det kun har gyldighed indefor en bestemt mappe og eventuelle undermapper.

Nogen gange er det praktisk at springe sammenhængen mellem mapper i URL'en og mapper i DocumentRoot-over. Det kan gøres med et Alias-direktiv. Det kan for eksempel se sådan ud:

Alias /mitprojekt/ /usr/local/httpd/htdocs/projekter/tania/projekt1/

Så kan adressen http://localhost/projekter/tania/projekt1/ blot skrives som http://localhost/mitprojekt/, og det er jo en del nemmere for brugerne. Alias kan også benyttes til at inddrage mapper, som ligger uden for rod-mappen, altså den mappe som angives med DocumentRoot-direktivet.

Apache indeholder en ganske stor mængde konfigurationsmuligheder, som er udmærket dokumenteret, og som eksemplerne her forhåbentlig viser, er det slet ikke så svært at have med at gøre.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
Ed A/S
Salg af hard- og software.

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Send dine legacysystemer på pension og invitér standardløsninger indenfor

Legacysystemer er rygraden i mange organisationers it-infrastruktur, men før eller siden er det tid til at sige farvel og skifte til en eller flere standardløsninger. Vi udforsker scenarier og muligheder, der gør det muligt at rykke videre. Hvad er businesscasen? Hvilke krav stiller skiftet til din forretning og jeres processer? Hvordan

08. oktober 2024 | Læs mere


Dynamics 365 & Business Central - AI og branchemoduler

Udforsk, hvordan du kommer godt i gang med Business Central, får hjælp til at tilpasse platformen til dine behov og får mest ud af din ERP-løsning med begrænsede ressourcer.

23. oktober 2024 | Læs mere


Årets CISO 2024

Vær med når Computerworld, Dansk Erhverv og Rådet for Digital Sikkerhed tager temperaturen på trusselslandskabet lige nu, og giver dig overblikket over de nyeste trusler, de mest aktuelle tendenser og de bedste løsninger og værktøjer til at sikre effektiv drift og høj compliance.

24. oktober 2024 | Læs mere