diff --git a/CHANGELOG.md b/CHANGELOG.md index 710f261..e635ccc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - IPv6 support with HTTPS - Brotli support in Nginx +- Let's Encrypt support with --proxy #### Changed diff --git a/wo/cli/plugins/log.py b/wo/cli/plugins/log.py index 14579e9..6ee45c0 100644 --- a/wo/cli/plugins/log.py +++ b/wo/cli/plugins/log.py @@ -57,7 +57,7 @@ class WOLogShowController(CementBaseController): action='store_true')), (['site_name'], dict(help='Website Name', nargs='?', default=None)) - ] + ] usage = "wo log show [] [options]" @expose(hide=True) @@ -68,17 +68,17 @@ class WOLogShowController(CementBaseController): if self.app.pargs.php: self.app.pargs.nginx = True - if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) - and (not self.app.pargs.mysql) and (not self.app.pargs.access) - and (not self.app.pargs.wp) and (not self.app.pargs.site_name)): + if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) and + (not self.app.pargs.mysql) and (not self.app.pargs.access) and + (not self.app.pargs.wp) and (not self.app.pargs.site_name)): self.app.pargs.nginx = True self.app.pargs.fpm = True self.app.pargs.mysql = True self.app.pargs.access = True - if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) - and (not self.app.pargs.mysql) and (not self.app.pargs.access) - and (not self.app.pargs.wp) and (self.app.pargs.site_name)): + if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) and + (not self.app.pargs.mysql) and (not self.app.pargs.access) and + (not self.app.pargs.wp) and (self.app.pargs.site_name)): self.app.pargs.nginx = True self.app.pargs.wp = True self.app.pargs.access = True @@ -185,7 +185,7 @@ class WOLogResetController(CementBaseController): action='store_true')), (['site_name'], dict(help='Website Name', nargs='?', default=None)) - ] + ] usage = "wo log reset [] [options]" @expose(hide=True) @@ -197,9 +197,9 @@ class WOLogResetController(CementBaseController): self.app.pargs.nginx = True if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) - and (not self.app.pargs.mysql) and (not self.app.pargs.access) - and (not self.app.pargs.wp) and (not self.app.pargs.site_name) - and (not self.app.pargs.slow_log_db)): + and (not self.app.pargs.mysql) and (not self.app.pargs.access) + and (not self.app.pargs.wp) and (not self.app.pargs.site_name) + and (not self.app.pargs.slow_log_db)): self.app.pargs.nginx = True self.app.pargs.fpm = True self.app.pargs.mysql = True @@ -207,9 +207,9 @@ class WOLogResetController(CementBaseController): self.app.pargs.slow_log_db = True if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) - and (not self.app.pargs.mysql) and (not self.app.pargs.access) - and (not self.app.pargs.wp) and (self.app.pargs.site_name) - and (not self.app.pargs.slow-log-db)): + and (not self.app.pargs.mysql) and (not self.app.pargs.access) + and (not self.app.pargs.wp) and (self.app.pargs.site_name) + and (not self.app.pargs.slow-log-db)): self.app.pargs.nginx = True self.app.pargs.wp = True self.app.pargs.access = True @@ -324,7 +324,7 @@ class WOLogGzipController(CementBaseController): action='store_true')), (['site_name'], dict(help='Website Name', nargs='?', default=None)) - ] + ] usage = "wo log gzip [] [options]" @expose(hide=True) @@ -336,16 +336,16 @@ class WOLogGzipController(CementBaseController): self.app.pargs.nginx = True if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) - and (not self.app.pargs.mysql) and (not self.app.pargs.access) - and (not self.app.pargs.wp) and (not self.app.pargs.site_name)): + and (not self.app.pargs.mysql) and (not self.app.pargs.access) + and (not self.app.pargs.wp) and (not self.app.pargs.site_name)): self.app.pargs.nginx = True self.app.pargs.fpm = True self.app.pargs.mysql = True self.app.pargs.access = True if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) - and (not self.app.pargs.mysql) and (not self.app.pargs.access) - and (not self.app.pargs.wp) and (self.app.pargs.site_name)): + and (not self.app.pargs.mysql) and (not self.app.pargs.access) + and (not self.app.pargs.wp) and (self.app.pargs.site_name)): self.app.pargs.nginx = True self.app.pargs.wp = True self.app.pargs.access = True @@ -461,7 +461,7 @@ class WOLogMailController(CementBaseController): (['--to'], dict(help='Email addresses to send log files', action='append', dest='to', nargs=1, required=True)), - ] + ] usage = "wo log mail [] [options]" @expose(hide=True) @@ -473,16 +473,16 @@ class WOLogMailController(CementBaseController): self.app.pargs.nginx = True if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) - and (not self.app.pargs.mysql) and (not self.app.pargs.access) - and (not self.app.pargs.wp) and (not self.app.pargs.site_name)): + and (not self.app.pargs.mysql) and (not self.app.pargs.access) + and (not self.app.pargs.wp) and (not self.app.pargs.site_name)): self.app.pargs.nginx = True self.app.pargs.fpm = True self.app.pargs.mysql = True self.app.pargs.access = True if ((not self.app.pargs.nginx) and (not self.app.pargs.fpm) - and (not self.app.pargs.mysql) and (not self.app.pargs.access) - and (not self.app.pargs.wp) and (self.app.pargs.site_name)): + and (not self.app.pargs.mysql) and (not self.app.pargs.access) + and (not self.app.pargs.wp) and (self.app.pargs.site_name)): self.app.pargs.nginx = True self.app.pargs.wp = True self.app.pargs.access = True diff --git a/wo/cli/plugins/secure.py b/wo/cli/plugins/secure.py index 8050ade..ae2b9eb 100644 --- a/wo/cli/plugins/secure.py +++ b/wo/cli/plugins/secure.py @@ -38,19 +38,19 @@ class WOSecureController(CementBaseController): @expose(hide=True) def default(self): - if self.app.pargs.auth: - self.secure_auth() - if self.app.pargs.port: - self.secure_port() - if self.app.pargs.ip: - self.secure_ip() + if self.app.pargs.auth: + self.secure_auth() + if self.app.pargs.port: + self.secure_port() + if self.app.pargs.ip: + self.secure_ip() @expose(hide=True) def secure_auth(self): """This function secures authentication""" passwd = ''.join([random.choice - (string.ascii_letters + string.digits) - for n in range(6)]) + (string.ascii_letters + string.digits) + for n in range(6)]) if not self.app.pargs.user_input: username = input("Provide HTTP authentication user " "name [{0}] :".format(WOVariables.wo_user)) @@ -125,7 +125,7 @@ class WOSecureController(CementBaseController): user_ip = ['127.0.0.1'] for ip_addr in user_ip: if not ("exist_ip_address "+ip_addr in open('/etc/nginx/common/' - 'acl.conf').read()): + 'acl.conf').read()): WOShellExec.cmd_exec(self, "sed -i " "\"/deny/i allow {whitelist_address}\;\"" " /etc/nginx/common/acl.conf" diff --git a/wo/cli/plugins/stack_migrate.py b/wo/cli/plugins/stack_migrate.py index 64c612e..058d076 100644 --- a/wo/cli/plugins/stack_migrate.py +++ b/wo/cli/plugins/stack_migrate.py @@ -21,7 +21,7 @@ class WOStackMigrateController(CementBaseController): (['--mariadb'], dict(help="Migrate database to MariaDB", action='store_true')), - ] + ] @expose(hide=True) def migrate_mariadb(self): @@ -97,10 +97,11 @@ class WOStackMigrateController(CementBaseController): self.app.args.print_help() if self.app.pargs.mariadb: if WOVariables.wo_mysql_host is not "localhost": - Log.error(self, "Remote MySQL server in use, skipping local install") + Log.error( + self, "Remote MySQL server in use, skipping local install") if WOShellExec.cmd_exec(self, "mysqladmin ping") and (not - WOAptGet.is_installed(self, 'mariadb-server')): + WOAptGet.is_installed(self, 'mariadb-server')): Log.info(self, "If your database size is big, " "migration may take some time.") diff --git a/wo/cli/plugins/stack_upgrade.py b/wo/cli/plugins/stack_upgrade.py index 7b0caed..b9aa927 100644 --- a/wo/cli/plugins/stack_upgrade.py +++ b/wo/cli/plugins/stack_upgrade.py @@ -41,7 +41,7 @@ class WOStackUpgradeController(CementBaseController): (['--no-prompt'], dict(help="Upgrade Packages without any prompt", action='store_true')), - ] + ] @expose(hide=True) def upgrade_php56(self): @@ -72,7 +72,8 @@ class WOStackUpgradeController(CementBaseController): WOAptGet.update(self) Log.info(self, "Installing packages, please wait ...") if (WOVariables.wo_platform_distro == 'ubuntu'): - WOAptGet.install(self, WOVariables.wo_php + WOVariables.wo_php_extra) + WOAptGet.install(self, WOVariables.wo_php + + WOVariables.wo_php_extra) else: WOAptGet.install(self, WOVariables.wo_php) @@ -86,9 +87,9 @@ class WOStackUpgradeController(CementBaseController): packages = [] if ((not self.app.pargs.web) and (not self.app.pargs.nginx) and - (not self.app.pargs.php) and (not self.app.pargs.mysql) and - (not self.app.pargs.all) and (not self.app.pargs.wpcli) and - (not self.app.pargs.redis) and (not self.app.pargs.nginxmainline)): + (not self.app.pargs.php) and (not self.app.pargs.mysql) and + (not self.app.pargs.all) and (not self.app.pargs.wpcli) and + (not self.app.pargs.redis) and (not self.app.pargs.nginxmainline)): self.app.pargs.web = True if self.app.pargs.all: diff --git a/wo/cli/plugins/sync.py b/wo/cli/plugins/sync.py index bdee23a..d646544 100644 --- a/wo/cli/plugins/sync.py +++ b/wo/cli/plugins/sync.py @@ -44,21 +44,22 @@ class WOSyncController(CementBaseController): if site.site_type != 'mysql': Log.debug(self, "Searching wp-config.php in {0}/htdocs/ " .format(wo_site_webroot)) - configfiles = glob.glob(wo_site_webroot + '/htdocs/wp-config.php') + configfiles = glob.glob( + wo_site_webroot + '/htdocs/wp-config.php') if configfiles: if WOFileUtils.isexist(self, configfiles[0]): wo_db_name = (WOFileUtils.grep(self, configfiles[0], - 'DB_NAME').split(',')[1] + 'DB_NAME').split(',')[1] .split(')')[0].strip().replace('\'', '')) wo_db_user = (WOFileUtils.grep(self, configfiles[0], - 'DB_USER').split(',')[1] + 'DB_USER').split(',')[1] .split(')')[0].strip().replace('\'', '')) wo_db_pass = (WOFileUtils.grep(self, configfiles[0], - 'DB_PASSWORD').split(',')[1] + 'DB_PASSWORD').split(',')[1] .split(')')[0].strip().replace('\'', '')) wo_db_host = (WOFileUtils.grep(self, configfiles[0], - 'DB_HOST').split(',')[1] + 'DB_HOST').split(',')[1] .split(')')[0].strip().replace('\'', '')) # Check if database really exist @@ -84,7 +85,7 @@ class WOSyncController(CementBaseController): db_host=wo_db_host) else: Log.debug(self, "Config files not found for {0} " - .format(site.sitename)) + .format(site.sitename)) def load(app):