2016-12-13

December 2016 - Ny server klar!

Jag har nu konfigurerat klart och testat den nya servern ett par månader och den är nu redo för kunder. Både den nya och den gamla servern är LAMP-server, dvs. Linux, Apache, MySQL och PHP.
Jämförelse mellan den gamla och den nya servern:
GamlaNya
Operativsystem:Debian 6 (Squeeze)Debian 8 (Jessie)
Arkitektur:32-bit64-bit
PHP:5.35.6
Apache:2.22.4
MySQL:5.15.5

Siffrorna ovan säger kanske inte jättemycket för alla och det ser kanske inte ut som så stora hopp, men om man kollar releasedatum för dem så ser man att det är flera års utveckling mellan varje.
Debian 6 kom 2011 och Debian 8 kom 2015. PHP 5.3 kom 2009 och 5.6 kom 2014. Apache 2.2 lanserades 2005 och 2.4 2012. MySQL 5.1 kom 2008 och 5.5 2010.

De gamla versionerna har fått uppdateringar hela tiden så deras senaste version är så klart nyare än när den lanserades, men det är skillnad på att få säkerhetsuppdatering och buggfixar jämfört med nya funktioner och större förbättringar. Hastigheten mellan PHP 5.3 och 5.6 är att 5.6 nästan är dubbelt så snabb.

Den nya servern har också en ny säkerhetslösning för PHP som bygger på samma princip som på den gamla, dvs. att endast ägaren av en fil får exekvera den. Det förhindrar att man kan köra och titta andras filer. Skillnaden är implementation som har högre prestanda.

Totalt sett med alla förbättringar och nya versioner och att det nu är ett 64-bitarssystem så ska den nya servern vara betydligt snabbare än den gamla. I mina tester så har jag haft hälften så mycket CPU och RAM på den nya servern och den har ändå varit snabbare än den gamla vilket verkar väldigt lovande.

Borttaget:
Squirrelmail
Mailman
Git
SVN
PostgreSQL

System och tjänster som uppdaterats sedan förra uppdateringen:
  •  Inga

2016-11-02

November 2016 - Använd externa tjänster

Under den senaste månaden har jag städat bort tjänster som inte används för att göra webbhotellet mer optimerat. En anledning till att tjänster inte används är för att det finns så många bra externa tjänster som erbjuder bättre funktionalitet.

GitHub och BitBucket för versionshantering och MailChimp för mailinglistor för att nämna några.

Använd de externa tjänster som gör jobbet bra och undvik att skapa eller hantera helt egna. Egna tjänster tenderar att fungera sämre och sämre med tiden eftersom de underhålls väldigt lite och mer avancerade funktioner kommer inte dit.

Många av tjänsterna är också helt gratis eller har en relativt låg kostnad så det är ofta inget hinder.

System och tjänster som uppdaterats sedan förra uppdateringen:

2016-10-08

Oktober 2016 - Åtgärda alla fel och varningar kontinuerligt

För att öka sannolikheten för att allt ska fungera felfritt så bör man se till att hela tiden städa bort och åtgärda de problem som upptäcks. Vänta inte med att åtgärda dem tills de är akuta och måste fixas. Försök istället att kontinuerligt åtgärda dem.

Ett exempel från mig själv. Varje natt körs ett antal jobb på webbhotellet som validerar konton, kollar quota, gör backuper, städar gamla filer, analyserar loggar med mera. Ofta finns något eller några fel med, men det är ytterst sällan det är något kritiskt som faktiskt behöver åtgärdas så man kan lämna dem utan åtgärd. Problemet då är att man sänker nivån och tillåter fler och fler fel. Till slut så är det svårt att upptäcka verkliga akuta fel eftersom det är så många fel som inte måste åtgärdas eller så exploderar felet och går från att vara fel på ett konto till att inkludera samtliga konton.

