diff --git a/CHANGELOG.md b/CHANGELOG.md index bcdc614..28c19dc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,344 +1,351 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - -## Releases - -### v3.9.x - [Unreleased] - -#### Changed - -- Extra Nginx directives moved from nginx.conf to conf.d/tweaks.conf - -#### Fixed - -- MySQLTuner installation -- `wo stack remove/purge --all` -- variable substitution in install script - -### v3.9.8 - 2019-08-16 - -#### Added - -- Allow web browser caching for json and webmanifest files -- nginx-core.mustache template used to render nginx.conf during stack setup -- APT Packages configuration step with `wo stack upgrade` to apply new configurations -- Cloudflare restore real_ip configuration -- WP-Rocket plugin support with the flag `--wprocket` -- Cache-Enabler plugin support with the flag `--wpce` -- Install unattended-upgrade and enable automated security updates -- Enable time synchronization with ntp -- Additional cache exception for woocommerce - -#### Changed - -- Do not force Nginx upgrade if a custom Nginx package compiled with nginx-ee is detected -- Gzip enabled again by default with configuration in /etc/nginx/conf.d/gzip.conf -- Brotli configuration moved in /etc/nginx/conf.d/brotli.conf.disabled (disabled by default) -- Moving package configuration in a new plugin stack_pref.py -- Cleanup templates by removing all doublons (with/without php7) and replacing them with variables -- Updated Nginx to v1.16.1 in response to HTTP/2 vulnerabilites discovered -- Disable temporary adding swap feature (not working) -- `wo stack upgrade --nginx` is now able to apply new configurations during `wo update`, it highly reduce upgrade duration - -#### Fixed - -- Error in HSTS header syntax - -### v3.9.7.2 - 2019-08-12 - -#### Fixed - -- redis.conf permissions additional fix - -### v3.9.7.1 - 2019-08-09 - -#### Changed - -- Set WordOps backend password length from 16 to 24 -- Upgrade framework cement to 2.6.0 -- Upgrade PyMySQL to 0.9.3 -- Upgrade Psutil to 5.6.3 - -#### Fixed - -- Missing import in `wo sync` -- redis.conf incorrect permissions - -### v3.9.7 - 2019-08-02 - -#### Added - -- MySQL configuration tuning -- Cronjob to optimize MySQL databases weekly -- WO-kernel systemd service to automatically apply kernel tweaks on server startup -- Proftpd stack now secured with TLS -- New Nginx package built with Brotli from operating system libraries -- Brotli configuration with only well compressible MIME types -- WordPress site url automatically updated to `https://domain.tld` when using `-le/--letsencrypt` flag -- More informations during certificate issuance about validation mode selected -- `--php72` as alternative for `--php` -- Automated removal of the deprecated variable `ssl on;` in previous Nginx ssl.conf -- Project Contributing guidelines -- Project Code of conduct - -#### Changed - -- `wo maintenance` refactored -- Improved debug log -- Updated Nginx configuration process to not overwrite files with custom data (htpasswd-wo, acl.conf etc..) -- Adminer updated to v4.7.2 -- eXtplorer updated to v2.1.13 -- Removed WordOps version from the Nginx header X-Powered-By to avoid possible security issues -- Several code quality improvements to speed up WordOps execution -- Few adjustements on PHP-FPM configuration (max_input_time,opcache.consistency_checks) -- Added /dev/urandom & /dev/shm to open_basedir in PHP-FPM configuration - -#### Fixed - -- Kernel tweaks were not applied without server reboot -- Fail2ban standalone install -- `wo stack purge --all` error due to PHP7.3 check -- Nginx helper configuration during plugin install for Nginx fastcgi_cache and redis-cache -- phpRedisAdmin stack installation -- Fixed Travis CI build on pull requests -- Nginx `server_names_hash_bucket_size` variable error after WordOps upgrade - -### v3.9.6.2 - 2019-07-24 - -#### Changed - -- Improve `wo update` process duration -- Improve package install/upgrade/remove process - -#### Fixed - -- phpMyAdmin archive download link archive -- Arguments `--letsencrypt=clean/purge` -- Incorrect directory removal during stack upgrade - -### v3.9.6.1 - 2019-07-23 - -#### Fixed - -- Typo in `--letsencrypt=subdomain` -- phpMyAdmin upgrade archive extraction -- Error in the command `wo update`. Please `wo update --beta` as workaround - -### v3.9.6 - 2019-07-20 - -#### 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 -- Let's Encrypt DNS API support (Cloudflare, DigitalOcean, etc ..) on domain, subdomain, and wildcard -- Flag `--letsencrypt=clean` to purge a previous SSL configuration -- Support for Debian 10 buster (testing - not ready for production) -- Fail2ban with custom jails to secure WordPress & SSH -- Variable `keylength` in /etc/wo/wo.conf to define letsencrypt certificate keylenght -- ProFTPd stack with UFW & Fail2ban configurationz -- Beta branch and command `wo update --beta` for beta releases -- Extra directives in wp-config.php (limit posts revisions, set max_memory, enable auto-update for minor-releases) - -#### Fixed - -- Nginx was not reloaded after enabling HSTS -- Netdata, Composer & Fail2Ban stack remove and purge -- WordPress not installed by `wo site update` with basic php73 sites - -### v3.9.5.4 - 2019-07-13 - -#### Added - -- New Nginx package on Ubuntu with TLS v1.3 support (OpenSSL 1.1.1c) -- Netdata upgrade with `wo stack upgrade --netdata` -- Netdata stack remove/purge - -#### Changed - -- phpRedisAdmin is now installed with the stack `--admin` -- Remove memcached - not required anymore - -#### Fixed - -- phpRedisAdmin installation -- Duplicated locations /robots.txt after upgrade to v3.9.5.3 -- Let's Encrypt stack `wo site update --letsencrypt/--letsencrypt=off` -- pt-query-advisor dead link -- Netdata persistant configuration - -### v3.9.5.3 - 2019-06-18 - -#### Added - -- Argument `--preserve` with the command `wo update` to keep current Nginx configuration - -#### Fixed - -- Nginx upgrade failure when running wo update - -### v3.9.5.2 - 2019-06-17 - -#### Added - -- Non-interactive install/upgrade -- Argument `--force` with the command `wo update` -- Argument `-s|--silent` to perform non interactive installation - -#### Changed - -- robots.txt location block moved from locations-wo.conf to wpcommon(-php7).php - -#### Fixed - -- WP_CACHE_KEY_SALT set twice with wpredis -- WordOps version check when using `wo update` -- robots.txt file download if not created -- PHP-FPM socket path in stub_status.conf : PR [#82](https://github.com/WordOps/WordOps/pull/82) - -### v3.9.5.1 - 2019-05-10 - -#### Fixed - -- Adminer download link - -### v3.9.5 - 2019-05-02 - -#### Added - -- IPv6 support with HTTPS -- Brotli support in Nginx -- Let's Encrypt support with --proxy -- Install script handle migration from EEv3 -- load-balancing on unix socket for php-fpm -- stub_status vhost for metrics -- `--letsencrypt=subdomain` option -- opcache optimization for php-fpm -- EasyEngine configuration backup before migration -- EasyEngine configuration cleanup after migration -- WordOps configuration backup before upgrade -- Previous acme.sh certs migration -- "wo maintenance" command to perform server package update & cleanup -- Support for Netdata on backend : https://server.hostname:22222/netdata/ -- New Stacks : composer and netdata -- additional argument for letsencrypt : --hsts -- Clean Theme for adminer -- Credits for tools shipped with WordOps -- Cache exception for Easy Digital Download -- Additional cache exceptions for Woocommerce -- MySQL monitoring with Netdata -- WordOps-dashboard on 22222, can be installed with `wo stack install` -- Extplorer filemanager in WordOps backend -- Enable OSCP Stapling with Let's Encrypt -- Compress database backup with pigz (faster than gzip) before updating sites -- Support for Ubuntu 19.04 (disco) - few php extensions missing -- Support for Raspbian 9 (stretch) - tested on Raspberry Pi 3b+ -- backup letsencrypt certificate before upgrade -- directives emergency_restart_threshold & emergency_restart_interval to restart php-fpm in case of failure -- EasyEngine cronjob removal during install -- Kernel tweaks via systctl.conf -- open_basedir on php-fpm process to forbid access with php outside of /var/www & /run/nginx-cache - -#### Changed - -- letsencrypt stack refactored with acme.sh -- letsencrypt validation with webroot folder -- hardened nginx ssl_ecdh_curve -- Update phpredisadmin -- Increase MySQL root password size to 24 characters -- Increase MySQL users password size to 24 characters -- Nginx locations template is the same for php7.2 & 7.3 -- backend SSL configuration now stored in /var/www/22222/conf/nginx/ssl.conf -- Install Netdata with static pre-built binaries instead of having to compile it from source -- Nginx updated to new stable release (1.16.0) -- New packages (phpmyadmin, adminer, composer) are not download in /tmp anymore - -#### Fixed - -- PHP 7.3 extras when php 7.2 isn't installed -- acme.sh installation -- acme.sh alias with config home variable -- deb.sury.org repository gpg key -- Nginx upgrade from previous WordOps release -- Force new Nginx templates during update -- Error message about missing my.cnf file during upgrade -- PHP 7.2 & PHP 7.3 pool configuration during upgrade -- WordOps backup directory creation before upgrade -- EasyEngine database sync during migration -- fix command "wo info" -- phpmyadmin install with composer -- command "wo clean --memcached" -- phpredisadmin setup -- --hsts flag with basic html site -- hsts flag on site not secure with letsencrypt -- fix import of previous acme.sh certificate -- fix proxy webroot folder creation - -### v3.9.4 - 2019-03-15 - -#### Added - -- Nginx module nginx_vts -- Migration script from nginx-ee to nginx-wo -- Support for Debian 9 (testing) -- New Nginx build v1.14.2 - -#### Changed - -- Update WP-CLI version to 2.1.0 -- Update Adminer to 4.6.2 -- Update predis to v1.1.1 -- Refactored nginx.conf -- Removed HHVM Stack -- Removed old linux distro checks -- Replace wo-acme-sh by acme.sh - -#### Fixed - -- Outdated Nginx ssl_ciphers suite -- Debian 9 nginx build - -### v3.9.3 - 2019-03-07 - -#### Changed - -- Updated Nginx fastcgi_cache templates -- Updated Nginx redis_cache templates -- Updated Nginx wp-super-cache templates -- Updated Nginx configuration for WordPress 5.0 -- remove --experimental args -- MariaDB version bumped to 10.3 -- Refactored Changelog -- Updated WO manual -- Updated WO bash_completion -- Refactored README.md - -#### Added - -- Add WebP image support with Nginx mapping -- Add PHP 7.3 support -- WordPress $skip_cache variable mapping - -#### Fixed - -- Nginx variable $webp_suffix on fresh install ([#21](https://github.com/WordOps/WordOps/issues/21)) -- wo update command ([#7](https://github.com/WordOps/WordOps/issues/7)) -- Fix php services management ([#12](https://github.com/WordOps/WordOps/issues/12)) -- Fix WP-CLI install - -### v3.9.2 - 2018-11-30 - -#### Changed - -- Re-branded the fork to WordOps -- Codebase cleanup -- Set PHP 7.2 as the default -- Included support for newer OS releases -- Reworked the HTTPS configuration -- Added more automated testing with Redis -- Replaced Postfix with smtp-cli -- Dropped mail services +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), + +## Releases + +### v3.9.x - [Unreleased] + +### v3.9.8.1 - 2019-08-17 + +#### Added + +- WordOps backend is automatically secured by the first Let's Encrypt SSL certificate issued + +#### Changed + +- Extra Nginx directives moved from nginx.conf to conf.d/tweaks.conf + +#### Fixed + +- MySQLTuner installation +- `wo stack remove/purge --all` +- variable substitution in install script +- `wo stack upgrade --phpmyadmin/--dashboard` + +### v3.9.8 - 2019-08-16 + +#### Added + +- Allow web browser caching for json and webmanifest files +- nginx-core.mustache template used to render nginx.conf during stack setup +- APT Packages configuration step with `wo stack upgrade` to apply new configurations +- Cloudflare restore real_ip configuration +- WP-Rocket plugin support with the flag `--wprocket` +- Cache-Enabler plugin support with the flag `--wpce` +- Install unattended-upgrade and enable automated security updates +- Enable time synchronization with ntp +- Additional cache exception for woocommerce + +#### Changed + +- Do not force Nginx upgrade if a custom Nginx package compiled with nginx-ee is detected +- Gzip enabled again by default with configuration in /etc/nginx/conf.d/gzip.conf +- Brotli configuration moved in /etc/nginx/conf.d/brotli.conf.disabled (disabled by default) +- Moving package configuration in a new plugin stack_pref.py +- Cleanup templates by removing all doublons (with/without php7) and replacing them with variables +- Updated Nginx to v1.16.1 in response to HTTP/2 vulnerabilites discovered +- Disable temporary adding swap feature (not working) +- `wo stack upgrade --nginx` is now able to apply new configurations during `wo update`, it highly reduce upgrade duration + +#### Fixed + +- Error in HSTS header syntax + +### v3.9.7.2 - 2019-08-12 + +#### Fixed + +- redis.conf permissions additional fix + +### v3.9.7.1 - 2019-08-09 + +#### Changed + +- Set WordOps backend password length from 16 to 24 +- Upgrade framework cement to 2.6.0 +- Upgrade PyMySQL to 0.9.3 +- Upgrade Psutil to 5.6.3 + +#### Fixed + +- Missing import in `wo sync` +- redis.conf incorrect permissions + +### v3.9.7 - 2019-08-02 + +#### Added + +- MySQL configuration tuning +- Cronjob to optimize MySQL databases weekly +- WO-kernel systemd service to automatically apply kernel tweaks on server startup +- Proftpd stack now secured with TLS +- New Nginx package built with Brotli from operating system libraries +- Brotli configuration with only well compressible MIME types +- WordPress site url automatically updated to `https://domain.tld` when using `-le/--letsencrypt` flag +- More informations during certificate issuance about validation mode selected +- `--php72` as alternative for `--php` +- Automated removal of the deprecated variable `ssl on;` in previous Nginx ssl.conf +- Project Contributing guidelines +- Project Code of conduct + +#### Changed + +- `wo maintenance` refactored +- Improved debug log +- Updated Nginx configuration process to not overwrite files with custom data (htpasswd-wo, acl.conf etc..) +- Adminer updated to v4.7.2 +- eXtplorer updated to v2.1.13 +- Removed WordOps version from the Nginx header X-Powered-By to avoid possible security issues +- Several code quality improvements to speed up WordOps execution +- Few adjustements on PHP-FPM configuration (max_input_time,opcache.consistency_checks) +- Added /dev/urandom & /dev/shm to open_basedir in PHP-FPM configuration + +#### Fixed + +- Kernel tweaks were not applied without server reboot +- Fail2ban standalone install +- `wo stack purge --all` error due to PHP7.3 check +- Nginx helper configuration during plugin install for Nginx fastcgi_cache and redis-cache +- phpRedisAdmin stack installation +- Fixed Travis CI build on pull requests +- Nginx `server_names_hash_bucket_size` variable error after WordOps upgrade + +### v3.9.6.2 - 2019-07-24 + +#### Changed + +- Improve `wo update` process duration +- Improve package install/upgrade/remove process + +#### Fixed + +- phpMyAdmin archive download link archive +- Arguments `--letsencrypt=clean/purge` +- Incorrect directory removal during stack upgrade + +### v3.9.6.1 - 2019-07-23 + +#### Fixed + +- Typo in `--letsencrypt=subdomain` +- phpMyAdmin upgrade archive extraction +- Error in the command `wo update`. Please `wo update --beta` as workaround + +### v3.9.6 - 2019-07-20 + +#### 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 +- Let's Encrypt DNS API support (Cloudflare, DigitalOcean, etc ..) on domain, subdomain, and wildcard +- Flag `--letsencrypt=clean` to purge a previous SSL configuration +- Support for Debian 10 buster (testing - not ready for production) +- Fail2ban with custom jails to secure WordPress & SSH +- Variable `keylength` in /etc/wo/wo.conf to define letsencrypt certificate keylenght +- ProFTPd stack with UFW & Fail2ban configurationz +- Beta branch and command `wo update --beta` for beta releases +- Extra directives in wp-config.php (limit posts revisions, set max_memory, enable auto-update for minor-releases) + +#### Fixed + +- Nginx was not reloaded after enabling HSTS +- Netdata, Composer & Fail2Ban stack remove and purge +- WordPress not installed by `wo site update` with basic php73 sites + +### v3.9.5.4 - 2019-07-13 + +#### Added + +- New Nginx package on Ubuntu with TLS v1.3 support (OpenSSL 1.1.1c) +- Netdata upgrade with `wo stack upgrade --netdata` +- Netdata stack remove/purge + +#### Changed + +- phpRedisAdmin is now installed with the stack `--admin` +- Remove memcached - not required anymore + +#### Fixed + +- phpRedisAdmin installation +- Duplicated locations /robots.txt after upgrade to v3.9.5.3 +- Let's Encrypt stack `wo site update --letsencrypt/--letsencrypt=off` +- pt-query-advisor dead link +- Netdata persistant configuration + +### v3.9.5.3 - 2019-06-18 + +#### Added + +- Argument `--preserve` with the command `wo update` to keep current Nginx configuration + +#### Fixed + +- Nginx upgrade failure when running wo update + +### v3.9.5.2 - 2019-06-17 + +#### Added + +- Non-interactive install/upgrade +- Argument `--force` with the command `wo update` +- Argument `-s|--silent` to perform non interactive installation + +#### Changed + +- robots.txt location block moved from locations-wo.conf to wpcommon(-php7).php + +#### Fixed + +- WP_CACHE_KEY_SALT set twice with wpredis +- WordOps version check when using `wo update` +- robots.txt file download if not created +- PHP-FPM socket path in stub_status.conf : PR [#82](https://github.com/WordOps/WordOps/pull/82) + +### v3.9.5.1 - 2019-05-10 + +#### Fixed + +- Adminer download link + +### v3.9.5 - 2019-05-02 + +#### Added + +- IPv6 support with HTTPS +- Brotli support in Nginx +- Let's Encrypt support with --proxy +- Install script handle migration from EEv3 +- load-balancing on unix socket for php-fpm +- stub_status vhost for metrics +- `--letsencrypt=subdomain` option +- opcache optimization for php-fpm +- EasyEngine configuration backup before migration +- EasyEngine configuration cleanup after migration +- WordOps configuration backup before upgrade +- Previous acme.sh certs migration +- "wo maintenance" command to perform server package update & cleanup +- Support for Netdata on backend : https://server.hostname:22222/netdata/ +- New Stacks : composer and netdata +- additional argument for letsencrypt : --hsts +- Clean Theme for adminer +- Credits for tools shipped with WordOps +- Cache exception for Easy Digital Download +- Additional cache exceptions for Woocommerce +- MySQL monitoring with Netdata +- WordOps-dashboard on 22222, can be installed with `wo stack install` +- Extplorer filemanager in WordOps backend +- Enable OSCP Stapling with Let's Encrypt +- Compress database backup with pigz (faster than gzip) before updating sites +- Support for Ubuntu 19.04 (disco) - few php extensions missing +- Support for Raspbian 9 (stretch) - tested on Raspberry Pi 3b+ +- backup letsencrypt certificate before upgrade +- directives emergency_restart_threshold & emergency_restart_interval to restart php-fpm in case of failure +- EasyEngine cronjob removal during install +- Kernel tweaks via systctl.conf +- open_basedir on php-fpm process to forbid access with php outside of /var/www & /run/nginx-cache + +#### Changed + +- letsencrypt stack refactored with acme.sh +- letsencrypt validation with webroot folder +- hardened nginx ssl_ecdh_curve +- Update phpredisadmin +- Increase MySQL root password size to 24 characters +- Increase MySQL users password size to 24 characters +- Nginx locations template is the same for php7.2 & 7.3 +- backend SSL configuration now stored in /var/www/22222/conf/nginx/ssl.conf +- Install Netdata with static pre-built binaries instead of having to compile it from source +- Nginx updated to new stable release (1.16.0) +- New packages (phpmyadmin, adminer, composer) are not download in /tmp anymore + +#### Fixed + +- PHP 7.3 extras when php 7.2 isn't installed +- acme.sh installation +- acme.sh alias with config home variable +- deb.sury.org repository gpg key +- Nginx upgrade from previous WordOps release +- Force new Nginx templates during update +- Error message about missing my.cnf file during upgrade +- PHP 7.2 & PHP 7.3 pool configuration during upgrade +- WordOps backup directory creation before upgrade +- EasyEngine database sync during migration +- fix command "wo info" +- phpmyadmin install with composer +- command "wo clean --memcached" +- phpredisadmin setup +- --hsts flag with basic html site +- hsts flag on site not secure with letsencrypt +- fix import of previous acme.sh certificate +- fix proxy webroot folder creation + +### v3.9.4 - 2019-03-15 + +#### Added + +- Nginx module nginx_vts +- Migration script from nginx-ee to nginx-wo +- Support for Debian 9 (testing) +- New Nginx build v1.14.2 + +#### Changed + +- Update WP-CLI version to 2.1.0 +- Update Adminer to 4.6.2 +- Update predis to v1.1.1 +- Refactored nginx.conf +- Removed HHVM Stack +- Removed old linux distro checks +- Replace wo-acme-sh by acme.sh + +#### Fixed + +- Outdated Nginx ssl_ciphers suite +- Debian 9 nginx build + +### v3.9.3 - 2019-03-07 + +#### Changed + +- Updated Nginx fastcgi_cache templates +- Updated Nginx redis_cache templates +- Updated Nginx wp-super-cache templates +- Updated Nginx configuration for WordPress 5.0 +- remove --experimental args +- MariaDB version bumped to 10.3 +- Refactored Changelog +- Updated WO manual +- Updated WO bash_completion +- Refactored README.md + +#### Added + +- Add WebP image support with Nginx mapping +- Add PHP 7.3 support +- WordPress $skip_cache variable mapping + +#### Fixed + +- Nginx variable $webp_suffix on fresh install ([#21](https://github.com/WordOps/WordOps/issues/21)) +- wo update command ([#7](https://github.com/WordOps/WordOps/issues/7)) +- Fix php services management ([#12](https://github.com/WordOps/WordOps/issues/12)) +- Fix WP-CLI install + +### v3.9.2 - 2018-11-30 + +#### Changed + +- Re-branded the fork to WordOps +- Codebase cleanup +- Set PHP 7.2 as the default +- Included support for newer OS releases +- Reworked the HTTPS configuration +- Added more automated testing with Redis +- Replaced Postfix with smtp-cli +- Dropped mail services - Dropped w3tc support \ No newline at end of file diff --git a/config/bash_completion.d/wo_auto.rc b/config/bash_completion.d/wo_auto.rc index c550992..3520216 100644 --- a/config/bash_completion.d/wo_auto.rc +++ b/config/bash_completion.d/wo_auto.rc @@ -79,7 +79,7 @@ _wo_complete() ;; "upgrade" ) COMPREPLY=( $(compgen \ - -W "--web --nginx --php --php73 --mysql --all --netdata --composer --phpmyadmin --no-prompt --wpcli" \ + -W "--web --nginx --php --php73 --mysql --all --netdata --composer --phpmyadmin --dashboard --no-prompt --wpcli" \ -- $cur) ) ;; "start" | "stop" | "reload" | "restart" | "status") @@ -159,13 +159,13 @@ _wo_complete() "create") COMPREPLY=( $(compgen \ - -W "--user --pass --email --html --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --proxy= --wpredis --wprocket --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le -le=subdomain -le=wildcard --dns --dns=dns_cf --dns=dns_do" \ + -W "--user --pass --email --html --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --proxy= --wpredis --wprocket --wpce --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le -le=subdomain -le=wildcard --dns --dns=dns_cf --dns=dns_do" \ -- $cur) ) ;; "update") COMPREPLY=( $(compgen \ - -W "--password --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le -le=subdomain -le=wildcard --dns --dns=dns_cf --dns=dns_do" \ + -W "--password --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --wpce --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le -le=subdomain -le=wildcard --dns --dns=dns_cf --dns=dns_do" \ -- $cur) ) ;; "delete") @@ -211,9 +211,9 @@ _wo_complete() "--wp") if [ ${COMP_WORDS[1]} != "debug" ]; then if [ ${COMP_WORDS[2]} == "create" ]; then - retlist="--wp --wpsc --wpfc --user --email --pass --wpredis --wprocket --letsencrypt -le --letsencrypt=subdomain --letsencrypt=wildcard --dns --dns=dns_cf --dns=dns_do --php73" + retlist="--wp --wpsc --wpfc --user --email --pass --wpredis --wprocket --wpce --letsencrypt -le --letsencrypt=subdomain --letsencrypt=wildcard --dns --dns=dns_cf --dns=dns_do --php73" elif [ ${COMP_WORDS[2]} == "update" ]; then - retlist="--wp --wpfc --wpsc --php73 --php73=off --wpredis --wprocket --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le -le=off -le=wildcard --dns --dns=dns_cf --dns=dns_do" + retlist="--wp --wpfc --wpsc --php73 --php73=off --wpredis --wprocket --wpce --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le -le=off -le=wildcard --dns --dns=dns_cf --dns=dns_do" else retlist="" fi @@ -230,9 +230,9 @@ _wo_complete() "--wpsubdir" | "--wpsubdomain") if [ ${COMP_WORDS[1]} != "debug" ]; then if [ ${COMP_WORDS[2]} == "create" ]; then - retlist="--wpsc --wpfc --user --email --pass --wpredis --wprocket --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le --php73 --dns --dns=dns_cf --dns=dns_do" + retlist="--wpsc --wpfc --user --email --pass --wpredis --wprocket --wpce --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le --php73 --dns --dns=dns_cf --dns=dns_do" elif [ ${COMP_WORDS[2]} == "update" ]; then - retlist="--wpfc --wpsc --php73 --php73=off --wpredis --wprocket --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le --dns --dns=dns_cf --dns=dns_do" + retlist="--wpfc --wpsc --php73 --php73=off --wpredis --wprocket --wpce --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le --dns --dns=dns_cf --dns=dns_do" else retlist="" fi @@ -246,9 +246,9 @@ _wo_complete() -- $cur) ) ;; - "--wpredis --wprocket" | "--wpfc" | "--wpsc" | "--wpsubdir" | "--wpsubdomain" | "--user" | "--pass" | "--email" | "--wp") + "--wpredis --wprocket --wpce" | "--wpfc" | "--wpsc" | "--wpsubdir" | "--wpsubdomain" | "--user" | "--pass" | "--email" | "--wp") if [ ${COMP_WORDS[2]} == "create" ]; then - retlist="--user --pass --email --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --php73 --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le --dns --dns=dns_cf --dns=dns_do" + retlist="--user --pass --email --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --wpce --php73 --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le --dns --dns=dns_cf --dns=dns_do" else retlist="" fi @@ -259,9 +259,9 @@ _wo_complete() -- $cur) ) ;; - "--wpredis --wprocket" | "--wpfc") + "--wpredis --wprocket --wpce" | "--wpfc") if [ ${COMP_WORDS[2]} == "update" ]; then - retlist="--password --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le --dns --dns=dns_cf --dns=dns_do" + retlist="--password --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --wpce --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le --dns --dns=dns_cf --dns=dns_do" else retlist="" fi @@ -314,7 +314,7 @@ _wo_complete() elif [ ${COMP_WORDS[2]} == "delete" ]; then retlist="--db --files --force" elif [ ${COMP_WORDS[2]} == "update" ]; then - retlist="--password --php --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew" + retlist="--password --php --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --wpce --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew" else retlist="" fi @@ -363,7 +363,7 @@ _wo_complete() case "$mprev" in "--user" | "--email" | "--pass") if [ ${COMP_WORDS[2]} == "create" ]; then - retlist="--user --pass --email --html --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le --dns --dns=dns_cf --dns=dns_do" + retlist="--user --pass --email --html --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --wprocket --wpce --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le --dns --dns=dns_cf --dns=dns_do" fi ret="${retlist[@]/$prev}" COMPREPLY=( $(compgen \ diff --git a/wo/cli/plugins/site.py b/wo/cli/plugins/site.py index 0f19a81..84b6ff9 100644 --- a/wo/cli/plugins/site.py +++ b/wo/cli/plugins/site.py @@ -8,7 +8,8 @@ from wo.core.domainvalidate import ValidateDomain from wo.core.fileutils import WOFileUtils from wo.cli.plugins.site_functions import * from wo.core.services import WOService -from wo.cli.plugins.sitedb import * +from wo.cli.plugins.sitedb import (addNewSite, getSiteInfo, + updateSiteInfo, deleteSiteInfo, getAllsites) from wo.core.git import WOGit from subprocess import Popen from wo.core.nginxhashbucket import hashbucket @@ -1027,7 +1028,7 @@ class WOSiteUpdateController(CementBaseController): data = dict(site_name=wo_domain, www_domain=wo_www_domain, static=False, basic=True, wp=False, wpfc=False, wpsc=False, wpredis=False, wprocket=False, wpce=False, - multisite=False,wpsubdir=False, webroot=wo_site_webroot, + multisite=False, wpsubdir=False, webroot=wo_site_webroot, wo_db_name='', wo_db_user='', wo_db_pass='', wo_db_host='', currsitetype=oldsitetype, currcachetype=oldcachetype) diff --git a/wo/cli/plugins/site_functions.py b/wo/cli/plugins/site_functions.py index fe4170b..dbb1db4 100644 --- a/wo/cli/plugins/site_functions.py +++ b/wo/cli/plugins/site_functions.py @@ -8,15 +8,15 @@ import string import subprocess from subprocess import CalledProcessError -from wo.cli.plugins.sitedb import * +from wo.cli.plugins.sitedb import getSiteInfo from wo.cli.plugins.stack import WOStackController from wo.core.aptget import WOAptGet from wo.core.fileutils import WOFileUtils from wo.core.git import WOGit from wo.core.logging import Log -from wo.core.mysql import * +from wo.core.mysql import WOMysql from wo.core.services import WOService -from wo.cli.plugins.stack_pref import pre_pref, post_pref +from wo.cli.plugins.stack_pref import post_pref from wo.core.shellexec import CommandExecutionError, WOShellExec from wo.core.sslutils import SSL from wo.core.variables import WOVariables diff --git a/wo/cli/plugins/stack_pref.py b/wo/cli/plugins/stack_pref.py index 7f5604a..50ed569 100644 --- a/wo/cli/plugins/stack_pref.py +++ b/wo/cli/plugins/stack_pref.py @@ -800,7 +800,7 @@ def post_pref(self, apt_packages, packages): encoding='utf-8', mode='w') as myfile: myfile.write("") - WOFileUtils.chown(self, "{0}22222" + WOFileUtils.chown(self, "{0}22222/htdocs" .format(WOVariables.wo_webroot), WOVariables.wo_php_user, WOVariables.wo_php_user, recursive=True) @@ -964,7 +964,7 @@ def post_pref(self, apt_packages, packages): encoding='utf-8', mode='w') as myfile: myfile.write("") - WOFileUtils.chown(self, "{0}22222" + WOFileUtils.chown(self, "{0}22222/htdocs" .format(WOVariables.wo_webroot), WOVariables.wo_php_user, WOVariables.wo_php_user, recursive=True) @@ -1304,8 +1304,10 @@ def post_pref(self, apt_packages, packages): "[\'Servers\'][$i][\'host\'] = \'{0}\';" .format(WOVariables.wo_mysql_host)) Log.debug(self, 'Setting Privileges of webroot permission to ' - '{0}22222/htdocs/db/pma file '.format(WOVariables.wo_webroot)) - WOFileUtils.chown(self, '{0}22222'.format(WOVariables.wo_webroot), + '{0}22222/htdocs/db/pma file ' + .format(WOVariables.wo_webroot)) + WOFileUtils.chown(self, '{0}22222/htdocs' + .format(WOVariables.wo_webroot), WOVariables.wo_php_user, WOVariables.wo_php_user, recursive=True) @@ -1405,7 +1407,7 @@ def post_pref(self, apt_packages, packages): Log.debug(self, "Setting Privileges to " "{0}22222/htdocs" .format(WOVariables.wo_webroot)) - WOFileUtils.chown(self, '{0}22222' + WOFileUtils.chown(self, '{0}22222/htdocs' .format(WOVariables.wo_webroot), WOVariables.wo_php_user, WOVariables.wo_php_user, @@ -1428,7 +1430,7 @@ def post_pref(self, apt_packages, packages): Log.debug(self, "Setting Privileges to " "{0}22222/htdocs/files" .format(WOVariables.wo_webroot)) - WOFileUtils.chown(self, '{0}22222' + WOFileUtils.chown(self, '{0}22222/htdocs' .format(WOVariables.wo_webroot), WOVariables.wo_php_user, WOVariables.wo_php_user, @@ -1473,7 +1475,7 @@ def post_pref(self, apt_packages, packages): Log.debug(self, "Setting Privileges of webroot permission to " "{0}22222/htdocs/php/webgrind/ file " .format(WOVariables.wo_webroot)) - WOFileUtils.chown(self, '{0}22222' + WOFileUtils.chown(self, '{0}22222/htdocs' .format(WOVariables.wo_webroot), WOVariables.wo_php_user, WOVariables.wo_php_user, @@ -1550,7 +1552,7 @@ def post_pref(self, apt_packages, packages): .format(WOVariables.wo_webroot)) os.makedirs('{0}22222/htdocs/cache/redis/phpRedisAdmin' .format(WOVariables.wo_webroot)) - WOFileUtils.chown(self, '{0}22222' + WOFileUtils.chown(self, '{0}22222/htdocs' .format(WOVariables.wo_webroot), WOVariables.wo_php_user, WOVariables.wo_php_user, @@ -1565,7 +1567,7 @@ def post_pref(self, apt_packages, packages): Log.debug(self, 'Setting Privileges of webroot permission to ' '{0}22222/htdocs/cache/file ' .format(WOVariables.wo_webroot)) - WOFileUtils.chown(self, '{0}22222' + WOFileUtils.chown(self, '{0}22222/htdocs' .format(WOVariables.wo_webroot), WOVariables.wo_php_user, WOVariables.wo_php_user, diff --git a/wo/cli/plugins/stack_upgrade.py b/wo/cli/plugins/stack_upgrade.py index b4c7fbc..7c35642 100644 --- a/wo/cli/plugins/stack_upgrade.py +++ b/wo/cli/plugins/stack_upgrade.py @@ -229,6 +229,10 @@ class WOStackUpgradeController(CementBaseController): 'wo-dashboard.tar.gz', '{0}22222/htdocs' .format(WOVariables.wo_webroot)) + WOFileUtils.chown(self, "{0}22222/htdocs" + .format(WOVariables.wo_webroot), + WOVariables.wo_php_user, + WOVariables.wo_php_user, recursive=True) if pargs.composer: Log.info(self, "Upgrading Composer, please wait...") @@ -257,6 +261,10 @@ class WOStackUpgradeController(CementBaseController): .format(WOVariables.wo_phpmyadmin), '{0}22222/htdocs/db/pma/' .format(WOVariables.wo_webroot)) + WOFileUtils.chown(self, "{0}22222/htdocs" + .format(WOVariables.wo_webroot), + WOVariables.wo_php_user, + WOVariables.wo_php_user, recursive=True) Log.info(self, "Successfully updated packages") else: