/WordOps

Install and manage a high performance WordPress stack with a few keystrokes

Primary LanguagePythonMIT LicenseMIT

Wordops

An essential toolset that eases WordPress site and server administration

WordOps

build CI MIT Commits GitHub release
PyPI - Downloads Badge Twitter Badge Rocket.chat

Key FeaturesUsageRoadMapChangelogCreditsLicense

WordOps.netDocumentationCommunity ForumDashboard demo


Key Features

  • Easy to install : One step automated installer with migration from EasyEngine v3 support
  • Fast deployment : Fast and automated WordPress, Nginx, PHP, MySQL & Redis installation
  • Custom Nginx build : Nginx 1.18.0 - TLS v1.3 Cloudflare HTTP/2 HPACK & Brotli support
  • Up-to-date : PHP 7.2, 7.3, 7.4, 8.0 & 8.1 - MariaDB 10.5 & Redis 6.0
  • Secured : Hardened WordPress security with strict Nginx location directives
  • Powerful : Optimized Nginx configurations with multiple cache backends support
  • SSL : Domain, Subdomain & Wildcard Let's Encrypt SSL certificates with DNS API support
  • Modern : Strong ciphers_suite, modern TLS protocols and HSTS support (Grade A+ on ssllabs)
  • Monitoring : Live Nginx vhost traffic with ngx_vts_module and server monitoring with Netdata
  • User Friendly : WordOps dashboard with server status/monitoring and tools (demo)

Requirements

Operating System

Recommended

  • Ubuntu 20.04 LTS (Focal)
  • Ubuntu 18.04 LTS (Bionic)

Also compatible

  • Debian 9 (Stretch)
  • Debian 10 (Buster)
  • Raspbian 9 (Stretch)
  • Raspbian 10 (Buster)

Getting Started

wget -qO wo wops.cc && sudo bash wo      # Install WordOps
sudo wo site create example.com --wp     # Install required packages & setup WordPress on example.com

Detailed Getting Started guide with additional installation methods can be found in the documentation.

Usage

Standard WordPress sites

wo site create example.com --wp                  # install wordpress with PHP 7.3 without any page caching
wo site create example.com --wp  --php80         # install wordpress with PHP 8.0  without any page caching
wo site create example.com --wp  --php81         # install wordpress with PHP 8.1  without any page caching
wo site create example.com --wpfc                # install wordpress + nginx fastcgi_cache
wo site create example.com --wpredis             # install wordpress + nginx redis_cache
wo site create example.com --wprocket            # install wordpress with WP-Rocket plugin
wo site create example.com --wpce                # install wordpress with Cache-enabler plugin
wo site create example.com --wpsc                # install wordpress with wp-super-cache plugin

WordPress multisite with subdirectory

wo site create example.com --wpsubdir            # install wpmu-subdirectory without any page caching
wo site create example.com --wpsubdir --wpsc     # install wpmu-subdirectory with wp-super-cache plugin
wo site create example.com --wpsubdir --wpfc     # install wpmu-subdirectory + nginx fastcgi_cache
wo site create example.com --wpsubdir --wpredis  # install wpmu-subdirectory + nginx redis_cache
wo site create example.com --wpsubdir --wprocket # install wpmu-subdirectory + WP-Rocket plugin
wo site create example.com --wpsubdir --wpce     # install wpmu-subdirectory + Cache-Enabler plugin

WordPress multisite with subdomain

wo site create example.com --wpsubdomain            # install wpmu-subdomain without any page caching
wo site create example.com --wpsubdomain --wpsc     # install wpmu-subdomain with wp-super-cache plugin
wo site create example.com --wpsubdomain --wpfc     # install wpmu-subdomain + nginx fastcgi_cache
wo site create example.com --wpsubdomain --wpredis  # install wpmu-subdomain + nginx redis_cache
wo site create example.com --wpsubdomain --wprocket # install wpmu-subdomain + WP-Rocket plugin
wo site create example.com --wpsubdomain --wpce     # install wpmu-subdomain + Cache-Enabler plugin

Non-WordPress sites

wo site create example.com --html     # create example.com for static/html sites
wo site create example.com --php      # create example.com with php 8.0 support
wo site create example.com --php80      # create example.com with php 8.0 support
wo site create example.com --php74      # create example.com with php 7.4 support
wo site create example.com --mysql    # create example.com with php 7.3 & mysql support
wo site create example.com --mysql --php81   # create example.com with php 8.1 & mysql support
wo site create example.com --mysql --php73   # create example.com with php 7.3 & mysql support
wo site create example.com --proxy=127.0.0.1:3000 #  create example.com with nginx as reverse-proxy

Switch between PHP versions

wo site update example.com --php72 # switch to PHP 7.2
wo site update example.com --php73 # switch to PHP 7.3
wo site update example.com --php74 # switch to PHP 7.4
wo site update example.com --php80 # switch to PHP 8.0
wo site update example.com --php81 # switch to PHP 8.1

Sites secured with Let's Encrypt

wo site create example.com --wp -le #  wordpress & letsencrypt
wo site create sub.example.com --wp -le # wordpress & letsencrypt subdomain
wo site create example.com --wp --letsencrypt --hsts # wordpress & letsencrypt with HSTS
wo site create example.com --wp -le=wildcard --dns=dns_cf # wordpress & wildcard SSL certificate with Cloudflare DNS API

Update WordOps

wo update

Support

If you feel there is a bug directly related to WordOps, or if you want to suggest new features for WordOps, feel free to open an issue. For any other questions about WordOps or if you need support, please use the Community Forum.

Contributing

If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome. There is no need to be a developer or a system administrator to contribute to WordOps project. You can still contribute by helping us to improve WordOps documentation.

Credits

Apps & Tools shipped with WordOps :

Third-party debian packages shipped with WordOps :

WordPress Cache Plugins supported by WordOps :

License