Av den anledningen är det viktigt att kontinuerligt åtgärda de fel som uppstår. Man vet ju faktiskt inte om de obetydliga felen beror på något betydligt mer allvarligt fel som till slut sänker hela systemet. Gå igenom error-loggarna från webbservern regelbundet. Kolla minst en gång per månad och fixa i alla fall ett fel eller varning varje gång du gör det. Till slut så ser loggen väldigt fin ut. Webbserverns error-logg ska ju egentligen vara så gott som tom förutom eventuella attacker och felsurfningar.

Upptäcker man ett fel som man inte kan åtgärda på en gång så lägg in det i ditt ärendehanteringssystem, sätt upp på din todo-lista eller boka in en tid i kalendern för att åtgärda det. Det viktiga är att få kontroll på dem.

System och tjänster som uppdaterats sedan förra uppdateringen:

2016-09-09

September 2016 - Kom ihåg att uppdatera

Det är lätt att man glömmer av att uppdatera sin mjukvara och alla installationer överallt. Om det inte går att automatisera och ni glömmer av det så lägg in en påminnelse i kalendern att minst en gång i månaden se över alla datorer, servrar, mobiltelefoner, surfplattor m.m.
Varför uppdatera? Det är för att hålla säkerheten på en tillräckligt hög nivå så att inte vem som helst kan ta sig in på er webbplats eller dator. Uppdateringar rättar också buggar som annars riskerar att förstöra er värdefulla data. Sen kommer ju också hela tiden nya funktioner och andra förbättringar som kan vara användbara.

System och tjänster som uppdaterats sedan förra uppdateringen:

2016-08-02

Augusti 2016 - Synkronisera SoapUIs inställningar mellan datorer

På samma sätt som jag synkar inställningarna för FileZilla (se inlägg) så synkroniserar jag filer för SoapUI. Dock är det betydligt enklare med SoapUI eftersom man sparar projektfiler med inställningarna och då är det bara att välja att spara dem i en folder på Dropbox.

System och tjänster som uppdaterats sedan förra uppdateringen:
  • Inga uppdateringar

2016-07-01

Juli 2016 - Semestertider

Nu är det semestertider och det mesta stannar av. Skönt att koppla av lite längre tid än bara en helg.
Nu för tiden har många svårt att verkligen lägga jobbet åt sidan utan fortsätter att läsa sina mail och hålla koll på sin telefon. Om man har svårt att släppa kontrollen under ledigheten så är det inte fel att faktiskt kolla mailen då och då, men man bör göra det kontrollerat. Bestäm att du kollar mail, meddelanden på telefonen etc. en gång per dag. Personligen föredrar jag att göra det på morgonen då man faktiskt har en chans att göra något åt det. Om man gör det senare så riskerar man att få en förstörd nattsömn.

Sociala medier är inte alltid jobbrelaterat men kan lätt ta väldigt mycket tid i anspråk. Gör samma sak där. Kolla en gång per dag. Stäng av alla notifieringar som stör. Just den hanteringen av sociala medier tycker jag att man bör ha året runt. Det är få saker som kan vara så viktiga att man behöver information om det på sekunden när det händer.

System och tjänster som uppdaterats sedan förra uppdateringen:
  • Inga uppdateringar

2016-06-02

Juni 2016 - SoapUI - Testa webbservices

Om man utvecklar eller jobbar mot webbservices så behöver man bra verktyg för att testa att tjänsterna fungerar som de ska. SoapUI fixar det. SoapUI är en applikation för att just testa webbservices skrivna i SOAP som hörs på namnet, men den klarar även av REST-tjänster.
Jag har själv mest använt SoapUI för att göra enkla SOAP-anrop och det fungerar väldigt bra. Generera upp requester från en WSDL:en, fyll i den data du vill skicka och gör anropet. Få responsen, inspektera headers m.m.

Utöver att göra enkla anrop så går det att simulera, mocka, lasttesta, säkerhetstesta webbservices och mängder med andra saker. Om man köper SoapUI Pro så kan man göra ännu fler saker.

