Tipy pro odstraňování problémů s Apache
- Kategorie: Rozvoj
Kolikrát jste nainstalovali server LAMP pouze za účelem zjištění, že Apache zřejmě nechce běžet správně? Nebo nainstalujete nový modul pouze proto, aby se Apache pokusil stáhnout stránky jako soubor, místo jejich zobrazení na obrazovce?
Při instalaci jakéhokoli webového serveru se může stát sto tisíc věcí. Od nové instalace po instalaci, která již běží dlouhou dobu, nikdy nevíte, kdy něco způsobí, že váš webový server zmizí. Když se to stane, vždy je příjemné vědět, že obvykle platí Occam's Razor.
V tomto tutoriálu najdete několik rad, které vám pomohou při řešení některých běžnějších problémů, které se mohou objevit na webovém serveru Apache.
Je váš server skutečně spuštěn?
Věřte tomu nebo ne, stalo se to spousty správců. Sejmete server dolů, provedete nějakou údržbu a když jdete podívat na server, dochází k chybám. První věc, kterou samozřejmě uděláte, je podívat se na to /etc/apache2/apache.conf soubor, abyste se ujistili, že je vaše syntaxe správná. Ale je to perfektní! Co se děje? První věc, kterou byste mohli chtít zkontrolovat, je zajistit, aby server fungoval. Nechcete však pouze vydat příkaz ke spuštění serveru nebo jeho opětovnému načtení. Místo toho zadejte příkaz:
stav sudo /etc/init.d/apache2
Což by mělo vrátit něco jako:
* apache běží (pid 9751).
Pokud ne, spusťte server buď:
sudo /etc/init.d/apache2 start
nebo
sudo apache2ctl start
POZNÁMKA: Pokud používáte distribuci jako Fedora, SuSE nebo Mandriva, musíte nejprve své kořenovému uživateli a bez výše uvedených příkazů vydejte výše uvedené příkazy sudo .
Neběží a nezačne
Provedli jste pouze změny v konfiguračním souboru Apache? Jsou změny správné? Pokud si nejste jisti, můžete použít apache2ctl příkaz ke kontrole syntaxe konfiguračního souboru. To se provádí příkazem:
configtext sudo apache2ctl
Výše uvedený příkaz by měl hlásit:
Syntaxe OK
Pokud neobdržíte OK, získáte informace, které ukazují na chyby v konfiguračním souboru.
Apache chce stáhnout soubory .php!
Toto je další běžný problém. Pokud na webový server přidáte nový nástroj (například Drupal), pokud je konfigurační soubor správně nastaven, nemusí se zobrazit žádný soubor .php. Místo toho se při každém pokusu o zobrazení souboru .php bude váš prohlížeč pokoušet soubor stáhnout. Proč je to? Apache musí být informován, že určitá rozšíření mají být zobrazena, nikoli stažena. To se provádí z konfiguračního souboru Apache. Otevřete tento soubor (na serveru Ubuntu to bude /etc/apache2/apache2.conf) a nejprve vyhledejte následující řádek:
DirectoryIndex index.html
Pokud tento soubor neobsahuje index.php téměř všechny weby, které používají php, budou považovány za zbytečné.
Druhý hledaný řádek je:
Aplikace AddHandler / x-httpd-php .php
Pokud najdete tento řádek a je okomentován, ujistěte se, že jste jej zrušili odstraněním znaku #. Pokud tam není, přidejte jej na konec konfiguračního souboru.
A jako vždy, když provedete změnu konfiguračního souboru, restartujte Apache.
Zjistěte, kde hledat problémy
A konečně je důležité, abyste věděli, kam se nejprve otočit, když vám výše uvedené řešení nepomůže. Kdykoli mám problém s Apache, kde se nevztahuje Razcam společnosti Occam, na prvním místě, kam se obrátím, jsou soubory protokolu.
Pokud se podíváte dovnitř / Var / log / apache2 najdete alespoň následující soubory:
- access.log: Sleduje veškerá připojení k vašemu serveru.
- error.log: Sleduje všechny chyby, které se vyskytnou v Apache.
- other_vhosts_access.log: Zde se budou virtuální hostitelé protokolovat, pokud virtuální hostitel nebyl předepsán svůj vlastní soubor protokolu.
Samozřejmě, jak se váš web vyvíjí, tak se budou i vaše dostupné soubory protokolu. Bez ohledu na to, co najdete / Var / log / apache2 , tam byste se měli vždy nejprve otočit, když máte problémy. Ještě před vámi google.
Závěrečné myšlenky
Nyní byste měli být schopni řešit některé častější problémy se serverem Apache. A pokud váš problém není běžný, také víte, kam se obrátit a najít stopy, které vás dovedou dolů správnou cestou k nápravě.