Author: Joakim Bomelin

Safe Mode On/Off

Uppdatering – 9/12 2010: Väldigt mycket har hänt sedan detta inlägg publicerades. Bland annat har vi genomfört den största uppgraderingen i Surftowns historia, vilket bland annat introducerar safe_mode = off och en memory_limit på hela 128 MB! Vi har även lanserat vår egna VPS-tjänst. Läs mer om uppgraderingen och vår VPS-tjänst.

Sedan ganska lång tid tillbaka får vi frågor kring varför vi kör PHP med safe_mode påslaget på våra webbservrar. Då dessa frågor dyker upp oftare och oftare, tänkte jag nu förklara de underliggande orsakerna till detta.

Apaches PHP-tolk körs som en modul inuti webbservern, vilket gör att dina PHP-script exekveras med samma rättigheter som Apaches systemanvändare har. Detta medför att Apacheanvändaren måste kunna tillgå alla användares filer på servern. För att undvika att en kund får tillgång till en annan kunds filer använder vi den inbyggda validering av användaridentiteter som PHP:s safe_mode-inställning tillhandahåller.

Denna validering säkerställer att ditt PHP-script bara kan få tillgång till dina filer, genom att scriptets ägarskap jämförs med ägarskapet på de filer det försöker tillgå. Vi har, trots idoga försök och grundliga efterforskningar, inte kunnat hitta en bättre lösning som lämpar sig för den driftmiljö vi för närvarande har. Därför har vi valt att behålla safe_mode påslaget tills vidare, för att kunna garantera dina filers säkerhet och samtidigt ge dina besökare den bästa möjliga upplevelsen.

Den bästa lösningen vi kan tänka oss för att komma runt detta problem idag, är att flytta ditt webbhotell till en virtuell privat server, en så kallad VPS. I skrivande stund kan vi dock inte erbjuda den tjänsten, men vi arbetar febrilt på att lansera våra VPS-paket inom kort. Som VPS-kund får du en helt egen, virtuell server, där du varken behöver dela resurser eller filsystem med andra användare.

Eftersom varje VPS bara tjänstgör för en specifik kund kan vi garantera att ingen annan kommer åt dina filer, och kan därför också erbjuda PHP med safe_mode frånslaget. Även om priserna på våra VPS-tjänster ännu inte är fastställda kommer de av naturliga skäl att kosta lite mer än våra webbhotell. Dock får du som VPS-kund en hel del fördelar som vi inte kan erbjuda i vår delade hostingmiljö, i form av mer frihet och större möjligheter.

För dig som inte är intresserad av en egen VPS försäkrar vi dig om att vi arbetar kontinuerligt för att hitta en lösning som tillåter användning av PHP med safe_mode frånslaget även i vår delade hosting, utan att för den sakens skull göra avkall på tjänstens säkerhet och kvalitet.

Vår förhoppning är att vi ska kunna erbjuda detta inom en inte allt för avlägsen framtid, inte bara för att safe_mode-funktionaliteten kommer att försvinna i och med PHP version 6.0, men också just för att fler och fler kunder efterfrågar möjligheten.

Kaffe.

Som alla vet är IT-branschen ingen barnlek. Här på Surftown jobbar vi så hårt att vi ibland (läs: hela tiden) måste droga oss. Eftersom de flesta droger är både skadliga, beroendeframkallande och olagliga har vi, som de flesta andra, valt att hålla oss till att missbruka koffein – som ju förutom att det är helt lagligt varken är skadligt eller beroendeframkallande! *host host*

Koffein kan fås från ett flertal källor, men eftersom vi arbetar under devisen ”förena nytta med nöje” har vi valt att kombinera intaget av denna prestationshöjande substans med en orgie i smaksensationer. Jag pratar naturligtvis om gudarnas nektar – kaffe!

Kaffet kom (som tur är) till Europa från Afrika via Italien, genom Turkiet och Persien och ett par andra platser, när Osmanska kriget spred sig uppåt via balkanhalvön på 1680-talet. Den Osmanska armén belägrade Wien, förlorade slaget och flydde hals över huvud (pigga små rackare, de där Osmanerna). Kvar blev flera hundra kilo bönor, vilket blev startskottet för det centraleuropeiska kaffesörplandet. Inget ont som inte för något gott med sig, säger man ju.

I Sverige började kaffet breda ut sig i början av 1700-talet, vilket snart ledde till att drycken förbjöds. Personer som ertappades med att dricka kaffe blev bötfällda, men som väl är varade förbudet inte mer än några år.

