094be12dd8cf2998996c51e0abe43cba91cee490
WordOps
An essential toolset that eases WordPress site and server administration
Key Features • Getting Started • Usage • RoadMap • Changelog • Credits • License
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
- Up-to-date : Nginx 1.14.2 with Brotli support, PHP 7.2 & 7.3, MariaDB 10.3 & Redis 5.0
- Secured : Hardened WordPress security with strict Nginx location directives
- Powerful : Optimized Nginx configurations with multiple cache backends support
- SSL : Let's Encrypt SSL certificates handled by Acme.sh
- Modern : Secured SSL/TLS encryption with strong ciphers_suite and modern TLS protocols
Requirements
Operating System
- Ubuntu 16.04 LTS (Xenial)
- Ubuntu 18.04 LTS (Bionic)
- Debian 8 (Jessie)
- Debian 9 (Stretch)
Ports requirements
- SSH (22 or custom)
- HTTP & HTTPS (80 & 443)
- WO Admin (22222)
- GPG key Server (11371 outbound)
Getting Started
wget -qO wo wordops.se/tup && sudo bash wo # Install WordOps
sudo wo site create example.com --wp # Install required packages & setup WordPress on example.com
Must read
WordOps made some fundamental changes:
- We've deprecated the mail stack. As an alternative, you can take a look at Mail-in-a-Box, iRedMail or Caesonia. As Roundcube alternative, there is Rainloop or Afterlogic WebMail
- Support for w3tc is dropped as a security precaution.
- PHP 5.6 has been replaced by PHP 7.2 and PHP 7.0 has been replaced by PHP 7.3.
- Nginx-ee package has been replaced by Nginx-wo (based on Nginx stable v1.14.2 with Brolti support)
- Let's Encrypt stack isn't based on letsencrypt-auto anymore, we use acme.sh to handle SSL certificates
If you are going to migrate from EasyEngine v3, here some important informations :
- Previous php upstreams in Nginx will not be overwritted
- php5.6 and php7.0 will not be removed or uninstalled
- previous Nginx common configurations will not be overwritted
Usage
Standard WordPress sites
wo site create example.com --wp # install wordpress without any page caching
wo site create example.com --wp --php73 # install wordpress with PHP 7.3 without any page caching
wo site create example.com --wpsc # install wordpress with wp-super-cache plugin
wo site create example.com --wpfc # install wordpress + nginx fastcgi_cache
wo site create example.com --wpredis # install wordpress + nginx redis_cache
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
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
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 support
wo site create example.com --mysql # create example.com with php & mysql support
wo site create example.com --proxy=127.0.0.1:3000 # create example.com with nginx as reverse-proxy
Sites secured with Let's Encrypt
wo site create example.com --wp --letsencrypt # install wordpress & secure site with letsencrypt
wo site create sub.example.com --wp --letsencrypt=subdomain # install wordpress and secure subdomain with letsencrypt
Cheatsheet
| single site | multisite w/ subdir | multisite w/ subdom | |
|---|---|---|---|
| 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 |
Update WordOps
wo update
Support
If you feel there is a bug directly related to WordOps, feel free to open an issue. For any other questions/suggestions about WordOps or if you need support, please use the WordOps 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 contribut by improving WordOps documentation.
Credits
- Main source : EasyEngine
- Acme client : Acme.sh
- WordPress deployment : WP-CLI
License
Languages
Python
78.2%
Mustache
13.8%
Shell
7%
PHP
1%
