-
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 the PECL uploadprogress library. As of Drupal 8.3.5, Drupal will […]
-
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 default for many of their apps long before it was cool,…
-
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, ngx_http_secure_download_module, or nginx_uploadprogress_module you’ll either need to compile from source or find a PPA…
-
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 installed it as a WordPress plugin, it’s also available for Joomla and Drupal.…
-
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 allowing access to the admin files and WordPress authentication. Password protecting wp-login.php is generally sufficient WordPress…
-
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 started with the HTML 5 Boilerplate team’s Nginx configuration snippets maintained…
-
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 signal. For any pages a general user will access, you’ll want to…
-
Obtain and install a free SSL certificate on Nginx
Until the past year I never really bothered to put my projects behind SSL. It always seemed like more of a hassle than it was worth, and I didn’t like the idea of paying $50+ for a properly-signed SSL certificate when none of my projects were commercial or transmitting sensitive information. As my projects become more elaborate,…
-
Nginx and uWSGI configuration for Flask app deployment
For someone new to application or server deployment (or any field, really), the vast assortment of commands, arguments, variables, and parameters can be overwhelming. That’s why I encourage friends and coworkers to break those daunting projects into smaller, more digestible pieces. Once they understand what is right in front of them and can relate it…
-
Initial steps on a new Ubuntu 14.04 server
Ubuntu 14.04 If you just logged in to a fresh installation of Ubuntu 14.04 (Trusty Tahr), there are a few steps you’ll want to take immediately to help secure your new server. The IP blocks used by the various VPS providers are constantly being scanned, and brute force attacks will begin even if you’re deploying…