Michael Woering (jr)

Op 4 september 2012  om 06:10 is onze zoon Michael (Albert Barend) Woering geboren. We zijn de trotse ouders van een kerngezonde jongen. Je hoort vaak dat de geboorte van je eerste kind het mooiste in je leven is. We konden ons er niet zoveel bij voorstellen maar voor ons is dit inderdaad het mooiste wat had kunnen gebeuren.

We zijn ontzettend trots op onze jongen en delen hem graag met de wereld. Daarom zijn we een fotoblog gestart welke je kunt vinden in de junior sectie. Deze is wel beveiligd met een wachtwoord, heb je deze niet? Stuur ons dan even een e-mailtje.

Nginx en WordPress url rewriting

Bij Isset hosten wij de websites en applicaties van klanten op ons eigen platform. Daarvoor beheren wij een behoorlijk aantal linux en windows servers. De windows servers voor de klanten die dit nodig hebben en alle andere projecten draaien op diverse linux machines.

Een tijd geleden hebben wij gekozen voor Ubuntu Server als platform. We wilden wat anders dan het door iedereen gebruikte CentOS en hadden reeds goed ervaringen met Ubuntu. Deze keuze is ons goed bevallen, de servers zoemen als een zonnetje. Sinds het begin hadden we daarbij als webserve natuurlijk Apache wat wij de laatste tijd gebruiken in combinatie met FastCgi PHP5. Samen met Code Caching (APC) levert ons dit zeer responsieven applicaties en sites op.

Vorige week nam ik een eigen testserver in gebruik, om eens te gaan testen met diverse platforms voor de performance. Voor nu heb ik een kale Ubuntu 10.4.3 LTS installatie voorzien van nginx en php-fpm.

De installatie en werking vna nginx is zeer simpel en de config files na enige zoeken prima te begrijpen. Een site in de lucht helpen is erg simpel. Zie deze site config:

server {
    listen   80;
    server_name  michaelwoering.nl;
    root /storage/disk1/web/michaelwoering/public_html;
    access_log  /storage/disk1/web/michaelwoering/logs/michaelwoering.access.log;
    error_log /storage/disk1/web/michaelwoering/logs/michaelwoering.error.log;

## Default location
    location / {
        root   /storage/disk1/web/michaelwoering/public_html;
        index  index.php;
        try_files $uri $uri/ /index.php;
    }
## Disable viewing .htaccess & .htpassword
    location ~ /\.ht {
        deny  all;
    }
}

Dat is alles, een fijne toevoeging voor de access log is:

## Images and static content is treated different
    location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
      access_log        off;
      expires           30d;
      root /storage/disk1/web/michaelwoering/public_html;
    }

Na een beetje tunen kwam ik ook nog hier achter:

## enforce no www
        if ($host ~* ^www\.(.*))
        {
                set $host_without_www $1;
                rewrite ^/(.*)$ $scheme://$host_without_www/$1 permanent;
        }

Wat je dan wel ff moet doen is server_name zetten naar *.domein.tld als in het volgende voorbeeld:

