Creating an AMI for ARM 2020-May-18 AWS has offered A1 EC2 instances powered by Graviton processors since late 2018, and M6g powered by the newer Graviton2 processors reached GA in May 2020. I’ve been excited to use these instances, but have not been able to find many details on how to create a custom image for arm64/aarch64 from AWS or others. I was particularly interested in running CentOS 8, which still doesn’t even have an x86_64 AMI, so I set out to create an image from scratch. ...
Yubikey login to Fedora with U2F via Authselect 2019-Feb-03 If you have a Yubikey with U2F support for Linux, you can use its U2F functionality for a 2nd factor or single factor for logins, sudo passwords, and more. This is accomplished by the pam-u2f module, and the instructions commonly returned in searches aren’t for the faint of heart, especially when editing the files in /etc/pam.d/. Recent versions of Fedora ship with authselect which can make this process a lot easier. ...
Certbot on CentOS 6 2017-Sep-20

CentOS 6 is getting updates through November 30, 2020, but it’s getting more and more difficult to find newer packages for the operating system. If you want to use Certbot for obtaining and renewing Let’s Encrypt TLS certificates, you can use certbot-auto and let it handle the work for you, but I wanted to try only the PyPi package via pip.

...
Python 3 and uWSGI on CentOS 7 2017-Jun-21 Wherever I can, I avoid compiling applications from source or packaging up my own versions of things that exist in popular repositories. I recently needed to run a Python 3 application via uWSGI on CentOS 7 and was frustrated at how many search results were recommending building uWSGI from source when it’s available in EPEL. I’ve only deployed a handful of Python applications, and was not interested in keeping up with source-compiled dependencies to support this small project over time. ...
Robots.txt disallow all with nginx 2017-May-15

If you’re managing an environment similar to a production and want to keep bots from indexing traffic, it’s customary to add a robots.txt file at the root of your website to disallow all. Instead of creating a two-line plain text file, you can do this with only nginx:

...
Auto-restart Tomcat with systemd 2017-May-03

It’s commonplace that if you’ve run services on Linux and wanted something to auto-restart if it crashed, then you’ve looked at monit. You may not know, however, that systemd can provide the ability to restart a failed process without adding another daemon. In this example, we’ll keep Tomcat running if it stops for any reason, unless we systemctl stop tomcat, by using a systemd override:

...
OS X 10.10 Yosemite Local Development Environment: Apache, PHP, and MySQL with Homebrew 2014-Dec-22 OS X 10.10 Yosemite comes with Apache and PHP pre-installed, but it’s not in a great configuration, requires root to make lots of changes, and can introduce issues with file ownership and permissions. We prefer to use Homebrew to avoid these problems and because it’s easier to keep up to date with newer versions of each component and extend customization. We can also set things up to be fully automatic so you can create new websites locally without needing to edit any configuration files. ...
OS X 10.9 Local Development Environment: Apache, PHP, and MySQL with Homebrew 2014-Jun-09 There’s nothing quite like setting up everything on your Mac for Drupal (or other PHP) development in a way that things just work and don’t need constant fiddling. This guide will walk you through using Homebrew to install Apache, PHP, and MySQL for a “MAMP” development environment. We’ll also use DNSMasq and Apache’s VirtualDocumentRoot to set up “auto-VirtualHosts,” and add a firewall rule to allow the default http port 80 to be used without running Apache as root. ...
What's the deal with Pressflow 7? 2013-Oct-18 Anyone who used Drupal 6 at scale knew that Pressflow 6 was pretty great. It forked Drupal and added several performance enhancements, including the ability to use external caches. Since Drupal 7 incorporated lots of the Pressflow 6 features, what’s the deal with Pressflow 7? After Drupal 7 launched, it seemed like Pressflow 7 would continue the momentum from Pressflow 6 and greatly enhance Drupal 7. But, here we are in 2013, and you don’t hear about Pressflow 7 very often, and searching for differences does not yield much more than some diffs between baseline Drupal core 7 and the Pressflow 7 repository on GitHub. ...
Creating PHP packages as a Software Collection 2013-Jul-11 Maintaining multiple versions of software can be tricky. Most of the explanations I have come across suggest using the version provided by your Linux distribution and installing others from source using a custom path, like ./configure --prefix=/opt/php-5.3.26; make; make install, but it’s not pleasant to update, manage small sub-packages, or make init.d scripts. The ideal option is to use packages that install to another location alongside the defaults, but hacking up spec files to override the default RPM macros like %configure (for CentOS and RHEL anyway) is not fun. ...