Apache feilsøkingstips

Prøv Instrumentet Vårt For Å Eliminere Problemer

Hvor mange ganger har du installert en LAMP-server bare for å finne at Apache ikke ser ut til å ønske å kjøre riktig? Eller installerer du en ny modul bare for å se Apache prøve å laste ned sider som fil, i stedet for å vise dem på skjermen?

Det er hundre og ett tusen ting som kan gå galt med hvilken som helst webserverinstallasjon. Fra en ny installasjon til en installasjon som har kjørt lenge, vet du aldri når noe kommer til å føre til at webserveren din kommer på villspor. Når det skjer, er det alltid hyggelig å vite at Occams Razor vanligvis gjelder.

I denne opplæringen vil du finne noen råd som vil hjelpe deg gjennom noen av de mer vanlige problemene som kan dukke opp med en Apache-webserver.

Kjører serveren din egentlig?

Tro det eller ei, dette har skjedd med mange administratorer. Du tar ned serveren, gjør noe vedlikehold, og når du går til sjekk på serveren får du feil. Det første du gjør er naturlig nok å sjekke ut det /etc/apache2/apache.conf fil for å sikre at syntaksen din er riktig. Men det er perfekt! Hva skjer? Det første du kanskje vil sjekke, er å sørge for at serveren kjører. Men du vil ikke bare gi kommandoen for å starte serveren eller laste inn serveren på nytt. Gi i stedet kommandoen:

sudo /etc/init.d/apache2-status

Som skal returnere noe som:

* apache kjører (pid 9751).

Hvis ikke, start serveren med en av:

sudo /etc/init.d/apache2 start

eller

sudo apache2ctl start

MERKNAD: Hvis du bruker en distribusjon som Fedora, SuSE eller Mandriva, må du først det er til rotbrukeren og utgi kommandoene ovenfor UTEN å bruke sudo .

Den kjører ikke, og den vil ikke starte

Gjorde du bare endringer i Apache-konfigurasjonsfilen? Er endringene riktige? Hvis du ikke er sikker, kan du bruke apache2ctl kommando for å sjekke syntaks for konfigurasjonsfilen. Dette gjøres med kommandoen:

sudo apache2ctl konfigurasjon

Kommandoen ovenfor skal rapportere:

Syntaks OK

Hvis du ikke får noe OK, vil du få informasjon som peker til feilene i konfigurasjonsfilen.

Apache ønsker å laste ned .php-filer!

Dette er en annen vanlig problemstilling. Når du legger til et nytt verktøy på webserveren din (for eksempel Drupal), hvis konfigurasjonsfilen er konfigurert riktig, vil kanskje ikke noen .php-filer vises. I stedet vil ethvert forsøk på å vise en .php-fil i stedet ha nettleseren din til å prøve å laste ned filen. Hvorfor er det sånn? Apache må informeres om at visse utvidelser skal vises, ikke lastes ned. Dette gjøres fra Apache-konfigurasjonsfilen. Åpne den filen (på Ubuntu-serveren vil den være /etc/apache2/apache2.conf) og se først etter følgende linje:

DirectoryIndex index.html

Hvis den filen ikke inkluderer index.php nesten alle nettsteder som bruker php, blir gjort ubrukelig.

Den andre linjen å se etter er:

AddHandler-applikasjonen / x-httpd-php .php

Hvis du finner denne linjen, og den blir kommentert, må du passe den for å kommentere den ved å fjerne '#' tegnet. Hvis den ikke er der, legg den til bunnen av konfigurasjonsfilen.

Og som alltid, når du gjør en endring i konfigurasjonsfilen, start Apache på nytt.

Vet hvor du skal se etter problemer

Til slutt er det avgjørende at du vet hvor du først skal vri deg når ovenstående ikke hjelper deg. Hver gang jeg har et problem med Apache der Occam's Razor ikke gjelder, er det første jeg logger filene.

Hvis du ser inn / Var / log / apache2 du finner minst følgende filer:

  • access.log: Dette holder oversikt over enhver forbindelse som er opprettet til serveren din.
  • error.log: Dette holder oversikt over eventuelle feil som oppstår med Apache.
  • other_vhosts_access.log: Det er her virtuelle verter logger seg når den virtuelle verten ikke har fått forskrevet sin egen loggfil.

Når nettstedet utvikler seg, vil selvfølgelig de tilgjengelige loggfilene dine. Uansett hva du finner i / Var / log / apache2 , det er der du alltid bør vende deg når du har problemer. Selv før du googler.

Siste tanker

Nå skal du kunne håndtere noen av de mer vanlige problemene med Apache-serveren. Og hvis problemet ikke er vanlig, vet du også hvor du kan henvende deg for å finne ledetråder som vil føre deg nedover rett vei til korreksjon.