I forbindelse med et fag jeg tar dette semesteret har jeg behov for en lokal webserver med php. Jeg støtte på en del fartsbumper underveis, og fant ut at det som fantes av hjelp på nett var spredt og usammenhengende. Så her er oppskriften:
Først, installer Apache: yum install httpd
Start serveren: /etc/init.d/httpd start og besøk localhost i din favorittnettleser. Hvis alt har gått bra skal du få en velkomstside som forklarer hvor du skal legge websidene du lager. Denne velkomstsiden er definert i /etc/httpd/conf.d/welcome.conf
. Hvis du vil at directory listing skal fungere må du kommentere ut all teksten i denne filen, det er ikke nok å bare sette Options Indexes i httpd.conf
, som kommentarene i konfigurasjonsfilen eller utallige websider om Apache-konfigurering kan lokke deg til å tro.
Her startet mine problemer. Jeg ønsket nemlig å sette dokumentroten til en underkatalog av hjemmekatalogen min: /home/eira/www/
. Katalogen var korrekt chmoddet til 755, og filen til 644. Men så snart jeg satte dette som dokumentrot fikk jeg feilmelding 403 Forbidden når jeg forsøkte å laste testsiden min. Etter lang tids fikling med /etc/httpd/conf/httpd.conf
, permissions, symlinker og ikke særlig informative feilmeldinger viste det seg at løsningen var enkel, men ikke åpenbar: Katalogen /home/eira
måtte chmoddes til 711. Apache krever at alle katalogene i treet opp til dokumentroten har +x for alle brukere.
Så langt så godt. Neste post er PHP: yum install php
Da jeg hadde installert php var faktisk alt i orden, jeg visste det bare ikke. Jeg kunne ikke finne noen mod_php
noe sted, og uten å vite filnavnet visste jeg ikke hva jeg skulle skrive inn i httpd.conf
for å laste modulen. Etter en del googling og sammenpusling av informasjon fra noen epostlistearkiver fant jeg ut at filen slett ikke het mod_php
, men libphp4
, og at installasjonen av php hadde lagt til en php.conf
med alle nødvendige innstillinger i /etc/httpd/conf.d/
. Med standardinnstillinger inkluderer Apache konfigurasjonsfilene den finner i denne katalogen. Så alt jeg trengte å gjøre var å omstarte httpd: /etc/init.d/httpd restart.
Om du har kommet så langt er det bare å teste php-installasjonen. Lag en fil ved navn helloworld.php
i dokumentroten, skriv teksten <? print("Hello World") ?>
, lagre og laste den i nettleseren.