diff --git a/CHANGELOG.md b/CHANGELOG.md index 49ca4ab..67640ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## Releases -### v3.9.x - [Unreleased] +### v3.9.6 - [Unreleased] ---- +#### Added + +- New Nginx package on Ubuntu with Cloudflare HTTP/2 HPACK and Dynamic TLS records +- phpMyAdmin upgrade with `wo stack upgrade --phpmyadmin` +- Wildcard SSL Certificates support with DNS validation + +#### Fixed + +- Nginx was not reloaded after enabling HSTS ### v3.9.5.4 - 2019-07-13 diff --git a/README.md b/README.md index 9a9f7d1..177cb75 100644 --- a/README.md +++ b/README.md @@ -42,11 +42,12 @@ - **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.16.0 with TLS v1.3 & Brotli support, PHP 7.2 & 7.3, MariaDB 10.3 & Redis 5.0 +- **Custom Nginx build** : Nginx 1.16.0 - TLS v1.3 Cloudflare HTTP/2 HPACK & Brotli support +- **Up-to-date** : 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, modern TLS protocols and HSTS support +- **SSL** : Domain, Subdomain & Wildcard Let's Encrypt SSL certificates handled by acme.sh +- **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 ## Requirements @@ -167,12 +168,11 @@ Apps & Tools shipped with WordOps : - [Composer](https://github.com/composer/composer) - [Adminer](https://www.adminer.org/) - [phpRedisAdmin](https://github.com/erikdubbelboer/phpRedisAdmin) -- [PHPMemcachedAdmin](https://github.com/elijaa/phpmemcachedadmin) - [opcacheGUI](https://github.com/amnuts/opcache-gui) - [eXtplorer](https://github.com/soerennb/extplorer) - [MySQLTuner](https://github.com/major/MySQLTuner-perl/) - [Webgrind](https://github.com/jokkedk/webgrind) - +- [MySQLTuner](https://github.com/major/MySQLTuner-perl) ## License diff --git a/wo/cli/plugins/site.py b/wo/cli/plugins/site.py index 327f587..2bfe7cf 100644 --- a/wo/cli/plugins/site.py +++ b/wo/cli/plugins/site.py @@ -1264,19 +1264,30 @@ class WOSiteUpdateController(CementBaseController): " http://{0}".format(wo_domain)) return 0 + if self.app.pargs.dns: + wo_acme_dns = pargs.dns + if pargs.letsencrypt: if data['letsencrypt'] is True: if not os.path.isfile("{0}/conf/nginx/ssl.conf.disabled" .format(wo_site_webroot)): if self.app.pargs.letsencrypt == "on": - setupLetsEncrypt(self, wo_domain) + if self.app.pargs.dns: + setupLetsEncrypt(self, wo_domain, False, + False, True, wo_acme_dns) + else: + setupLetsEncrypt(self, wo_domain) httpsRedirect(self, wo_domain) elif self.app.pargs.letsencrypt == "subdomain": - setupLetsEncryptSubdomain(self, wo_domain) + if self.app.pargs.dns: + setupLetsEncrypt(self, wo_domain, True, False, + True, wo_acme_dns) + else: + setupLetsEncrypt(self, wo_domain, True) httpsRedirect(self, wo_domain) elif self.app.pargs.letsencrypt == "wildcard": - wo_acme_dns = pargs.dns - setupLetsEncryptWildcard(self, wo_domain, wo_acme_dns) + setupLetsEncrypt(self, wo_domain, false, True, + True, wo_acme_dns) httpsRedirect(self, wo_domain, True, True) else: WOFileUtils.mvfile(self, "{0}/conf/nginx/ssl.conf.disabled" diff --git a/wo/cli/plugins/site_functions.py b/wo/cli/plugins/site_functions.py index 8697692..89d09bc 100644 --- a/wo/cli/plugins/site_functions.py +++ b/wo/cli/plugins/site_functions.py @@ -339,7 +339,8 @@ def setupwordpress(self, data): .format(WOVariables.wo_wpcli_path) + "config create " + "--dbname=\'{0}\' --dbprefix=\'{1}\' --dbhost=\'{2}\' " - .format(data['wo_db_name'], wo_wp_prefix, data['wo_db_host']) + + .format(data['wo_db_name'], + wo_wp_prefix, data['wo_db_host']) + "--dbuser=\'{0}\' --dbpass=\'{1}\' " "--extra-php<