Felsökningstips för Apache

Prova Vårt Instrument För Att Eliminera Problem

Hur många gånger har du installerat en LAMP-server bara för att hitta Apache verkar inte vilja köra rätt? Eller installerar du en ny modul bara för att se Apache försöka ladda ner sidor som fil istället för att visa dem på skärmen?

Det finns hundra och ett tusen saker som kan gå fel med installation av webbserver. Från en ny installation till en installation som har körts under lång tid vet du aldrig när något kommer att göra att din webbserver kommer på villkor. När det händer är det alltid trevligt att veta att Occams Razor vanligtvis gäller.

I den här tutorialen hittar du några råd som hjälper dig genom några av de vanligare problemen som kan dyka upp med en Apache-webbserver.

Kör din server faktiskt?

Tro det eller inte, det har hänt många administratörer. Du tar ner servern, gör lite underhåll, och när du går till servern ser du fel. Det första du gör är naturligtvis att kolla in det /etc/apache2/apache.conf fil för att se till att din syntax är korrekt. Men det är perfekt! Vad händer? Det första du kanske vill kontrollera är att se till att servern körs. Men du vill inte bara utfärda kommandot för att starta servern eller ladda om servern. Utge istället kommandot:

sudo /etc/init.d/apache2-status

Som borde returnera något som:

* apache körs (pid 9751).

Om inte, starta servern med endera:

sudo /etc/init.d/apache2 start

eller

sudo apache2ctl start

OBS: Om du använder en distribution som Fedora, SuSE eller Mandriva måste du först dess till rotanvändaren och utfärda kommandona ovan UTAN att använda sudo .

Det kör inte och det börjar inte

Har du bara gjort ändringar i din Apache-konfigurationsfil? Är ändringarna korrekta? Om du inte är säker kan du använda apache2ctl kommando för att kontrollera syntaxen för din konfigurationsfil. Detta görs med kommandot:

sudo apache2ctl-konfigurationstext

Ovanstående kommando bör rapportera:

Syntax OK

Om du inte får ett OK kommer du att få information som pekar på felen i din konfigurationsfil.

Apache vill ladda ner .php-filer!

Detta är en annan vanlig fråga. När du lägger till ett nytt verktyg på din webbserver (t.ex. Drupal), om din konfigurationsfil är korrekt inställd, kanske någon .php-fil inte visas. Istället kommer alla försök att visa en .php-fil istället att din webbläsare försöker ladda ner filen. Varför är detta? Apache måste informeras om att vissa tillägg ska visas, inte laddas ner. Detta görs från Apache-konfigurationsfilen. Öppna filen (på Ubuntu-servern är den /etc/apache2/apache2.conf) och leta först efter följande rad:

DirectoryIndex index.html

Om den filen inte inkluderar index.php nästan alla webbplatser som använder php kommer att göras värdelösa.

Den andra raden att leta efter är:

AddHandler-applikation / x-httpd-php .php

Om du hittar den här raden och kommenteras, se till att du avmarkerar den genom att ta bort tecknet '#'. Om den inte är där lägg till den i botten av konfigurationsfilen.

Och som alltid, när du gör en ändring av konfigurationsfilen, starta om Apache.

Vet var du ska leta efter problem

Slutligen är det viktigt att du vet vart du först ska vända dig när ovanstående inte hjälper dig. Varje gång jag har problem med Apache där Occam's Razor inte tillämpas, är det första jag loggar filerna.

Om du tittar in /var/log/apache2 hittar du åtminstone följande filer:

  • access.log: Detta håller reda på alla anslutningar som görs till din server.
  • error.log: Detta håller reda på alla fel som uppstår med Apache.
  • other_vhosts_access.log: Det är här som virtuella värdar loggar när den virtuella värden inte har föreskrivit sin egen loggfil.

Naturligtvis, eftersom din webbplats utvecklas så kommer dina tillgängliga loggfiler att göra. Oavsett vad du hittar i /var/log/apache2 , det är där du alltid ska vända dig först när du har problem. Redan innan du googlar.

Slutgiltiga tankar

Nu ska du kunna hantera några av de vanligare problemen med Apache-servern. Och om ditt problem inte är vanligt, vet du också var du ska vända dig för att hitta ledtrådar som leder dig ner på rätt väg till korrigering.