Today we’re going to compare the performance of a WordPress site before and after we install and optimize the WP Super Cache plugin. We’re running Ubuntu 16.04 Server, Nginx 1.10, PHP 7 with the Zend OPcache, MariaDB, and WordPress 4.6 with a few other plugins (Akismet, Jetpack, Yoast SEO, and Google Analytics). The system itself […]
Author: Geoff Stratton
Your First Steps in WordPress
Once I’ve set up your WordPress blog, I recommend that you take the following steps: 1) Change your password to something secure and useful. There are various random password generators that you can use around the web, but I’d recommend picking a phrase that you can remember easily. Keep in mind that it’s a bad idea […]
M-DISC: Long-Term Optical Storage?
Recently I heard about the storage technology known as M-DISC, a write-once optical format that claims to withstand extreme temperatures and oxidization, providing safe storage of data for up to 1,000 years. This sounds good, but is any of it true? What is M-DISC? Developer Millenniata claims that M-DISC uses a “glassy carbon” data layer […]
Stop xmlrpc.php Attacks
Summary: how to diagnose and eliminate the xmlrpc.php WordPress exploit when it’s clobbering your web server. You’ve been running a public Ubuntu 12+ and Apache/LAMP web server for a while now. Until recently everything has worked fine, but suddenly your server is struggling to display even static pages. Sometimes content takes forever to load, and […]
Recompile Nginx (1.9+) Installed with Apt On Ubuntu 16.04
As mentioned in my older article on the subject, for many years Nginx had no hook for dynamically adding new modules, which meant having to recompile Nginx to add functionality. But the Nginx company has worked to address that issue: as of version 1.9.11, Nginx supports dynamic module loading. Still, there may be cases where […]
Install the Latest Nginx From Source on Ubuntu 16.04
So you want to install Nginx from source on Ubuntu. However, you want Nginx to work like you had installed it with the package manager. This means the startup file (/etc/init.d/nginx), binary (/usr/sbin/nginx), config directory (/etc/nginx/) and log files (/var/log/nginx/) will all be found in the usual Debian/Ubuntu locations. Fortunately this is pretty easy to […]
OTRS Installation (5.0.11) on Ubuntu 16.04
This article describes how to install the latest open source OTRS help desk system on an Ubuntu 16.04 server. If you’ve used my previous article, the procedure is little changed from before, but some of the specific commands are different. As of this writing, the current version of OTRS is 5.0.11, and I’m starting with […]
Installing Drush 8
Previously I discussed how to install Drush 6.x for use with Drupal 7. Here we’ll install Drush 8 for Drupal 8, specifically using Ubuntu 16.04 Server. The recommended method is to install using PHP’s Composer. First we install Composer itself: Then, install unzip to speed things up: Installing and Testing Drush 8 Install Drush 8.x: […]
Ubuntu 16.04 Web Server with Nginx, MariaDB, Redis, and Drupal 8
As mentioned in my Ubuntu 16.04 and Drupal 7 article, the Ubuntu 16 LTS version has some nice upgrades, including PHP 7, MySQL 5.7, Nginx 1.10, Apache 2.4.18, and MariaDB 10.0.x. Let’s see if we can make it work with Nginx, PHP-FPM, MariaDB, and Drupal 8, using the Redis key-value store as the backend cache […]
Drupal 7: Display Page Elements Conditionally
In Drupal you often need to show page elements conditionally, usually based on variables like the URL or user identity. Fortunately, the Drupal API offers several functions that can help: hook_html_head_alter() template_preprocess_page() template_preprocess_html() drupal_match_path() drupal_get_http_header() user_is_logged_in() or user_is_anonymous() Modify the Page Header To add a tag to the header on every page, use hook_html_head_alter() in […]