Fel 1: Apache startar inte efter en ändring

Apache är fortfarande ryggraden på många svenska företags webbservrar, och Amazon Linux 2023 är ett vanligt val på AWS. När något går fel syns det ofta som en tjänst som inte startar eller en sida som aldrig laddar. Efter att vi hade ändrat en virtualhost-fil misslyckades omstarten av tjänsten. Felmeddelandet från systemd var kortfattat och hänvisade bara till statuskommandot. Därför körde vi apachectl configtest, som pekade ut den exakta raden: en avslutande tagg för IfModule saknade motsvarande öppnande tagg i den automatiskt skapade HTTPS-filen för sajten. Lärdomen är att alltid köra configtest före omstart, så att sajten inte stängs ned av ett skrivfel och så att felet hittas på några sekunder. Kommandot journalctl ger dessutom mer detaljer från tjänstens logg när configtest inte räcker. Business IT Support driftar Apache, PHP och MariaDB på AWS Linux åt flera WordPress-sajter, och den här rutinen sparar oss mycket tid. En liten rutin som den här minskar risken för onödiga driftstopp och gör det enklare att lägga in ändringar under arbetsdagen.

Terminal som kör apachectl configtest och visar ett syntaxfel – Apache på Amazon Linux, Business IT Support
Terminal som kör apachectl configtest och visar ett syntaxfel. Så arbetar Business IT Support, en del av Datorkirurgen AB, med Apache på Amazon Linux åt företag i hela Sverige.

Fel 2: virtualhost, domäner och HTTPS-regler

Varje sajt på samma server behöver en egen virtualhost med ServerName, ServerAlias, dokumentrot och loggfiler. Dessutom behöver HTTP-sidan omdirigera till HTTPS och till rätt variant av domänen, med eller utan www. När flera sajter delar server är det avgörande att hålla samma struktur för alla, så att felsökningen blir förutsägbar och så att en ändring för en sajt inte påverkar de andra. Vi använder separata loggfiler per sajt, vilket gör att fel går att härleda till rätt domän på några sekunder i stället för att leta i en gemensam logg. Rewrite-reglerna samlas på ett ställe och kommenteras, så att den som tar över drift eller felsökning förstår vad varje regel gör. Ett saknat alias eller en felstavad domän kan göra att besökare hamnar på fel sajt eller får certifikatvarning, och därför granskar vi virtualhost-filerna noga varje gång en ny domän läggs till på servern. Tydlig struktur är billig att införa från början men dyr att bygga i efterhand när servern redan hyser många sajter.

Apache-virtualhost med ServerName och ServerAlias – Apache på Amazon Linux, Business IT Support
Apache-virtualhost med ServerName och ServerAlias. Kontakta Datorkirurgen AB för hjälp med Apache på Amazon Linux: felsökning, åtgärd och löpande support.

Fel 3: Omdirigerade dig för många gånger

En annan sajt på servern svarade med felet ERR_TOO_MANY_REDIRECTS. Det innebär att webbläsaren har fastnat i en loop av omdirigeringar. Vi felsökte i ordning. Först testade vi med curl och flaggorna för att visa huvuden och följa omdirigeringar, och läste varje Location-huvud för att se var kedjan går runt. Därefter kontrollerade vi värdena home och siteurl i WordPress, som ska använda samma protokoll och domän som Apaches regler. Sedan såg vi över RewriteRule och RewriteCond i virtualhost och .htaccess, så att inte två regler omdirigerar varandra. Vi stängde också av omdirigeringar i plugin tillfälligt för att utesluta dem, och rensade cache och cookies i webbläsaren innan nytt test. Vi testade även WordPress admin-ajax med curl och fick svaret 302 Found med en ny adress, vilket visade vilken regel som skickade vidare förfrågan. Orsaken är ofta att två lager vill omdirigera samma sak, till exempel Apache och WordPress. Genom att arbeta metodiskt och ändra en sak i taget hittar man orsaken utan att skapa nya problem på vägen.

Webbläsaren visar felet ERR_TOO_MANY_REDIRECTS – Apache på Amazon Linux, Business IT Support
Webbläsaren visar felet ERR_TOO_MANY_REDIRECTS. Exempel från ett verkligt uppdrag inom Apache på Amazon Linux, utfört av Business IT Support.

Kontrollera PHP-FPM och php.ini

När Apache fungerar måste PHP göra det också. Vi kontrollerade att tjänsten php-fpm var aktiv med systemctl och justerade värden i php.ini, till exempel minnesgräns och uppladdningsstorlek, eftersom för låga värden ger fel vid stora uppladdningar eller tunga plugin. Därefter startade vi om php-fpm och Apache och testade sajten igen. Det är viktigt att ändra ett värde i taget och att anteckna vad som ändrats, så att man kan gå tillbaka om något beter sig annorlunda. På en server som delas av flera sajter bör man även följa minnesanvändningen efter ändringen, eftersom en höjd gräns påverkar alla. Vi sätter ofta upp övervakning och larm i samband med sådana ändringar, så att en framtida belastningstopp upptäcks innan besökarna märker något. Samma noggrannhet gäller MariaDB, där felaktiga inställningar kan ge långsamma sidor eller avbrott som är svåra att spåra utan loggar och mätvärden från servern. Små inställningar som dessa avgör ofta om en sajt känns snabb och stabil eller om besökarna möts av fel.

curl-test mot WordPress admin-ajax som returnerar 302 Found – Apache på Amazon Linux, Business IT Support
curl-test mot WordPress admin-ajax som returnerar 302 Found. Rätt hantering av Apache på Amazon Linux skyddar verksamheten mot driftstopp och förlorade kunder.

Kontakta Datorkirurgen AB om Apache och serverdrift

En webbserver som inte startar eller en sajt som går i loop kostar pengar varje timme: förlorade förfrågningar, missade beställningar och ett sämre rykte hos både kunder och sökmotorer. Business IT Support, en del av Datorkirurgen AB, hjälper företag i hela Sverige med molnbackup, serverdrift, e-postsäkerhet och incidenthantering. Vi kan ta över driften av era Apache- och PHP-servrar, sätta upp övervakning och larm, ordna backup och dokumentera konfigurationen så att den blir begriplig för alla. Vid akuta fel felsöker vi snabbt med configtest, loggar och curl, och efteråt lämnar vi en kort rapport om orsak och åtgärd. Kontakta oss så går vi igenom er miljö och föreslår åtgärder i prioriterad ordning. Ju tidigare ni får ordning på konfigurationen, desto mindre risk för nästa avbrott, och desto lugnare kan ni fokusera på er egen verksamhet i stället för på servern. Vi tar gärna ett första samtal utan förpliktelser, så att ni vet vad som är rimligt att göra och i vilken ordning.

Redigering av php.ini och kontroll av php-fpm på Amazon Linux – Apache på Amazon Linux, Business IT Support
Redigering av php.ini och kontroll av php-fpm på Amazon Linux. Behöver ni hjälp med Apache på Amazon Linux? Business IT Support, en del av Datorkirurgen AB, hjälper er.

Vanliga supportfrågor

Frågor om Apache och configtest

Frågor om virtualhost och omdirigering

Frågor om PHP, drift och support

[dk_natverk compact=”1″]

Leave a Reply

Your email address will not be published. Required fields are marked *