Tip til fejlfinding af Apache

Prøv Vores Instrument Til At Fjerne Problemer

Hvor mange gange har du kun installeret en LAMP-server for at finde, at Apache ikke ser ud til at køre rigtigt? Eller installerer du kun et nyt modul for at se Apache prøve at downloade sider som fil i stedet for at vise dem på skærmen?

Der er hundrede og tusind ting, der kan gå galt med enhver webserverinstallation. Fra en ny installation til en installation, der har kørt i lang tid, ved du aldrig, hvornår noget kommer til at få din webserver til at komme på afveje. Når det sker, er det altid rart at vide, at Occam's Razor normalt gælder.

I denne tutorial finder du nogle råd, der hjælper dig gennem nogle af de mere almindelige problemer, der kan dukke op med en Apache-webserver.

Kører din server faktisk?

Tro det eller ej, dette er sket med mange administratorer. Du tager serveren ned, foretager noget vedligeholdelse, og når du går til tjekker serveren får du fejl. Den første ting, du gør, er naturligvis at tjekke det ud /etc/apache2/apache.conf fil for at sikre, at din syntaks er korrekt. Men det er perfekt! Hvad så? Den første ting, du måske vil tjekke, er at sikre dig, at serveren kører. Men du vil ikke blot udstede kommandoen til at starte serveren eller genindlæse serveren. Giv i stedet kommandoen:

sudo /etc/init.d/apache2 status

Hvilket skulle returnere noget som:

* apache kører (pid 9751).

Hvis ikke, skal du starte serveren med enten:

sudo /etc/init.d/apache2 start

eller

start apache2ctl

BEMÆRK: Hvis du bruger en distribution som Fedora, SuSE eller Mandriva, skal du først dens til rodbrugeren og udsend ovennævnte kommandoer UTEN at bruge sudo .

Det kører ikke, og det starter ikke

Har du lige foretaget ændringer i din Apache-konfigurationsfil? Er ændringerne korrekte? Hvis du ikke er sikker, kan du bruge apache2ctl kommando til at kontrollere syntaks for din konfigurationsfil. Dette gøres med kommandoen:

sudo apache2ctl-konfiguration

Ovenstående kommando skal rapportere:

Syntaks OK

Hvis du ikke får et OK, får du oplysninger, der peger på fejlene i din konfigurationsfil.

Apache vil downloade .php-filer!

Dette er et andet almindeligt spørgsmål. Når du tilføjer et nyt værktøj på din webserver (f.eks. Drupal), hvis din konfigurationsfil er konfigureret korrekt, vises muligvis ikke nogen .php-fil. I stedet vil ethvert forsøg på at se en .php-fil i stedet have din browser til at prøve at downloade filen. Hvorfor er det? Apache skal informeres om, at visse udvidelser skal vises og ikke downloades. Dette gøres fra Apache-konfigurationsfilen. Åbn den fil (på Ubuntu-serveren vil den være /etc/apache2/apache2.conf) og kig først efter følgende linje:

DirectoryIndex index.html

Hvis denne fil ikke inkluderer index.php næsten alle websteder, der bruger php, bliver ubrugelig.

Den anden linje, der skal kigge efter, er:

AddHandler-applikation / x-httpd-php .php

Hvis du finder denne linje, og den er kommenteret, skal du sørge for at fjerne den fra ved at fjerne '#' tegnet. Hvis det ikke er der, tilføj det til bunden af ​​konfigurationsfilen.

Og som altid, når du foretager en ændring af konfigurationsfilen, skal du genstarte Apache.

Ved, hvor du skal kigge efter problemer

Endelig er det vigtigt, at du ved, hvor du først skal dreje, når ovenstående ikke hjælper dig. Hver gang jeg har et problem med Apache, hvor Occam's Razor ikke finder anvendelse, er det første sted, jeg vender, logfilerne.

Hvis du kigger ind / Var / log / apache2 du finder i det mindste følgende filer:

  • access.log: Dette holder styr på enhver forbindelse, der oprettes til din server.
  • error.log: Dette holder styr på eventuelle fejl, der opstår med Apache.
  • other_vhosts_access.log: Det er her, virtuelle værter logger, når den virtuelle vært ikke har fået ordret sin egen logfil.

Når dit websted udvikler sig, bliver naturligvis dine tilgængelige logfiler naturligvis. Uanset hvad du finder i / Var / log / apache2 , det er her du altid skal dreje først, når du har problemer. Selv før du google.

Endelige tanker

Nu skal du være i stand til at håndtere nogle af de mere almindelige problemer med Apache-serveren. Og hvis dit problem ikke er almindeligt, ved du også, hvor du skal vende dig for at finde ledetråde, der fører dig ned ad den rigtige vej til korrektion.