System och tjänster som uppdaterats sedan förra uppdateringen:

2016-05-10

Maj 2016 - Synkronisera FileZillas inställningar mellan datorer

I förra inlägget tipsade jag om FTP-programmet FileZilla. Ett problem som man dyker på snabbt om man jobbar på flera olika datorer är att de servrar man sparat och kategoriserat i platshanteraren inte följer med till nästa dator.
 Det finns en smidig lösning. Genom att använda mjuka länkar och Dropbox så kan man få dem synkade mellan alla datorer.
  1. Börja med att ta en kopia på din sitemanager.xml och spara på en säker plats om något skulle gå fel. Mest troliga platser för sitemanager.xml är:
    Windows – C:\Users\Yourname\AppData\Roaming\FileZilla\sitemanager.xml

    Mac OS X – /users/Yourname/.filezilla/sitemanager.xml
    Linux – /home/Yourname/.filezilla/sitemanager.xml  
  2. Skapa en mapp in din Dropbox som heter "settings" och i den så skapar du en mapp till som heter "filezilla". Mapparna kan heta vad som helst så välj vilket namn du känner passar.
  3. Flytta(!) filen sitemanager.xml till mappen i Dropbox.
  4. Skapa de mjuka länkarna:
    Windows:
    mklink “C:\Users\Yourname\AppData\Roaming\FileZilla\sitemanager.xml” “C:\Users\Yourname\My Dropbox\settings\filezilla\sitemanager.xml”
    OS X:
    ln -s /users/Yourname/Dropbox/settings/filezilla/sitemanager.xml /users/Yourname/.filezilla/sitemanager.xml
    Linux:
    ln -s /home/Yourname/Dropbox/settings/filezilla/sitemanager.xml /home/Yourname/.filezilla/sitemanager.xml
Tips om man använder synkroniserad bläddring!
Eftersom filsystemen och strukturen på mappar skiljer sig mellan olika plattformar så är det bra att spara en plats för varje filsystem. Jag lägger till ett suffix på varje plats för att se skillnad på dem, ex. -Win, -Mac

Ref: http://www.code-zen.net/2009/syncing-filezilla-sites-across-computers-with-dropbox/

System och tjänster som uppdaterats sedan förra uppdateringen:

2016-04-09

April 2016 - FileZilla - FTP-program

När jag väljer verktyg så försöker jag hitta de som går att använda på Windows, Mac och Linux för att smidigt kunna jobba från vilken plattform som helst och använda samma verktyg överallt.
Det FTP-program jag anävnder är FileZilla som fungerar överallt och är helt gratis. Den stöder FTP, SFTP och FTPS så den kan kommunicera med de flesta tänkbara servrar.
Den har en smidig platshanterare där du kan spara och kategorisera alla servrar som du vill utbyta filer med. Den har många små smarta funktioner som underlättar arbetet.  Bland annat funktioner för att synkronisera lokala filer med de som ligger på servern.

System och tjänster som uppdaterats sedan förra uppdateringen:
  • Inga uppdateringar

2016-03-16

Mars 2016 - Stoppa spam med Postfix

Spam är ett ständigt återkommande problem och kamp som aldrig tar slut. På mitt webbhotell så körs Postfix som mailserver och tar emot alla mail. Alla mail som tas emot får en spamklassificering av spamassassin med en ranking beroende på utformning och innehåll. Varje person som har ett mailkonto kan sedan själva ställa in utifrån antal spampoäng om ett mail ska kastas, läggas i en separat spambox eller levereras som vanligt.
Om man en kund däremot väljer att vidarebefordra ett alias till ett extern konto eller om kunden inte slår på spamfiltrering och väljer att vidarebefordra så kan den mottagande servern välja att studsa tillbaka de mail som den anser vara spam. Här uppstår då problemet. De spam som studsar tillbaka fastnar på servern i mailkön eftersom de inte ska vara kvar lokalt och tas inte emot hos nästa server. Om det blir väldigt många mail så fyller den mailkön. Ett annat mer allvarligt problem är att min mailserver kan anses skicka spam vilket gör att den till slut blir blockerad i olika spamlistor eller förhindras på andra sätt. Exempelvis så begränsar Gmail antalet mail som kan tas emot per tidsenhet från en mailserver som skickar mycket spam.

