Monthly Archives: July 2018

Quick Update

Hello information omnivores…

Strand
  • Week of 23-29 July.
  • Monday, school run, gym, a walk around Stellenbosch with Alan, office, stayed in the office till after dark, podcast promenade walk, general tinkering.
  • Tuesday, gym, swim, office, played with Zerotier.
  • Zerotier is pretty cool.
  • Wednesday, catch up with Paul at Bootleggers, office, dev meeting, catch up with Jonathan at his office, ribs special at Da Vinci’s, Georg’s birthday party at Van Hunks.
  • “What is it about IPv6 that attracts religious nuts?”

  • Learn to like maintenance.
  • “Comparison is the death of joy.”

  • Make profit without risk.
  • Thursday, office, telecon, fetched Mia’s laptop, restored a backup, took Mia her laptop and watched her hockey game, double Spur burgers, Strand beach walk, dropped Mia off, podcast drive to Cape Town, photo processing, watched Heart of Darkness: A Filmmaker’s Apocalypse again.
  • Friday, work, gym, Green Point park walk and a long phone chat with Jonathan, finally managed to get macOS routing to play nice with Zerotier, dinner with Wouter, Rene and Tom.
  • Saturday, up early, reading, breakfast at La Vie, deep nerding session, a drink at The Silo Hotel bar with Georg, mussels special at Den Anker, gelato, time well spent.
  • Found time. The joy of podcasts. Podcast queue down from over 50 to 10ish. Check out The Drive With Peter Attia.
  • Sunday, up early, website migrations and more deep nerding with about ten cups of tea, late afternoon promenade walk, photo processing, kinda watched some Altered Carbon.

Have a fun week, crazy kids.

Quick Update

Blah…

Mouille Point
  • Week of 16-22 July.
  • Monday, work, gym, Green Point Park walk, sunset promenade walk, burger special at La Vie – while working.
  • Way behind on podcasts again.
  • Tuesday, up early, office, website tinkering, sunset promenade walk, dinner at Romeo’s house with Dennis and Hugo, Georg and Christiane, very nice.
  • I managed to get a website running with nginx, php unit, http2 and IPv6.
  • Wednesday, up early, wrote a blog post about Nginx and WordPress and IPv6, office, dev meeting, catch up with Warwick and Giles, catch up with Michael, Van Hunks with Georg, Al and Christiane.
  • Thursday, work, gym, Green Point Park, sunset podcast promenade walk, watched Thor: Ragnarok while working.
  • Friday, office, fetched Mia, Clifton beach walk, early supper at Hussar Grill, Moro gelato, Mia watched Captain America: Civil War while I worked, time well spent.
  • Saturday, Granger Bay market, smoothie bowls, Mia and I watched Mamma Mia! Here We Go Again at the VIP cinema in good old 2D – not too painful for a musical, general tinkering, sunset promenade walk, Ossobuco for supper at Lili’s, Mia watched Man of Steel while I worked.
  • How to stick Emoji in MySQL.
  • Sunday, Mia’s laptop did not start so we took it for repairs, we drove out to Spice Route with Georg, it was a bit manic so we went for a wine tasting at Simonsvlei, then lunch at Boschendal, wine tasting at Glen Carlou – great Chardonnay, epic nap, sunset promenade walk with Mia, Mojo Market – Mia had her first oysters – she did not really like them, but she had 4, ice cream, time well spent.

Have a fun week, crazy kids.

WordPress with NGINX Unit, HTTP2, IPv6

How to install WordPress with NGINX Unit PHP, SSL, HTTP2 and IPv6 on Debian 9.

Some quick notes on my recent WordPress hosting upgrade.

First read and follow Installing WordPress with NGINX Unit. Then make WordPress happy to answer nginx proxy requests via https. And then upgrade your SSL certs. Do an SSL test. Easy.

To make your site work on IPv6 with http2 you need these lines in your nginx config:


listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;

Do NOT use “listen 80 http2;” – http2 on port 80 is a bad idea it seems. If you enable http2 on port 80 you will be prompted to download something when you do an http request.

If you get a 301 redirect loop, you don’t have “$_SERVER[‘HTTPS’]=’on’;” in your WordPress wp-config.php file. This makes WordPress understand the original request was https and it does not need to rewrite the url with its canonical URL auto redirect feature.

