diff --git a/CHANGELOG.md b/CHANGELOG.md index da20f13..68e26ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### v3.9.x - [Unreleased] +### v3.9.8.10 - 2019-09-04 + #### Changed - Improve Let's Encrypt certificate issuance logging informations @@ -17,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Fix cheat.sh install [PR #139](https://github.com/WordOps/WordOps/pull/139) - sslutils error when trying to display SSL certificate expiration - Fix cheat.sh symbolic link check before creation +- subdomain detection with complex suffixes like com.br ### v3.9.8.9 - 2019-09-03 diff --git a/README.md b/README.md index 48d4992..d0dfe1a 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@
WordOps install codacy Badge Twitter -Badge Slack +Badge Slack

diff --git a/install b/install index e185267..97d8544 100755 --- a/install +++ b/install @@ -9,7 +9,7 @@ # ------------------------------------------------------------------------- # wget -qO wo wops.cc && sudo bash wo # ------------------------------------------------------------------------- -# Version 3.9.8.9 - 2019-09-03 +# Version 3.9.8.10 - 2019-09-04 # ------------------------------------------------------------------------- # CONTENTS diff --git a/setup.py b/setup.py index 4b7b445..7db7c83 100644 --- a/setup.py +++ b/setup.py @@ -57,7 +57,7 @@ if not os.path.isfile('/root/.gitconfig'): shutil.copy2(os.path.expanduser("~")+'/.gitconfig', '/root/.gitconfig') setup(name='wo', - version='3.9.8.9', + version='3.9.8.10', description=long_description, long_description=long_description, classifiers=[], diff --git a/wo/cli/plugins/site_functions.py b/wo/cli/plugins/site_functions.py index 3a0eee2..1181ef0 100644 --- a/wo/cli/plugins/site_functions.py +++ b/wo/cli/plugins/site_functions.py @@ -876,7 +876,7 @@ def site_package_check(self, stype): if self.app.pargs.wpredis: Log.debug(self, "Setting apt_packages variable for redis") if not WOAptGet.is_installed(self, 'redis-server'): - apt_packages = apt_packages + WOVariables.wo_redis + apt_packages = apt_packages + ["redis-server"] if self.app.pargs.php73: Log.debug(self, "Setting apt_packages variable for PHP 7.3") diff --git a/wo/cli/plugins/stack.py b/wo/cli/plugins/stack.py index b393986..b09b4f3 100644 --- a/wo/cli/plugins/stack.py +++ b/wo/cli/plugins/stack.py @@ -115,6 +115,7 @@ class WOStackController(CementBaseController): empty_packages = [] wo_webroot = "/var/www/" pargs = self.app.pargs + try: # Default action for stack installation if ((not pargs.web) and (not pargs.admin) and @@ -190,7 +191,7 @@ class WOStackController(CementBaseController): if pargs.redis: pargs.php = True if not WOAptGet.is_installed(self, 'redis-server'): - apt_packages = apt_packages + WOVariables.wo_redis + apt_packages = apt_packages + ["redis-server"] else: Log.info(self, "Redis already installed") @@ -224,10 +225,31 @@ class WOStackController(CementBaseController): # MariaDB 10.3 if pargs.mysql: + if not WOVariables.wo_distro == 'raspbian': + if (not WOVariables.wo_platform_codename == 'jessie'): + if ((not WOFileUtils.grep( + self, "/etc/apt/sources.list.d/wo-repo.list", + "10.1")) and + (not WOFileUtils.grep( + self, "/etc/apt/sources.list.d/wo-repo.list", + "10.1"))): + + wo_mysql = ["mariadb-server", "percona-toolkit", + "python3-mysqldb", "mariadb-backup"] + else: + wo_mysql = ["mariadb-server", "percona-toolkit", + "python3-mysqldb"] + else: + wo_mysql = ["mariadb-server", "percona-toolkit", + "python3-mysql.connector"] + else: + wo_mysql = ["mariadb-server", "percona-toolkit", + "python3-mysqldb"] + pargs.mysqltuner = True Log.debug(self, "Setting apt_packages variable for MySQL") if not WOShellExec.cmd_exec(self, "mysqladmin ping"): - apt_packages = apt_packages + WOVariables.wo_mysql + apt_packages = apt_packages + wo_mysql else: Log.debug(self, "MySQL already installed and alive") Log.info(self, "MySQL already installed and alive") @@ -585,7 +607,7 @@ class WOStackController(CementBaseController): # REDIS if pargs.redis: Log.debug(self, "Remove apt_packages variable of Redis") - apt_packages = apt_packages + WOVariables.wo_redis + apt_packages = apt_packages + ["redis-server"] # MariaDB if pargs.mysql: @@ -804,7 +826,7 @@ class WOStackController(CementBaseController): # REDIS if pargs.redis: Log.debug(self, "Remove apt_packages variable of Redis") - apt_packages = apt_packages + WOVariables.wo_redis + apt_packages = apt_packages + ["redis-server"] # MariaDB if pargs.mysql: diff --git a/wo/cli/plugins/stack_pref.py b/wo/cli/plugins/stack_pref.py index b9ce87e..5576598 100644 --- a/wo/cli/plugins/stack_pref.py +++ b/wo/cli/plugins/stack_pref.py @@ -29,8 +29,9 @@ from wo.core.variables import WOVariables def pre_pref(self, apt_packages): """Pre settings to do before installation packages""" - if (set(WOVariables.wo_mysql).issubset(set(apt_packages)) or - set(WOVariables.wo_mysql_client).issubset(set(apt_packages))): + if (set(["mariadb-server"]).issubset(set(apt_packages)) or + set(["mariadb-client"]).issubset(set(apt_packages)) or + set(["mariadb-backup"]).issubset((set(apt_packages)))): # add mariadb repository excepted on raspbian and ubuntu 19.04 if (not WOVariables.wo_distro == 'raspbian'): Log.info(self, "Adding repository for MySQL, please wait...") @@ -47,7 +48,7 @@ def pre_pref(self, apt_packages): keyserver="keyserver.ubuntu.com") WORepo.add_key(self, '0xF1656F24C74CD1D8', keyserver="keyserver.ubuntu.com") - if set(WOVariables.wo_mysql).issubset(set(apt_packages)): + if set(["mariadb-server"]).issubset(set(apt_packages)): # generate random 24 characters root password chars = ''.join(random.sample(string.ascii_letters, 24)) @@ -139,7 +140,7 @@ def pre_pref(self, apt_packages): Log.debug(self, 'Adding deb.sury GPG key') WORepo.add_key(self, WOVariables.wo_php_key) # add redis repository - if set(WOVariables.wo_redis).issubset(set(apt_packages)): + if set(['redis-server']).issubset(set(apt_packages)): Log.info(self, "Adding repository for Redis, please wait...") if WOVariables.wo_distro == 'ubuntu': Log.debug(self, 'Adding ppa for redis') @@ -189,7 +190,7 @@ def post_pref(self, apt_packages, packages, upgrade=False): '\t$request_filename;\n') try: data = dict(php="9000", debug="9001", - php7="9070", debug7="9170") + php7="9070", debug7="9170") WOTemplate.render( self, '{0}/upstream.conf'.format(ngxcnf), 'upstream.mustache', data, overwrite=True) @@ -1106,7 +1107,7 @@ def post_pref(self, apt_packages, packages, upgrade=False): WOService.reload_service(self, 'proftpd') # Redis configuration - if set(WOVariables.wo_redis).issubset(set(apt_packages)): + if set(['redus-server']).issubset(set(apt_packages)): if os.path.isfile("/etc/nginx/conf.d/upstream.conf"): if not WOFileUtils.grep(self, "/etc/nginx/conf.d/" "upstream.conf", diff --git a/wo/cli/plugins/stack_upgrade.py b/wo/cli/plugins/stack_upgrade.py index 0857160..ebe8284 100644 --- a/wo/cli/plugins/stack_upgrade.py +++ b/wo/cli/plugins/stack_upgrade.py @@ -119,13 +119,13 @@ class WOStackUpgradeController(CementBaseController): if pargs.mysql: if WOAptGet.is_installed(self, 'mariadb-server'): - apt_packages = apt_packages + WOVariables.wo_mysql + apt_packages = apt_packages + ['mariadb-server'] else: Log.info(self, "MariaDB is not installed") if pargs.redis: if WOAptGet.is_installed(self, 'redis-server'): - apt_packages = apt_packages + WOVariables.wo_redis + apt_packages = apt_packages + ['redis-server'] else: Log.info(self, "Redis is not installed") diff --git a/wo/core/variables.py b/wo/core/variables.py index ba33486..96563b8 100644 --- a/wo/core/variables.py +++ b/wo/core/variables.py @@ -10,7 +10,7 @@ class WOVariables(): """Intialization of core variables""" # WordOps version - wo_version = "3.9.8.9" + wo_version = "3.9.8.10" # WordOps packages versions wo_wp_cli = "2.2.0" wo_adminer = "4.7.2" @@ -144,21 +144,13 @@ class WOVariables(): "10.3/debian {codename} main" .format(codename=wo_platform_codename)) - if wo_distro == 'raspbian': - wo_mysql = ["mariadb-server", "percona-toolkit", - "python3-mysqldb"] - elif wo_platform_codename == 'jessie': - wo_mysql = ["mariadb-server", "percona-toolkit", - "python3-mysql.connector"] - else: - wo_mysql = ["mariadb-server", "percona-toolkit", - "python3-mysqldb", "mariadb-backup"] - if wo_platform_codename == 'jessie': wo_mysql_client = ["mariadb-client", "python3-mysqldb"] else: wo_mysql_client = ["mariadb-client", "python3-mysql.connector"] + + wo_fail2ban = ["fail2ban"] wo_clamav = ["clamav", "clamav-freshclam"] @@ -170,7 +162,7 @@ class WOVariables(): wo_redis_repo = ("deb https://packages.sury.org/php/ {codename} all" .format(codename=wo_platform_codename)) - wo_redis = ['redis-server', 'php-redis'] + wo_redis = ['redis-server'] # Repo path wo_repo_file = "wo-repo.list"