WordOps provide the ability to deploy a blazing fast and secured WordPress with Nginx by using simple and easy to remember commands. In this step-by-step guide, we’ll walk you through the process of installing WordOps on VPS running Ubuntu 22.04 LTS.
Here our recommended hardware configuration for production
- Multi-core CPU
- 20GB SSD storage
- 2GB RAM
Install WordOps Ubuntu 22.04
Update the system with the following command
apt update -y && apt list --upgradable
Installed WordOps with the following command
wget -qO wo wops.cc && sudo bash wo
Installing WordOps stacks
Once the installation is done, you can optionally install WordOps stacks using the follwing command
wo stack install
options | type | description |
---|---|---|
–web | Group | Nginx, PHP, MySQL, WP-CLI |
–admin | Group | phpMyAdmin, Adminer, Dashboard, Netdata, MySQLTuner … |
–utils | Group | OpcacheGUI, Webgrind, Anemometer |
–nginx | APT package | nginx stack |
–php | APT package | PHP8.0-FPM stack |
–php73 | APT package | PHP7.3-FPM stack |
–php74 | APT package | PHP7.4-FPM stack |
–php80 | APT package | PHP8.0-FPM stack |
–php81 | APT package | PHP8.1-FPM stack |
–mysql | APT package | MariaDB stack |
–redis | APT package | Redis stack |
–wpcli | Binary | WP-CLI : WordPress CLI |
–phpmyadmin | Web App | phpMyAdmin : Web interface for MySQL |
–composer | Binary | Composer : PHP dependencies manager |
–netdata | Binary | Netdata : Real-time monitoring suite |
–dashboard | Web App | WordOps dashboard |
–extplorer | Web App | eXtplorer Filemanager |
–adminer | Web App | adminer (phpmyadmin alternative) |
–fail2ban | APT package | Fail2ban : Bruteforce protection |
–phpredisadmin | Web App | phpredisadmin : Web interface for Redis |
–proftpd | APT package | proftpd stack : FTP server |
–mysqltuner | Binary | MySQLTuner stack : MySQL tuning tool |
–ufw | APT package | UFW : Firewall |
–sendmail | APT package | Sendmail MTA |
–ngxblocker | Binary | Ultimate Nginx bad bots blocker |
–nanorc | Binary | Nano editor syntax highlighting |
Options are the same for wo stack install, wo stack remove and wo stack purge
wo stack upgrade [options]
wo stack remove <stack> [options]
Options | Description |
---|---|
–all | Remove all stacks at once |
–force | Force install/remove/purge without prompt |
wo stack restart [options]
wo stack reload [options]
wo stack start [options]
wo stack stop [options
wo stack status [options]
Create site with WordOps on Ubuntu 22.04
You can create site with WordOps by using the command wo site create
Create site basic html
wo site create yousite.com --html
Create Simple PHP site
wo site create yousite.com --php
Create simple PHP + MySQL site
wo site create yousite.com --mysql
Create WordPress site and extra settings
wo site create yousite.com --wp
Cache | Single Site | Multisite or Subdir | Multisite or Subdomain |
---|---|---|---|
No Cache | –wp | –wpsubdir | –wpsubdomain |
WP Super Cache | –wpsc | –wpsubdir –wpsc | –wpsubdomain –wpsc |
Nginx fastcgi_cache | –wpfc | –wpsubdir –wpfc | –wpsubdomain –wpfc |
Redis cache | –wpredis | –wpsubdir –wpredis | –wpsubdomain –wpredis |
WP-Rocket | –wprocket | –wpsubdir –wprocket | –wpsubdomain –wprocket |
Cache-Enabler | –wpce | –wpsubdir –wpce | –wpsubdomain –wpce |
WordPress administrator user during site creation
wo site create yousite.com --user=admin
WordPress administrator password during site creation
wo site create yousite.com --pass=password
If you have special characters, you can quote them using single quotes like this
--pass='@password'
WordPress administrator email during site creation
wo site create yousite.com [email protected]
Create site with Let’s Encrypt
wo site create yousite.com -le
Let’s Encrypt Wildcard SSL certificate
wo site create yousite.com --wpsubdomain --letsencrypt=wildcard --dns=dns_cf
More information about wildcard SSL certificates our guide about DNS API configuration
Site Update Options
wo site update [<site_name>] [options]
Options | Description |
---|---|
–wpfc |
update site to WordPress with fastcgi_cache
|
–wpsc |
update site to WordPress with wp-super-cache plugin
|
–wpredis |
update site to WordPress with redis-cache
|
–wprocket |
update site to WordPress with WP-Rocket plugin
|
–wpce |
update site to WordPress with Cache-Enabler plugin
|
–wpsubdir |
update site to WordPress multisite on subdirectories
|
–wpsubdomain |
update site to WordPress multisite on subdomains
|
–password |
update admin password for a WordPress site
|
–letsencrypt,-le |
secure site with Let’s Encrypt SSL certificate
|
–letsencrypt=wildcard |
secure site/multisite with a wildcard SSL certificates
|
–letsencrypt=off |
disable Let’s Encrypt SSL certificate
|
–dns, –dns=<dns api provider> | issue Let’s Encrypt certificate with DNS validation. default: dns_cf |
–hsts, –hsts=off |
Enable or disable HSTS on site secured with Let’s Encrypt
|
Site Info Command
wo site info [<site_name>]
Delete site including webroot and database
wo site delete [<site_name>] [options]
Options | Description |
---|---|
–no-prompt | delete website without confirmation prompt |
–files | delete only website files |
–db | delete only database |
Edit site Nginx configuration
wo site edit [<site_name>]
Site show Nginx configuration
wo site show [<site_name>]
List all sites managed
wo site list
Disable and Enable site Nginx vhost
wo site disable [<site_name>]
wo site enable [<site_name>]
WordOps Commands
WordOps backend auth, IP and Port
wo secure [options]
Argument | Description |
---|---|
–auth | Set backend user credentials (user and) |
–port | Set backend port (default: 22222) |
–ip | Set the list of IP(s) allowed to access without authentification |
–ssh | Harden SSH security |
–sshport | Set custom ssh port (default: 22) |
–allowpassword | Allow password authentification when hardening SSH security |
–force | Force hardening SSH security without being prompt for confirmation |