server {
    listen   80;
    server_name  michaelwoering.nl *.michaelwoering.nl;
    root /storage/disk1/web/michaelwoering/public_html;

De 301 werkt dan daarna zonder moeite:

Wordstream over AdWords

De mannen van wordstream doen het goed. Waar Google als bedrijf heel erg goed in is, is het geven van niet exacte resultaten. Iedere AdWords adverteerder ziet een CPC bij zijn woord, maar die is gemiddeld over zijn woorden. In analytics zie je de best presterende zoektermen in je CPC campagnes maar juist net niet die slecht presterende die je er graag uit wil hebben. Ook op SEO gebied hebben veel mensen wel een idee hoe het werkt, maar waarom in sommige gevallen de een boven de ander staat? Joost mag het weten.

Google Analytics

Er is veel meer te zeggen over de werking van de Google zoekmachine en AdWords wanneer je de gegevens van een hoop mensen analyseert. Wanneer jij alle campagnes beheert van de bedrijven die graag op 1 willen komen te staan op het woord ‘hypotheek’ dan kun je daadwerkelijk iets zeggen over wat je moet bieden en wat je kwaliteitsscore moet zijn om op 1 te staan. Google benadeel je hier op de lange termijn niet mee, en de bedrijven welke in dit geval WordStream betalen halen meer uit hun budget. Iedereen gelukkig behalve de niet WordStream klant. Het best kan deze ook een account nemen bij WordStream, totdat alle adverteerder op ‘hypotheek’ een klant van WordStream en google zijn. Dan komt het ouderwetse bieden weer om de hoek kijken.

Wordstream maakte een infographic die een hoop inzicht geeft in het AdWords proces van Google. Met dit proces in je achterhoofd kun je zelf al een boel optimaliseren.Google AdWords

Houtopslag van Douglas steigerplanken

Diverse dingen aan het proberen met diverse soorten hout. Van de week een houtopslag gemaakt van 32mm douglas hout. Planken van 20cm breed en 5 meter lang. Douglas kenmerkt zich door de rode kleur van de kern. Zie voor meer informatie ook het wikipedia artikel over douglas hout.

Sinds vorig jaar hebben we op de veranda een houtkachel staan. Nu was het tijd voor een plek om netjes het brandhout op te slaan om te drogen. Vandaar deze houtopslag. Geheel is onbehandeld.

Houtopslag Douglas Hout

Dig commandline tool

Het Domain Name System (DNS) is het systeem/protocol wat iedereen gebruikt om zijn hostnames te resolven naar een ip-adres. Tot een tijd geleden wist ik globaal hoe dit systeem werkte, totdat ik er eens dieper in ging duiken.  Een onmisbare tool voor iedereen hierbij is ‘dig’. Nog even voor iedereen om even de standaard commando’s op te halen de volgende voorbeelden:

> dig issetip.nl

; <<>> DiG 9.7.0-P1 <<>> issetip.nl
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42340
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;issetip.nl.			IN	A

;; ANSWER SECTION:
issetip.nl.		7200	IN	A	46.249.34.246

;; Query time: 0 msec
;; SERVER: 178.21.21.200#53(178.21.21.200)
;; WHEN: Sun Nov 20 21:43:07 2011
;; MSG SIZE  rcvd: 44

Wanneer je een @ teken toevoegd aan het dig commando kun je de vraag stellen aan andere nameserver (hier 1 van de google nameservers). Om de response wat korter te maken kun je +noall +answer toevoegen. Voorbeeld als volgt:

>dig @8.8.8.8 issetip.nl +noall +answer

; <<>> DiG 9.7.0-P1 <<>> @8.8.8.8 issetip.nl +noall +answer
; (1 server found)
;; global options: +cmd
issetip.nl.		7200	IN	A	46.249.34.246

Reverse DNS is bijna net zo makkelijk. Dit kan door -x toe te voegen aan de commandline. Ik gebruik in het volgende voorbeeld het IP-adres 46.249.34.245

> dig -x 46.249.34.245 +noall +answer

; <<>> DiG 9.7.3-P3 <<>> -x 46.249.34.245 +noall +answer
;; global options: +cmd
245.34.249.46.in-addr.arpa. 2139 IN	PTR	issetvds19.isset.nl.

Opvragen van mailservers door mx aan het item toe te voegen:

> dig mx isset.nl +noall +answer

; <<>> DiG 9.7.3-P3 <<>> mx isset.nl +noall +answer
;; global options: +cmd
isset.nl.		3157	IN	MX	21 mail3.isset.nl.
isset.nl.		3157	IN	MX	11 mail2.isset.nl.
isset.nl.		3157	IN	MX	41 mail4.isset.nl.
isset.nl.		3157	IN	MX	31 mail1.isset.nl.

Nameservers laten zoeken van het domein is natuurlijk wel erg makkelijk tijdens het verhuizen van domeinen of het opnieuw instellen van de nameservers.

>dig issetip.nl +nssearch

OA ns1.isset.info. hostmaster.isset.nl. 2011102101 28800 7200 604800 86400 from server ns2.isset.eu in 14 ms.
SOA ns1.isset.info. hostmaster.isset.nl. 2011102101 28800 7200 604800 86400 from server ns1.isset.info in 11 ms.

Of je wil gewoon alles weten van de hostname gebruik dan any:

> issetip.nl ANY +noall +answer

; <<>> DiG 9.7.3-P3 <<>> issetip.nl ANY +noall +answer
;; global options: +cmd
issetip.nl.		7200	IN	A	46.249.34.246
issetip.nl.		7200	IN	TXT	"Michael Woering (michael@isset.nl)"
issetip.nl.		7200	IN	MX	10 mail.isset.nl.
issetip.nl.		86400	IN	SOA	ns1.isset.info. hostmaster.isset.nl. 2011102101 28800 7200 604800 86400
issetip.nl.		86400	IN	NS	ns2.isset.eu.
issetip.nl.		86400	IN	NS	ns1.isset.info.

Het +trace commando geeft je enig inzicht in de stappen die gevolgd worden om tot je DNS antwoord te komen:



; <<>> DiG 9.7.3-P3 <<>> issetip.nl +trace
;; global options: +cmd
.			79111	IN	NS	f.root-servers.net.
.			79111	IN	NS	i.root-servers.net.
.			79111	IN	NS	m.root-servers.net.
.			79111	IN	NS	c.root-servers.net.
.			79111	IN	NS	h.root-servers.net.
.			79111	IN	NS	g.root-servers.net.
.			79111	IN	NS	j.root-servers.net.
.			79111	IN	NS	l.root-servers.net.
.			79111	IN	NS	e.root-servers.net.
.			79111	IN	NS	d.root-servers.net.
.			79111	IN	NS	b.root-servers.net.
.			79111	IN	NS	k.root-servers.net.
.			79111	IN	NS	a.root-servers.net.
;; Received 449 bytes from 178.21.21.201#53(178.21.21.201) in 10 ms

nl.			172800	IN	NS	ns2.nic.nl.
nl.			172800	IN	NS	ns4.nic.nl.
nl.			172800	IN	NS	nl1.dnsnode.net.
nl.			172800	IN	NS	ns1.nic.nl.
nl.			172800	IN	NS	ns-nl.nic.fr.
nl.			172800	IN	NS	sns-pb.isc.org.
nl.			172800	IN	NS	ns3.nic.nl.
;; Received 495 bytes from 192.228.79.201#53(b.root-servers.net) in 180 ms

issetip.nl.		7200	IN	NS	ns1.isset.info.
issetip.nl.		7200	IN	NS	ns2.isset.eu.
;; Received 82 bytes from 192.93.0.4#53(ns-nl.nic.fr) in 18 ms

issetip.nl.		7200	IN	A	46.249.34.246
;; Received 44 bytes from 84.53.100.162#53(ns2.isset.eu) in 9 ms

Wil je enkel de korte antwoorden? Bijvoorbeeld de nameservers van een domein:

>dig issetip.nl +short

ns1.isset.info.
ns2.isset.eu.

DNS check?

De vroeger veel gebruikte site: http://dnscheck.net/ is meer niet bereikbaar dan wel. In de zoektoch naar een nieuwe en vooral snellere site om de DNS records van een domein te testen kwam ik terecht op http://www.dnssniffer.com, een verademing zoals blijkt. De site doet een zeer snelle check van alle belangrijke DNS gegevens.

Meer informatie over DNS oftewel Domain Name System is natuurlijk te vinden op het wikipedia artikel domain name system. Het DNS systeem op het internet is verantwoordelijk voor de vertaling van domeinnamen als isset.nl naar een ip-adres (193.93.172.217 in dit geval).

Meer populaire DNS check sites: