2019-03-02 20:12:06 +01:00
<h1 align="center" style="font-size:54px;"><a href="https://wordops.org">
WordOps</a>
<br>
</h1>
2018-11-13 21:55:59 +01:00
2019-03-02 20:12:06 +01:00
<h2 align="center">An essential toolset that eases WordPress site and server administration</h2>
2018-11-14 19:26:05 +01:00
2019-03-02 20:12:06 +01:00
<p align="center">
<a href="https://travis-ci.org/WordOps/WordOps"><img src="https://travis-ci.org/WordOps/WordOps.svg?branch=master" alt="build"></a>
<img src="https://img.shields.io/github/license/wordops/wordops.svg" alt="MIT">
<img src="https://img.shields.io/github/last-commit/wordops/wordops.svg" alt="Commits">
2019-03-07 16:14:30 +01:00
<img alt="GitHub release" src="https://img.shields.io/github/release-pre/wordops/wordops.svg">
2019-03-02 20:12:06 +01:00
</p>
2018-11-13 21:55:59 +01:00
2019-03-02 20:12:06 +01:00
<p align="center">
<a href="#key -features">Key Features</a> •
<a href="#getting -started">Getting Started</a> •
<a href="#usage ">Usage</a> •
2019-03-13 18:39:54 +01:00
<a href="https://github.com/WordOps/WordOps/projects">RoadMap</a> •
2019-03-07 14:02:32 +01:00
<a href="https://github.com/WordOps/WordOps/blob/master/CHANGELOG.md">Changelog</a> •
2019-03-02 20:12:06 +01:00
<a href="#credits ">Credits</a> •
<a href="#license ">License</a>
</p>
2018-11-13 21:55:59 +01:00
2019-03-02 20:12:06 +01:00
---
## Key Features
2019-03-05 13:19:47 +01:00
- Easy Migration from EasyEngine v3 (migration script development in progress)
2019-03-02 20:12:06 +01:00
- Automated WordPress, Nginx, PHP, MySQL & Redis installation
2019-03-18 14:19:30 +01:00
- Nginx 1.14.2 with Brotli support, PHP 7.2 & 7.3, MariaDB 10.3 & Redis 5.0
2019-03-15 16:45:10 +01:00
- Hardened WordPress security with strict Nginx location directives
2019-03-07 14:02:32 +01:00
- Optimized Nginx configurations with multiple cache backends support
2019-03-18 14:19:30 +01:00
- Let's Encrypt SSL certificates handled by Acme.sh
2019-03-15 16:45:10 +01:00
- Secured SSL/TLS encryption with strong ciphers_suite and modern TLS protocols
2019-03-02 20:12:06 +01:00
## Requirements
### Operating System
2019-03-15 16:45:10 +01:00
- Ubuntu 16.04 LTS (Xenial)
- Ubuntu 18.04 LTS (Bionic)
- Debian 8 (Jessie)
2019-03-18 14:19:30 +01:00
- Debian 9 (Stretch)
2019-03-02 20:12:06 +01:00
### Ports requirements
- SSH (22 or custom)
- HTTP & HTTPS (80 & 443)
- WO Admin (22222)
- GPG key Server (11371 outbound)
## Getting Started
2018-11-13 21:55:59 +01:00
```bash
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
```
2019-03-02 20:12:06 +01:00
## Must read
2018-11-13 21:55:59 +01:00
2019-03-02 20:12:06 +01:00
WordOps made some fundamental changes:
2018-11-13 21:55:59 +01:00
2019-03-15 17:08:47 +01:00
- We've deprecated the mail stack. As an alternative, you can take a look at [Mail-in-a-Box ](https://github.com/mail-in-a-box/mailinabox ), [iRedMail ](https://www.iredmail.org/ ) or [Caesonia ](https://github.com/vedetta-com/caesonia ). As Roundcube alternative, there is [Rainloop ](https://www.rainloop.net/ ) or [Afterlogic WebMail ](https://github.com/afterlogic/webmail-lite-8 )
2019-03-02 20:12:06 +01:00
- Support for w3tc is dropped as a security precaution.
2019-03-15 16:45:10 +01:00
- 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)
2019-03-05 13:41:14 +01:00
2019-03-15 16:45:10 +01:00
We are still working on the script to migrate from EasyEngine v3 to WordOps. Here some informations about the WordOps install script :
- 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
2019-03-15 17:08:47 +01:00
A tutorial will be available soon to explain how to fully migrate from EasyEngine v3 to WordOps.
2018-11-13 21:55:59 +01:00
2019-03-02 20:12:06 +01:00
## Usage
2018-11-13 21:55:59 +01:00
### Standard WordPress sites
```bash
wo site create example.com --wp # install wordpress without any page caching
2019-03-07 16:14:30 +01:00
wo site create example.com --wp --php73 # install wordpress with PHP 7.3 without any page caching
2018-11-13 21:55:59 +01:00
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
```
2019-03-15 16:45:10 +01:00
### WordPress multisite with subdirectory
2018-11-13 21:55:59 +01:00
```bash
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
```
2019-03-15 16:45:10 +01:00
### WordPress multisite with subdomain
2018-11-13 21:55:59 +01:00
```bash
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
2019-03-02 20:12:06 +01:00
2018-11-13 21:55:59 +01:00
```bash
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
2019-03-15 16:45:10 +01:00
wo site create example.com --proxy=127.0.0.1:3000 # create example.com with nginx as reverse-proxy
2018-11-13 21:55:59 +01:00
```
2019-03-18 00:30:54 +01:00
### Sites secured with Let's Encrypt
```bash
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
```
2019-03-02 20:12:06 +01:00
## Cheatsheet
2018-11-13 21:55:59 +01:00
2019-03-15 16:45:10 +01:00
| | single site | multisite w/ subdir | multisite w/ subdom |
2018-11-13 21:55:59 +01:00
|--------------------|---------------|-----------------------|--------------------------|
2019-03-15 16:45:10 +01:00
| **NO Cache ** | --wp | --wpsubdir | --wpsubdomain |
| **WP Super Cache ** | --wpsc | -wpsubdir --wpsc | --wpsubdomain --wpsc |
2019-03-02 20:12:06 +01:00
| **Nginx fastcgi_cache ** | --wpfc | --wpsubdir --wpfc | --wpsubdomain --wpfc |
2018-11-13 21:55:59 +01:00
| **Redis cache ** | --wpredis | --wpsubdir --wpredis | --wpsubdomain --wpredis |
2019-03-02 20:12:06 +01:00
## Update WordOps
```bash
wo update
```
## Credits
2019-03-18 14:19:30 +01:00
- Main source : [EasyEngine ](https://github.com/easyengine/easyengine )
- Acme client : [Acme.sh ](https://github.com/Neilpang/acme.sh )
2019-03-02 20:12:06 +01:00
2018-11-13 21:55:59 +01:00
## License
2019-03-02 20:12:06 +01:00
2019-03-13 18:39:54 +01:00
- [MIT ](http://opensource.org/licenses/MIT ) © [WordOps ](https://wordops.org )