LEMP Stack Articles and Tutorials

Linux, Nginx, MariaDB/MySQL, PHP/Perl/Python

Save 50% off all web hosting plans for six months

Looking for web hosting? One of the companies I work with, Progressive Data Services, has a promotion for 50% off all web hosting plans for six months when you use the promo code OTTER50. They offer free SSL, CPanel, FTP, shell access, multiple domains,...

read more

Upload Progress with PHP 7.1 and NGINX

While working on a Drupal 8 project served by NGINX and PHP-FPM, the status report looked great aside from UPLOAD PROGRESS at the bottom: Your server is capable of displaying file upload progress, but does not have the required libraries. It is recommended to install...

read more

Let’s Encrypt + Nginx: Three Months Into Beta

Nginx Plugin During Early Beta When Let's Encrypt started their closed beta, their documentation warned that their Nginx plugin was experimental. Using it as the authenticator to obtain certificates seemed to work, but using it as the installer would almost certainly...

read more

Let’s Encrypt SSL Certificates and Nginx

HTTPS and Encryption by Default Encryption by default has become the new standard for web applications and many of the world's top busiest sites have already made the switch to serving content via HTTPS. Google is no stranger to encryption, having made HTTPS the...

read more

Configuring Nginx for CiviCRM

For almost a year now I've been hosting CiviCRM instances for a couple clients. This has resulted in quite a bit of troubleshooting and experimentation with file permissions and Nginx configuration. Unfortunately, most of the documentation I've been able to find out...

read more

Adding PageSpeed and other Nginx modules on Ubuntu

Enabling Nginx Modules One inconvenience with Nginx is that modules cannot be dynamically added or removed as they can in Apache. Instead, Nginx modules are specified at compile-time. If you want to add or remove any Nginx modules such as ngx_lua,...

read more

Install CiviCRM on WordPress with Nginx

Over the weekend I installed a copy of CiviCRM on WordPress to demo for a small nonprofit that recently asked me to help with some of their data needs. CiviCRM is a constituent relationship management (CRM) system designed for nonprofit organizations. While I...

read more

Password protect WordPress admin directory on Nginx

Extra protection against brute force attacks While WordPress has an authentication system of its own, some opt to add additional server-side password protection to /wp-admin/ using basic authentication. This prompts users for a username and a password before even...

read more

Nginx redirect and SSL configuration example

Over the past few months I've been working with WordPress sites a surprising amount. During this same time, I decided to switch all of my sites over to HTTPS exclusively. The switch was relatively painless, especially since free SSL certificate are now available. I...

read more

Create a self-signed SSL certificate for Nginx

If your application has any sort of login page or transmits sensitive information, it's wise to make those sections accessible only via HTTPS. Even if your site has no sensitive information, it's worth considering using HTTPS as Google now considers it a ranking...

read more