Kaffet var under en period en riktig lyxvara som mer eller mindre enbart fanns tillgänglig för de europeiska hoven, och för att förhindra spekulationsaffärer förbjöds importen av kaffebönor till Sverige. Vi har också varit igenom ett antal kaffeförbud, vilket ledde till att illegala kaffehus skapades.

Under 1800-talet intog européerna nya besittningar i Afrika och utökade då odlandet av kaffet. För första gången blev kaffe en allemansvara, och under senare delen av 1800-talet kunde även arbetarklassen ha råd att njuta av en kopp. På den tiden köptes hela bönor som rostades och maldes hemma, men under 1900-talets andra halva blev färdigrostat och färdigmalet kaffe allt vanligare.

Nu har vi kommit en bit in i 2000-talet, och kaffet har en viktigt plats i mångas liv, såväl det profesionella som det kulturella. Kaffetrender kommer och går, men det enda vi kan vara säkra på är att dryckens förträfflighet består!

Med denna lilla historielektion vill vi önska er alla en riktigt trevlig helg med massvis av utsökta koppar kaffe. Och kom ihåg, det finns bara ett felaktigt sätt att tillreda en kopp kaffe – och det är att låta bli! 🙂

E-postproblem sucks

Som flera av er troligen märkt vid det här laget har vi under natten mellan torsdag och fredag haft en del störningar i vårt nya e-postsystem. Problemet är löst sedan kl. 10:00 idag, och även om en del förseningar fortfarande förekommer så levereras all e-post som den skall.

Problemet uppstod när samtliga databasservrar överbelastades samtidigt, vilket inträffade till följd av en uppdatering som gjordes under torsdagsförmiddagen. I vårt arbete för att utöka användarnas möjligheter till ett personligt anpassat antispam-filter hade vi dessvärre förbisett att AMaViS som är den mjukvara som hanterar virus- och spamscanning av e-post, dessvärre inte riktigt kunde hantera black- eller whitelists som innehöll mer än 6000 adresser. Detta berodde på att black- och whitelisting hanteras av en PostgreSQL-databas, vars scriptspråk har en begränsning i hur stora reguljära uttryck som kan exekveras utan att databasen hänger sig.

Överbelastningen av databasservrarna medförde i sin tur att loopdetect, som är den del av vårt e-postsystem som hanterar MX-loops, dvs e-postmeddelanden som skickas fram och tillbaka mellan två eller flera e-postservrar, inte kunde komma åt sin databas. Loopdetect tar emot ett e-postmeddelande från postfix, kontrollerar om det skickats genom e-postsystemet mer än ett visst antal gånger, och skickar sedan tillbaka det till postfix igen. Om meddelandet passerat igenom systemet ett flertal gånger uppdateras en databas, så att e-postservern kan hämta information om den faktiska slutdestinationen därifrån istället för från sin namnserver, och på så sätt snabba upp leveransen.

Eftersom kommunikationskanalen mellan loopdetect-programmet och postfix redan var öppen när databasanslutningen misslyckades resulterade det i att tomma meddelanden sändes vidare för leverans när kanalen stängdes utan att något e-postmeddelande överförts, samtidigt som de riktiga meddelandena åter placerades i kö på e-postservern för nytt leveransförsök en stund senare. Om samma problem då uppstod igen blev resultatet att ytterligare ett tomt meddelande skickades iväg, samtidigt som det ursprungliga åter hamnade i kö på servern.

Den reela effekten för den slutgiltiga mottagaren blev således att ett antal tomma e-postmeddelanden levererades innan det intakta e-postmeddelandet levererades korrekt.

Felet har rättats till, och en ny version av loopdetectmjukvaran är installerad på våra servrar. Vi har också optimerat PostgreSQL och PGPool-II för att säkerställa en stabil och högtillgänglig databasförbindelse. Vi bedriver ett ständigt arbete för att förbättra vår e-posttjänst, då vi vet att den är en stor och viktig del av våra kunders Internetnärvaro.

Slutligen vill jag poängtera att inga e-postmeddelanden, vare sig skickade eller mottagna, har gått förlorade. Alla meddelanden som passerat våra system under den problemfyllda perioden har levererats till sina slutgiltiga mottagare, dock med tomma dubletter och en del förseningar som följd av det inträffade.

Detta inlägg är skrivet av en av våra två svenska Linux-tekniker, Joakim Bomelin. Han är en av de som bland annat ser till att våra e-postservrar fungerar stabilt och tillfredställande. Och även en av dem som ni ska bli sura på när saker och ting inte fungerar som det ska… 😉