A LEMP stack runs web applications on Linux with Nginx, MySQL, and PHP. WordOps is a management tool for WordPress on the LEMP stack. This guide describes how to install, configure, and manage a WordPress site using WordOps on Ubuntu or Debian Linux.
WordOps simplifies WordPress deployment by automating the installation and configuration of various dependencies. The WordOps stack consist of the following components:
Core LEMP stack: Nginx, MariaDB, and PHP.
Cache backend: support for Nginx fastcgi_cache, Redis, WP-Super-Cache, WP-Rocket, and Cache Enabler.
Security component: UFW firewall and Fail2ban.
Netdata for server monitoring.
Lightweight web panel for server administration.
Database management: phpMyAdmin, Adminer, and MySQLTuner.
SSL configuration and renewal using Let's Encrypt.
Visit WordOps Github page for more information.
The following conditions are required to follow this guide:
A Vultr cloud server running Ubuntu (16.04, 18.04, or 20.04) or Debian (9 or 10)
Root privileges or a user with sudo rights
Basic familiarity with WordPress administration and Linux commands
Make sure all components are upgraded before installing WordOps.
# apt update -y && apt upgrade -y
Log in to the Linux machine and execute the following auto-install script.
# wget -qO wo wops.cc && sudo bash wo
An alternate installation method is to clone the Github repository and run the install script:
# git clone https://github.com/WordOps/WordOps.git # cd WordOps # sudo bash install
During installation, you will be prompted for a username and email address. This is your default admin account for WordPress.
WordOps provides numerous components to run a WordPress site. The
wo stack command controls how those components installed.
Install the default components.
# wo stack install
WordOps will install and configure the components. This may take several minutes. After the install is complete, WordOps will report the login information for the backend, which has useful information and reports for your WordPress site.
HTTP Auth User Name: WordOps HTTP Auth Password : YOUR_PASSWORD WordOps backend is available on https://192.0.2.123:22222 or https://myexample1.example.com:22222
The current version of WordOps does not install PHP 7.3 during the default installation. Upgrade to PHP 7.3.
# wo stack install --php73
Before creating the WordPress site, verify all the required components are installed properly.
# wo stack status
Make sure that all the required modules are running. WordPress requires, at a minimum, the following components.
php7.2-fpm or php7.3-fpm
wo site command manages websites in WordOps. The most common subcommands are
delete. See the official documentation for a full list of subcommands.
Create a Wordpress site
myexample1.example.com with PHP 7.3.
# wo site create myexample1.example.com --wp --php73
--wp option specifies WordOps will deploy a WordPress site instead of a plain PHP web site. Behind the scenes, WordOps downloads the latest WordPress files, configures an Nginx virtual host, creates the MariaDB database, and installs a WordPress site.
Once site creation is complete, WordOps reports the admin user name and auto-generated password to access the WordPress admin panel.
WordPress admin user : YourAdminName WordPress admin password : GeneratedPassword Successfully created site http://myexample1.example.com
WordOps can deploy multiple web sites on a single server. Create a second site myexample2.example.com using the same command.
# wo site create myexample2.example.com --wp --php73
WordOps comes with the UFW firewall enabled by default. It also includes fail2ban to prevent brute-force attacks. Check the state of UFW using
ufw status command. If UFW is not running, execute the following lines to deploy UFW with WordOps:
# wo stack install --ufw # ufw enable # ufw status
Configure the UFW ports for WordPress. Allow SSH(22), HTTP(80), HTTPS(443), WordOps Admin panel(22222), and the GPG repository(1137).
# ufw allow 22 # ufw allow 80 # ufw allow 443 # ufw allow 22222 # ufw allow 1137
WordOps supports the free Let's Encrypt SSL certificates for domains, subdomains, and wildcards. The
--le option manages the certificate configuration tasks.
Add a Let's Encrypt SSL certificate configuration to the
wo site update myexample1.example.com --le
WordOps supports FastCGI and Redis to speed up WordPress and reduce server resources. WordOps is also compatible with caching plugins such as WP-Rocket, WP Super Cache, and Cache Enabler. The fasgcgi cache is simple and does not rely on any commercial plugins. The following command installs and configures FastCGI and the nginx_helper plugin in WordPress for
wo site update myexample1.example.com --wpfc
To verify the configuration, log in to the WordPress admin panel and check the nginx_helper plugin. Verify that FastCGI is enabled and the disk caching configuration option is checked.
It is easy to switch to the Redis cache with the
wo site update myexample1.example.com --wpredis
WordOps provides many tools for WordPress that simplify deployment and administration, It prevents misconfiguration errors, provides production-quality security with UFW and fail2ban support, and improved performance with multiple available caching systems.