Just for fun, you probably want to install some Firefox plugins which tell you if a site uses IPv6 and HTTP2. Check out HTTP/2 Indicator, SixOrNot and SixIndicator.

Obligatory Muppets Pic

Nginx config example:


upstream muppet-index_php_upstream {
server 127.0.0.1:8087; # NGINX Unit backend address for index.php with
# 'script' parameter
}

upstream muppet-direct_php_upstream {
server 127.0.0.1:8088; # NGINX Unit backend address for generic PHP file handling
}

server {
listen 80;
listen [::]:80;
server_name www.muppet.com muppet.com;
return 301 https://www.muppet.com;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name muppet.com;
return 301 https://www.muppet.com;

ssl on;
ssl_certificate /etc/letsencrypt/live/www.muppet.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.muppet.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/www.muppet.com/chain.pem;
}

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.muppet.com;

ssl on;
ssl_certificate /etc/letsencrypt/live/www.muppet.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.muppet.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/www.muppet.com/chain.pem;

ssl_protocols TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
ssl_prefer_server_ciphers On;
ssl_session_cache shared:SSL:128m;
add_header Strict-Transport-Security "max-age=31557600; includeSubDomains";
ssl_stapling on;
ssl_stapling_verify on;
# Your favorite resolver may be used instead of the Google one below
resolver 8.8.8.8;

root /var/www/muppet/;

charset utf-8;

location / {
try_files $uri @index_php;
}

location @index_php {
proxy_pass http://muppet-index_php_upstream;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;

}

location /wp-admin {
index index.php;
}

location ~* \.php$ {
try_files $uri =404;
proxy_pass http://muppet-direct_php_upstream;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}

}

LLAP.

Quick Update

Deep nerding, Bodzin and dog walks around Bakoven…

Oudekraal
  • Week of 9-15 July.
  • Monday, office, breakfast for lunch, braai with Georg, Christiane, Nick, Simone, Michael and Stephan Bodzin via Youtube.
  • Tuesday, office, lunch at Bootleggers, watched Revolution OS – never knew the Apache web server had such a big impact.
  • Wednesday, work, took Romeo for a walk on Camps Bay beach, salad at Col’caccio, attempted to take Romeo shopping – but the PnP security guard did not like that, catch up with Warwick and some hardware shopping.
  • I have a new hobby. It’s good fun, very nerdy, and very time consuming, makes we want to be single for a while.
  • The Five Cognitive Distortions of People Who Get Stuff Done
  • Thursday, work, rainy day, played with some IPv6 things again – deep nerding day.
  • Friday, work, dropped Romeo off in Clifton with Christiane for a beach walk, office, Mojo Market, oyster special at Sea Breeze with Christiane and Romeo, food shopping, roast chicken and veg with some Stephan Bodzin and red wine at home, dark chocolate.
  • If it’s in a FIB you can bill for it.
  • I’m going to miss Romeo. Dogs are cool.
  • Romeo is impervious to facial recognition. You basically can’t take a phone of his face and see his eyes.
  • Saturday, up early, fed the dog and cat, random tinkering and deep nerding, Georg and Christiane came over for a glass of wine, took Romeo for a beach walk around Beta Beach, made some ASCII art.
  • Check out comm. Useful utility to compare lists in your favourite GNU/BSD environment.
  • Sunday, tea and fruit salad, took Romeo for a walk around Oudekraal beach, Beta beach visit, upgraded my Linode, home network now supports IPv6, sunset podcast promenade walk, I’m living in Sea Point again – a few weeks in Bakoven was fun, photo processing and blogging at Hussar Mouille Point – which now has wifi, joy – I avoided the soccer, time well spent.
  • Do you IPv6 yet?
  • Tune of the week: Cat Stevens – Another Saturday Night

Have a fun week, crazy kids.

Quick Update

Birthdays, Stranger Things, pizza, and lots of beach walks…

Camps Bay
  • Week of 2 to 8 July.
  • Monday, stormy day, work, Waterfront visit with Mia, late lunch Moules Marinieres mussels special at Den Anker with Mia, gelato, we took Romeo for a walk around Bakoven beach, watched Tali’s wedding with Mia, watched Star Trek again.
  • Mia’s iPhone has been missing for five weeks. Seems it was in her mom’s car. I guess you car has to be properly disorganised, or you probably just don’t care enough to look.
  • Tuesday, fed the dog and cat, breakfast with Mia, work, Hout Bay beach walk with Mia and Romeo, fish for supper at Dunes, Georg came to visit, watched Stranger Things on Netflix with Mia… pretty good.
  • Wednesday, 4th of July – my birthday, tea and grapefruit, Mia made me a cool birthday card, watched the last Stranger Things S1 episode with Mia, BIA machine visit, Mexican food at the Mojo Market with Paul, Waterfront, Mia and I had our hair cut, I found some new Reef slops – for winters days – after a text message reminded me, Camps Bay Beach walk with Romeo, five course dinner at La Mouette with Georg and Mia, time well spent.
  • Mia is now 169cm, 63kg, age 12. She seems to be growing at about 6cm per year. She’s planning to be taller than her mom by 2020, more sleeping.
  • Thursday, up early, photo processing, work, while kinda watching Season 2 of Stranger Things with Mia, Camps Bay beach walk with Romeo, we took him along for pizza – outside balcony at Col’caccio’s, Georg and Christiana come over for a late dinner.
  • Mia seems to really like Stranger Things. I figure it’s okay. I think all series are a waste of time.
  • Friday, tea, grapefruit, we watched Ant-Man at the Waterfront VIP cinema with Mia – good fun, clothes shopping for Mia, drove to Somerset West, a juice at Fred & Max, dropped Mia off with her mom, podcast drive to the Gardens Centre, worked at home, nap, general tinkering, in bed early.
  • We are clever, but not very wise.
  • It’s been cool seeing Mia for two weeks.
  • I’m way behind with podcasts.
  • I’ve been listening to an unhealthy amount of Cat Stevens.
  • Saturday, up early, general tinkering, Georg came to visit, took Romeo for a Camps Bay beach walk, salad at Col’caccio’s again – they seem pretty chilled about having dogs there, nap, drinks with Paul and Nicci, Paul’s birthday party at Clark’s in Bree Street.
  • Sunday, chilled at home, figured I should learn how nftables works – it’s a bit nicer than iptables, took the dog for a walk on Camps Bay beach with Christiane and fetched some pizza, pizza with Paul, Nicci and Christiane.

Have a fun week, crazy kids.

Quick Update

Incredibles, aspirin, sleep…

Camps Bay
  • Week of 25 June to 1 July.
  • School holiday week with Mia.
  • Monday, woke up in Bakoven, Sea Point visit, office, Mia and I took Romeo for a walk on Beta Beach, we watched Zootopia again – I was a bit sick and had a fever.
  • I’ve been on a diet of aspirin, water, vitamin C and sleep.
  • Tuesday, still sick and fragile, slept most of the morning, light lunch with Mia, took Romeo for a walk on Camps Bay beach with Mia and Nick, watched a bit of Netflix – Limitless series, not bad.
  • “All things being equal, people will do business with a friend; all things being unequal, people will still do business with a friend.” — Mark McCormack

  • Wednesday, drove to Newlands, watched The Incredibles 2 at Cavendish with Mia – nice, but not as good as the first one, late fish and veg lunch at Mariners Wharf in Hout Bay, meeting at home.
  • Yes, Slack is lame, stop using it.
  • Thursday, tea and fruit salad with Mia, we took Romeo to explore Llundudno beach, work, cooked some veggies for supper, attempted to watch the Netflix Star Trek series – but it was super lame and Telkom internet was not making it any easier.
  • Holy shit, Openserve fibre with Telkom internet is bad. Grinds to a halt from around 18:00. I knew it was not great, but this is special. Impressive how they can screw it up so badly.
  • Bad iOS design: Portrait camera mode is between Photo and Square.
  • Friday, rainy day, breakfast at Tashas with Mia, we had Mia’s eyes tested, dentist check up – clean and polish, Gardens Centre, catch up with Diabi, dinner with Jacques and Marietjie – I cooked two roast chickens, we played some Pictionary.
  • Saturday, rainy day, brunch at Mantra Cafe in Camps Bay, chilled afternoon, hardware shopping, steak dinner at Hussar Camps Bay with Jacques and Marietjie, a Jamey with Jacques.
  • Sunday, stormy weather, chilled day at home, ribs at Da Vinci’s with Mia, Moro gelato, we watched Top Gun, watched Blades of Glory, time well spent.
  • “The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man.” — George Bernard Shaw

  • Tune of the week: Here Comes my Baby – Cat Stevens

Have a fun week, crazy kids.