What is WordOps ?

WordOps is a command line tool which ease server administration and WordPress deployment by providing the ability to setup an optimized LEMP stack (Nginx, PHP, MySQL) with simple command like wo stack install --nginx.

WordOps not only installs and configures the packages needed to deploy a site (Nginx, PHP, MariaDB) but it also takes care of creating Nginx vhosts and the database, installing WordPress and even get a Let’s Encrypt SSL certificate, all in one command line.

It support multiple cache backend for WordPress, including Nginx fastcgi_cache, Redis cache (full-page cache + object cache) or wp-super-cache, based on a highly optimized Nginx configuration and an hardened security with strict location directives.

WordOps can be installed on :

  • Ubuntu LTS (Long Term Service) releases (16.04 & 18.04)
  • Ubuntu 19.04
  • Debian 9 (stretch)
  • Debian 10 (buster) – not ready for production yet
  • Raspbian 9 (stretch)

Support for other linux distribution isn’t planned.

Yes, you can take a look on the Github project to see what features are going to be implemented in WordOps and the current tasks progression

There is no “best solution”, because there are benefits/disadvantage for each caching solution and it depend on your usage. Here some informations :

Cache backendcommand argumentdescription
fastcgi_cache--wpfcthe simplest solution, because it do not rely on any plugin excepted nginx_helper used to purge cache after content updates
redis-cache--wpredispowerful solution which support multi-server setup and it provide full-page cache in redis via Nginx + object-cache via Redis-Object-Cache plugin (optional)
wp-super-cache--wpscbasic solution based on a plugin which create and serve static html files.
wp-rocket--wprocketsolution based on a popular premium plugin with several additional features, compatible with Woocommerce and the most part of plugins
cache-enabler--wpcesolution based on an open-source plugin from keycdn


WordOps support PHP 7.2 (default) and PHP 7.3.

Yes, since the release v3.9.8, WordOps support WP-Rocket with an optimized configuration to provide the best performances for your site. Because WP-Rocket is a paid plugin, we are not able to install it and to configure it during WordPress installation. So you will have to download it from the official site and to install it manually.

WordOps dashboard is available on https://YOUR.SERVER.IP:22222 or https://YOUR.SERVER.HOSTNAME:22222

By default, user is admin and password too. After you logged in for the first time, you will have to change this password

During Nginx installation, WordOps secure his back-end with a self-signed SSL certificate. But WordOps will automatically replace this self-signed certificate with the first Let’s Encrypt SSL certificate issued on the server. So if you want to access WordOps back-end without receiving warning about the certificate, just create a site secured with a Let’s Encrypt SSL certificate, and use this domain to access to the back-end.

Additional information are available in the documentation.

Yes, since the release v3.9.5.4, our custom Nginx package is built with OpenSSL 1.1.1c and is available on all Linux distributions supported by WordOps : Ubuntu 16.04/18.04/19.04,  Debian 8/9/10 & Raspbian 9/10.

WordOps Let’s Encrypt stack is fully compatible with Cloudflare CDN, and you can use Cloudflare DNS API to issue your certificates even if the domain is not pointed to your server IP.

If you need/want to uninstall WordOps, you can use the following commands :

make a backup of your databases before purging stacks

1)  Purge WordOps stacks (nginx, mysql, php etc..)

wo stack purge --all

2) Uninstall WordOps

wget -qO wo && sudo bash wo --purge

You can find the MySQL root password in /etc/mysql/conf.d/my.cnf

Enable Brotli

mv /etc/nginx/conf.d/brotli.conf.disabled /etc/nginx/conf.d/brotli.conf

Disable Gzip

mv /etc/nginx/conf.d/gzip.conf /etc/nginx/conf.d/gzip.conf.disabled

Restart Nginx to apply changes

wo stack restart --nginx

To avoid issues when upgrading from EasyEngine or from previous WordOps release, and to apply changes we made in our Nginx templates, we have chosen to force Nginx configuration deployment during WordOps upgrade.

But it’s still possible to customize Nginx configurations without loosing everything after each upgrade. To disable configuration update on a file, you just have to create an empty file with the same name and the extension .custom

For example, if you want to customize the file /etc/nginx/conf.d/fastcgi.conf, you just have to create an empty file /etc/nginx/conf.d/fastcgi.conf.custom

touch /etc/nginx/conf.d/fastcgi.conf.custom