Lösningen är att låta Postfix göra en grovfiltering av de värsta syndarna. Det finns mängder av inställningar man kan göra. Jag har valt att lägga till några stycken och sen följa upp vad som händer och än så länge så har jag inga studsar skett.

Referens som jag använt: http://en.linuxreviews.org/HOWTO_Stop_spam_using_Postfix

Inställningarna i main.cf:
smtpd_helo_required = yes
(Välkonfigurerade mailservrar säger hej när de ansluter)

smtpd_sender_restrictions = reject_unknown_address, permit

(Den som skickar mail säger normalt vem det är från)

smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_invalid_hostname, reject_unknown_recipient_domain, reject_unauth_pipelining, reject_unauth_destination, reject_rbl_client zen.spamhaus.org, reject_rbl_client bl.spamcop.net, permit
(Börja med att tillåta mina egna kunder att göra vad de vill. Gör reject på alla som inte berättar vilka de är. Avsluta med göra reject på de requests som kommer från klienter listade i spamlistor.)

System och tjänster som uppdaterats sedan förra uppdateringen:

2016-02-10

Februari 2016 - Sublime Text - Editor för alla behov

Som utvecklare är jag beroende av en bra editor som kan hjälpa mig att skriva kod. En editor som färgmarkerar kod, markup (html, xml m.fl.), som manipulerar text på olika sätt och mycket mer.
Den editor jag är allra mest nöjd med är Sublime Text.
Många nya programmerare tror att man kodar allt i någon tjusig IDE (Integrated Development Environment), men det är verkligen långt från verkligheten. Majoriteten av all kod skrivs i en vanlig texteditor. En IDE består faktiskt primärt av en texteditor. Sen har det lagts till delar runt omkring som hjälper till att konstruera användargränssnitt och bygga koden till binärer och mängder med andra funktioner.

Visst går det att använda texteditorn i en IDE till allt, men en IDE är fruktansvärt tung att starta och dra runt. Som utvecklare vill man ha snabba enkla verktyg som gör jobbet bra. Sublime Text är snabb och enkel, men kan bli hur kraftfull som helst.

Jag använde länge Notepad++, men problemet är att den inte fungerar på OS X och Linux. Som utvecklare är det trevligt att ha tillgång till samma verktyg på alla datorer och plattformar.

System och tjänster som uppdaterats sedan förra uppdateringen:

2016-01-04

Januari 2016 - Nytt år!

Ett nytt år med nya möjligheter!
Nu är det dags att avsluta förra året och planera det nya.

Slutet av året är alltid ganska fullt med allt inför julen och sen jul- och nyårsfirande så därför bör man inte försöka stressa in en bra avslutning av året under 2015. Det är skönare och trevligare att njuta av julen och ledigheten. Sen under januari på det nya året så ser man till att avsluta förra året. Bokföringen går ju ändå inte att göra klart förrän sista dagen av året har passerat. Samma sak är det med rapportering av kontrolluppgifter till Skatteverket, momsredovisning, uppgifter till Fora m.m. Det är först på det nya året som de går att göra.

När 2015 slutligen är stängt och klart så kan man fundera på vad som ska göras under det nya året. Gör en grovplanering. Sätt inte upp för många aktiviteter. Fokusera istället på att göra några få riktigt bra. Då blir de gjorde. Övriga punkter kan fortsätta stå på en todo-lista över sånt man kan göra om tid och lust finns.

System och tjänster som uppdaterats sedan förra uppdateringen: