Serving self-hosted Invoice Ninja with Caddy

Invoice Ninja is an open-source platform which helps you take care of clients, invoices, payments, expenses, time-tracking, and more… In this guide I explain how you can run Invoice Ninja on your own server with Caddy and PHP-FPM. Prerequisites MySQL Server up and running PHP-FPM up and running I assume that you have already setup […]

Benchmarking a baremetal Scaleway server

This week I needed database (RDBMS) and PHP (frameworks) benchmarks for the Scaleway C2M server. Whilst doing so, I thought it would be useful to fully benchmark the server and share it in a blogpost. CPU & Memory I tested the dedicated server (C2M) with 8 cores, 16GB ram and 50GB storage (running Ubuntu 16). […]

Serving ownCloud with Caddy

In this post, I’ll walk you through how to set up ownCloud with Caddy for a secure, personal cloud service. I wrote this guide while configuring on Ubuntu 14. ownCloud A quick introduction to ownCloud for those who never heard about it (as found on Wikipedia): OwnCloud (stylized ownCloud) is a suite of client-server software […]

Getting a Mac ready for development

Apple computers are awesome: they are fancy machines which make your daily life easier. But every developer knows that there are a lot of things to install and configure before you can actually start programming. This guide is an overview of how I configure my Mac for development. I’m sure everyone has his own habits […]

An introduction to PHP 7 type declarations

PHP 7 introduced a feature everyone was waiting for: typing. This solves a lot of bugs/problems caused by wrong types passed to function or returned by functions. Strict typing vs type coercion Before I introduce the actual typing of arguments or return values, I must explain PHP’s behaviour when types don’t match. By default PHP tries […]

Migrating/updating from PHP 5 to PHP 7 on OS X (MacPorts)

PHP 7 was released earlier this month, time for me to upgrade my development environment to keep up to date with this new version. I had already installed PHP 5.6 using MacPorts, so this guide is about upgrading a PHP 5 installation to a PHP 7. If you need help for actually installing PHP/Apache/MySQL, read this […]

Caddy Server and WordPress (PHP-FPM)

Update: I added rewrite rules for WordPress permalinks to the Caddyfile. I also removed all unnecessary bits which are not needed anymore since Caddy now has built-in HTTPS support with Let’s Encrypt. Recently I discovered an amazing open source project: Caddy, a fully functional HTTP/2 webserver, written in Go. Caddy is a lightweight, general-purpose web server for […]

Installing MAMP (Mac OS X Apache MariaDB PHP) using MacPorts

Update: I updated the blogpost for PHP 7 instead of PHP 5. If you want to update your current PHP 5 installation to a PHP 7 installation, see this blogpost: Migrating/updating from PHP 5 to PHP 7 on OS X (MacPorts). MacPorts is a BSD ports like package management system for OS X. The MacPorts Project is […]

PHP: Unit tests with Travis, PHPUnit and Composer

In a perfect world, every software developer writes tons of unit tests, and uses continuous integration to make sure everything keeps working. Travis, PHPUnit and Composer are there to save you a lot of time! In this blogpost I will explain how to setup Travis and run PHPUnit to run unit tests in a PHP project […]

PHP fragments in Markdown

Ever wanted to use PHP variables and functions in a markdown file and use that file to generate HTML code from the Markdown syntax? Well, it isn’t too hard… Assume you want to parse the following file as Markdown, after executing the PHP fragment: <?php echo $var; ?> ——————- Some text… > Maecenas sed diam […]