Setting up GlusterFS with Ansible
NOTE : This blog post was written prior to Ansible including the gluster_volume module, and is out of date; the examples still work, but Ansible for DevOps has been since updated with a more relevant and complete example. You can read about it here: Simple GlusterFS Setup with Ansible (Redux) .Modern infrastructure often involves some amount of horizontal scaling; instead of having one giant server, with one storage volume, one database, one application instance, etc., most apps use two, four, ten

Introducing the Dramble - Raspberry Pi 2 cluster running Drupal 8

I've been tinkering with computers since I was a kid, but in the past ten or so years, mainstream computing has become more and more locked down, enclosed, lightweight, and, well, polished . I even wrote a blog post about how, nowadays, most computers are amazing . Long gone are the days when I had to worry about line voltage, IRQ settings, diagnosing bad capacitors, and replacing
Getting Gigabit Networking on a Raspberry Pi 2, 3 and B+
tl;dr You can get Gigabit networking working on any current Raspberry Pi (A+, B+, Pi 2 model B, Pi 3 model B), and you can increase the throughput to at least 300+ Mbps (up from the standard 100 Mbps connection via built-in Ethernet).
Note about model 3 B+ : The Raspberry Pi 3 model B+ includes a Gigabit wired LAN adapter onboardâthough it's still hampered by the USB 2.0 bus

Mounting a Raspberry Pi's ext4 SD card on Ubuntu 14.04 inside VirtualBox on Mac OS X
Since I'm running a Mac, and don't have a spare linux-running machine that can mount ext4-formatted partitions (like those used by default for official Raspberry Pi distributions like Raspbian on SD cards), I don't have a simple way to mount the boot partition on my Mac to tweak files on the Pi; this is a necessity if, for example, you break some critical configuration and the Pi no longer boots cleanly.
To mount an ext4-formatted SD or microSD
Setting up the Edimax EW-7811Un or Tenda W311Mi 802.11b/g/n WiFi Adapter on a Raspberry Pi
Note: On Raspberry Pi models with built-in WiFi (e.g. the Raspberry Pi 3 model B), USB WiFi interfaces will usewlan1(wlan0is reserved for the first interface, in this case the internal one).
Since this is maybe the fourth time I've done this process on my Raspberry Pis, I decided to document the process of setting up cheap mini WiFi adapters on a Raspberry Pi A+/B+/2.
This process works great with any USB WiFi
Highly-Available PHP infrastructure with Ansible
I just posted a large excerpt from Ansible for DevOps over on the Server Check.in blog: Highly-Available Infrastructure Provisioning and Configuration with Ansible . In it, I describe a simple set of playbooks that configures a highly-available infrastructure primarily for PHP-based websites and web applications, using Varnish, Apache, Memcached, and MySQL, each configured in a way optimal for high-traffic and highly-available sites.
Here's a diagram of the ultimate infrastructure being built:

The configuration is similar to what
Highly-Available Infrastructure Provisioning and Configuration with Ansible
The following is an excerpt from Chapter 8 of Ansible for DevOps , a book on Ansible by Jeff Geerling. The example highlights Ansible's simplicity and flexibility by provisioning and configuring of a highly available web application infrastructure on a local Vagrant-managed cloud, DigitalOcean droplets, and Amazon Web Services EC2 instances, with one set of Ansible playbooks.
tl;dr Check out the code on GitHub , and buy the book to learn more about Ansible!
Highly-Available Infrastructure with Ansible
Real-world web applications require redundancy

Garden Glow at the Missouri Botanical Garden
The Garden Glow at the Missouri Botanical Garden is in its second year, and it seems to already be a 'thing to do' in St. Louis over the wintry holiday season.

I'd rank it almost equal to the great light displays at Our Lady of Snows Shrine , Tilles Park , and the St. Louis Zoo . Along a
NFS, rsync, and shared folder performance in Vagrant VMs
It's been a well-known fact that using native VirtualBox or VMWare shared folders is a terrible idea if you're developing a Drupal site (or some other site that uses thousands of files in hundreds of folders). The most common recommendation is to switch to NFS for shared folders.
NFS shared folders are a decent solution, and using NFS does indeed speed up performance quite a bit (usually on the order of 20-50x for a file-heavy framework like Drupal!).

Viewing email in Linux using postfix's mailq and postcat
When I'm developing using the Drupal Development VM , or checking into email processing on any of my servers, I usually use postfix to handle mail sending. Postfix is simple, preinstalled on most Linux distributions (and easy to set up if not), and is easy enough to use.
Here are the most common commands I use when either developing or troubleshooting email in production:
mailq- print a list of all queued mailpostcat -vq [message-id]- print a particular message, by ID (