Site wordt niet weergegeven (Apache)
Diagnose - In welke hoek moet je het zoeken?
De eerste stap is, om een inschatting te maken in welke schakel van de keten het probleem schuilt. Denk aan:
De truuk is om te achterhalen waar het probleem zit. Bv.:
- DNS
- Webserver
- Serveerbare content - Bv. PHP-fouten.
De foutmelding geeft vaak al heel aardig aan in welke hoek je de storing moet zoeken.
Diagnose - Losse tests
Diverse losse tests, met de nadruk op los: Als je eerst bepaalt waar in de keten de oorzaak lijkt te liggen, kun je veel doelgerichter gaan testen.
Is er serveerbare content?
- Controleer of op de bewuste plek een index.htm-, index.html- of index.php-bestand staat
- Voeg index.html of index.php toe aan de URL. Als het nu wel werkt → Storing Apache virtual configuration file, of storing met .htaccess-bestand
- Probeer met en zonder 'www'. Standaard doe ik domeinnamen zonder 'www'. Let op: in
/etc/hosts
doe ik domeinnamen zonder 'www'.
Bekijk Apache-log
tail /var/log/apache2/error.log
Kloppen bestandsrechten?
Snelle controle:
- Bestanden moeten leesbaar zijn voor derden
- Mappen moeten leesbaar en executeerbaar zijn voor derden.
Apache-status virtuele hosts?
Staat de betreffende vhost in de lijst die je krijgt met apachectl -S
?
Is de domeinnaam te vinden?
- Wat geeft
ping
? - Is
/etc/hosts
bijgewerkt?
Verdwaald .htaccess-bestand?
- Is bij het opzetten van het domein, misschien een
.htaccess
-bestand meegekomen? Er is een kans dat dat niet compatibel is - Hernoem dat bestand naar bv.
.htaccess-bk01
.
Tikfout domeinnaam apachectl?
- Geef commando
apachectl -S
- Kopiëer de genoemde domeinnaan, en plak deze in een browser.
Inspecteer virtueel hostbestand
sudo vim /etc/apache2/sites-available/<domeinnaam>
Geen gekke dingen?
Roep site op vanaf de server
lynx <domeinnaam>
Als de site getoond wordt: → Hoog tijd om de cache van de browser te legen of te testen met een andere browser
Test met andere browser
- Vaak sneller om (in mijn geval) te testen met Chromium, dan om de cache te legen van Firefox
- Let op: Chromium doet gekke dingen qua cache. Ik probeer 'm zo min mogelijk te gebruiken.
Leeg browser-cache
Herstart Apache
sudo service apache2 restart
Casussen
Deze casussen houd ik bij om de volgorde van de stappen hierboven te kunnen aanpassen.
Nov. 2015: Verdwaald .htaccess-bestand
Heel onwaarschijnlijke fout, maar toch.
Nov. 2015: /etc/hosts-bestand niet bijgewerkt op client-computer
Dit bleek na ping
.
Nov. 2015: Server herstarten
Oorzaak was onduidelijk, maar de oplossing niet: Apache herstarten.
Nov. 2015: Browser-cache legen
De site werd wel goed weergegeven vanaf de server, en ook in Chrome. Ook was het opvallend dat de browser bij refresh instantaan dezelfde foutmelding gaf → Laatste uur van de cache geleegd. Probleem opgelost.
Dec. 2015: .htpasswd/.htaccess bijwerken
Na migratie van een wachtwoord-beveiligde site, moest ik de .htpasswd/.htaccess-bestanden bijwerken:
- Het wachtwoord uit
.htpasswd
toevoegen aan het bestaande.htpasswd
-bestand - Code in
.htaccess
-bestand bijwerken (wijst zich vanzelf).