From 65ba01e4997cde40d56c96552f56d9ca4b72dbfa Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 14:55:28 +0200 Subject: [PATCH 01/13] Automated travis branch --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 1d69e3a..a13c9c2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,6 +28,7 @@ script: - lsb_release -a - sudo bash -c 'echo -e "[user]\n\tname = abc\n\temail = root@localhost.com" > /home/travis/.gitconfig' - sudo echo "Travis Banch = $TRAVIS_BRANCH" + - sudo export wo_branch="$TRAVIS_BRANCH" - sed -i 's/# "nose"/"nose"/g' setup.py - sed -i 's/# "coverage"/"coverage"/g' setup.py - sed -i 's/# "Sphinx >= 1.0"/"Sphinx >= 1.0"/g' setup.py From fc7c53fe916273a7efe901dcdda223d1925addaf Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 15:02:55 +0200 Subject: [PATCH 02/13] Update for travis --- .travis.yml | 4 ++-- wo/cli/plugins/update.py | 30 ++++++++++++++++++------------ 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index a13c9c2..5eb3771 100644 --- a/.travis.yml +++ b/.travis.yml @@ -28,11 +28,10 @@ script: - lsb_release -a - sudo bash -c 'echo -e "[user]\n\tname = abc\n\temail = root@localhost.com" > /home/travis/.gitconfig' - sudo echo "Travis Banch = $TRAVIS_BRANCH" - - sudo export wo_branch="$TRAVIS_BRANCH" - sed -i 's/# "nose"/"nose"/g' setup.py - sed -i 's/# "coverage"/"coverage"/g' setup.py - sed -i 's/# "Sphinx >= 1.0"/"Sphinx >= 1.0"/g' setup.py - - sudo bash install --travis + - sudo bash install --travis -b "$TRAVIS_BRANCH" - sudo wo --help && sudo wo stack install && sudo wo stack install --proftpd - sudo wo site create html.net --html && sudo wo site create php.com --php && sudo wo site create mysql.com --mysql && sudo wo site create proxy.com --proxy=127.0.0.1:3000 - sudo wo site create wp1.com --wp && sudo wo site create wpsc1.net --wpsc && sudo wo site create wpfc1.com --wpfc @@ -60,6 +59,7 @@ script: - sudo wo stack upgrade --composer --force - sudo wo stack upgrade --dashboard --force - sudo wo update --travis + - sudo wo update --force - sudo wo stack status - sudo tar -I pigz -cf wordops.tar.gz /var/log/wo - curl --progress-bar --upload-file wordops.tar.gz https://transfer.vtbox.net/$(basename "wordops.tar.gz") && echo "" | sudo tee -a $HOME/.transfer.log && echo "" diff --git a/wo/cli/plugins/update.py b/wo/cli/plugins/update.py index b507170..d9f557d 100644 --- a/wo/cli/plugins/update.py +++ b/wo/cli/plugins/update.py @@ -39,10 +39,7 @@ class WOUpdateController(CementBaseController): pargs = self.app.pargs filename = "woupdate" + time.strftime("%Y%m%d-%H%M%S") - if pargs.travis: - wo_branch = "updating-configuration" - install_args = "--travis --force " - elif pargs.beta: + if pargs.beta: wo_branch = "beta" install_args = "" else: @@ -59,14 +56,23 @@ class WOUpdateController(CementBaseController): "/var/lib/wo/tmp/{0}".format(filename), "update script"]]) - try: - Log.info(self, "updating WordOps, please wait...") - os.system("/bin/bash /var/lib/wo/tmp/{0} " - "-b {1} {2}".format(filename, - wo_branch, install_args)) - except OSError as e: - Log.debug(self, str(e)) - Log.error(self, "WordOps update failed !") + if pargs.travis: + try: + Log.info(self, "updating WordOps, please wait...") + os.system("/bin/bash install --travis " + "-b $TRAVIS_BRANCH --force") + except OSError as e: + Log.debug(self, str(e)) + Log.error(self, "WordOps update failed !") + else: + try: + Log.info(self, "updating WordOps, please wait...") + os.system("/bin/bash /var/lib/wo/tmp/{0} " + "-b {1} {2}".format(filename, + wo_branch, install_args)) + except OSError as e: + Log.debug(self, str(e)) + Log.error(self, "WordOps update failed !") def load(app): From b9af93e941d368fb568e118c15e499b73b20ec02 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 15:37:28 +0200 Subject: [PATCH 03/13] Update version to check update process --- install | 2 +- setup.py | 2 +- wo/core/variables.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/install b/install index 523439d..f9dfb25 100755 --- a/install +++ b/install @@ -9,7 +9,7 @@ # ------------------------------------------------------------------------- # wget -qO wo wops.cc && sudo bash wo # ------------------------------------------------------------------------- -# Version 3.9.8.2 - 2019-08-20 +# Version 3.9.8.3 - 2019-08-20 # ------------------------------------------------------------------------- # CONTENTS diff --git a/setup.py b/setup.py index acd071d..684f3a9 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.2', + version='3.9.8.3', description=long_description, long_description=long_description, classifiers=[], diff --git a/wo/core/variables.py b/wo/core/variables.py index 68b9080..d5997f8 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.2" + wo_version = "3.9.8.3" # WordOps packages versions wo_wp_cli = "2.2.0" wo_adminer = "4.7.2" From eef62c07fdfecc9dacd4dceea20e318e01f82dd5 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 17:12:13 +0200 Subject: [PATCH 04/13] Simplify install/update script --- install | 50 +++++++++++++++++++++++++------------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/install b/install index f9dfb25..68e19a2 100755 --- a/install +++ b/install @@ -189,14 +189,18 @@ fi ### # 2 - Setup the dependencies for installation #### + +wo_dist_upgrade() { + [ -z "$wo_travis" ] && { + # update server packages + apt-get dist-upgrade --option=Dpkg::options::=--force-confmiss --option=Dpkg::options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-yes --quiet + } >> "$wo_install_log" 2>&1 +} + wo_install_dep() { { - [ -z "$wo_travis" ] && { - # update server packages - apt-get dist-upgrade --option=Dpkg::options::=--force-confmiss --option=Dpkg::options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-yes --quiet - } if [ "$wo_linux_distro" == "Ubuntu" ]; then # install dependencies apt-get -option=Dpkg::options::=--force-confmiss --option=Dpkg::options::=--force-confold --assume-yes install \ @@ -650,6 +654,10 @@ wo_tweak_kernel() { sysctl -eq -p /etc/sysctl.d/60-wo-tweaks.conf fi +} + +wo_systemd_tweak() { + if [ ! -x /opt/wo-kernel.sh ]; then { # download and setup wo-kernel systemd service to apply kernel tweaks for netdata and redis on server startup @@ -682,11 +690,6 @@ wo_ufw_setup() { if [ -f /etc/ssh/sshd_config ]; then CURRENT_SSH_PORT=$(grep "Port" /etc/ssh/sshd_config | awk -F " " '{print $2}') fi - # install ufw if needed - if [ ! -d /etc/ufw ]; then - apt-get install ufw -y - fi - # define firewall rules if ! grep -q "LOGLEVEL=low" /etc/ufw/ufw.conf; then ufw logging low @@ -784,25 +787,17 @@ else wo_install | tee -ai $wo_install_log fi fi - if [ -z "$wo_preserve_config" ]; then - if [ -n "$(command -v nginx)" ]; then - if [ ! -f /etc/apt/preferences.d/nginx-block ]; then - wo_lib_echo "Upgrading Nginx" | tee -ai $wo_install_log - wo_upgrade_nginx | tee -ai $wo_install_log - fi - fi - fi wo_update_latest | tee -ai $wo_install_log if [ ! -d /opt/acme/.sh ]; then wo_lib_echo "Updating acme.sh" | tee -ai $wo_install_log wo_install_acme_sh | tee -ai $wo_install_log fi - if [ "$ufw" = "y" ]; then - wo_lib_echo "Configuring UFW" | tee -ai $wo_install_log - wo_ufw_setup | tee -ai $wo_install_log - fi wo_lib_echo "Applying Kernel tweaks" | tee -ai $wo_install_log wo_tweak_kernel | tee -ai $wo_install_log + if [ ! -f /opt/wo-kernel.sh ]; then + wo_lib_echo "Adding systemd service tweak" | tee -ai $wo_install_log + wo_systemd_tweak | tee -ai $wo_install_log + fi wo_lib_echo "Running post-install steps " | tee -ai $wo_install_log wo_update_wp_cli | tee -ai $wo_install_log else @@ -842,12 +837,12 @@ else wo_update_latest | tee -ai $wo_install_log wo_lib_echo "Installing acme.sh" | tee -ai $wo_install_log wo_install_acme_sh | tee -ai $wo_install_log - if [ "$ufw" = "y" ]; then - wo_lib_echo "Configuring UFW" | tee -ai $wo_install_log - wo_ufw_setup | tee -ai $wo_install_log - fi wo_lib_echo "Applying Kernel tweaks" | tee -ai $wo_install_log wo_tweak_kernel | tee -ai $wo_install_log + if [ ! -f /opt/wo-kernel.sh ]; then + wo_lib_echo "Adding systemd service tweak" | tee -ai $wo_install_log + wo_systemd_tweak | tee -ai $wo_install_log + fi wo_lib_echo "Running post-install steps " | tee -ai $wo_install_log wo_git_init | tee -ai $wo_install_log wo_update_wp_cli | tee -ai $wo_install_log @@ -859,6 +854,7 @@ else else # 3 - Fresh WO setup wo_lib_echo "Installing wo dependencies " | tee -ai $wo_install_log + wo_dist_upgrade | tee -ai $wo_install_log wo_install_dep | tee -ai $wo_install_log wo_lib_echo "Installing WordOps " | tee -ai $wo_install_log if [ "$wo_travis" = "y" ]; then @@ -872,6 +868,10 @@ else fi wo_lib_echo "Applying Kernel tweaks" | tee -ai $wo_install_log wo_tweak_kernel | tee -ai $wo_install_log + if [ ! -f /opt/wo-kernel.sh ]; then + wo_lib_echo "Adding systemd service tweak" | tee -ai $wo_install_log + wo_systemd_tweak | tee -ai $wo_install_log + fi wo_lib_echo "Installing acme.sh" | tee -ai $wo_install_log wo_install_acme_sh | tee -ai $wo_install_log wo_lib_echo "Running post-install steps " | tee -ai $wo_install_log From f7e039c35b552f553e8535871f8bdd51916d71f0 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 17:32:24 +0200 Subject: [PATCH 05/13] Remove confirmation for update --- install | 61 ++++++++++++++++++++++++--------------------------------- 1 file changed, 26 insertions(+), 35 deletions(-) diff --git a/install b/install index 68e19a2..ecff6da 100755 --- a/install +++ b/install @@ -763,46 +763,37 @@ else # 1 - WO already installed if [ -x /usr/local/bin/wo ]; then if ! { - wo -v 2>&1 | grep "$wo_version_new" + wo -v 2>&1 | grep -q "$wo_version_new" } || [ "$wo_force_install" = "y" ]; then - if [ -z "$wo_force_install" ]; then - echo -e "Update WordOps to $wo_version_new (y/n): " && read -r WO_ANSWER + wo_lib_echo "Installing wo dependencies " | tee -ai $wo_install_log + wo_install_dep | tee -ai $wo_install_log + wo_lib_echo "Backing-up WO install" | tee -ai $wo_install_log + wo_backup_wo | tee -ai $wo_install_log + secure_wo_db | tee -ai $wo_install_log + wo_lib_echo "Installing WordOps " | tee -ai $wo_install_log + wo_clean | tee -ai $wo_install_log + if [ "$wo_travis" = "y" ]; then + wo_install_travis | tee -ai $wo_install_log else - WO_ANSWER="y" - fi - if [ "$WO_ANSWER" = "y" ] || [ "$WO_ANSWER" = "Y" ]; then - wo_lib_echo "Installing wo dependencies " | tee -ai $wo_install_log - wo_install_dep | tee -ai $wo_install_log - wo_lib_echo "Backing-up WO install" | tee -ai $wo_install_log - wo_backup_wo | tee -ai $wo_install_log - secure_wo_db | tee -ai $wo_install_log - wo_lib_echo "Installing WordOps " | tee -ai $wo_install_log - wo_clean | tee -ai $wo_install_log - if [ "$wo_travis" = "y" ]; then - wo_install_travis | tee -ai $wo_install_log + if [ -f "$HOME/.gitconfig" ]; then + wo_install >> $wo_install_log 2>&1 else - if [ -f "$HOME/.gitconfig" ]; then - wo_install >> $wo_install_log 2>&1 - else - wo_install | tee -ai $wo_install_log - fi + wo_install | tee -ai $wo_install_log fi - wo_update_latest | tee -ai $wo_install_log - if [ ! -d /opt/acme/.sh ]; then - wo_lib_echo "Updating acme.sh" | tee -ai $wo_install_log - wo_install_acme_sh | tee -ai $wo_install_log - fi - wo_lib_echo "Applying Kernel tweaks" | tee -ai $wo_install_log - wo_tweak_kernel | tee -ai $wo_install_log - if [ ! -f /opt/wo-kernel.sh ]; then - wo_lib_echo "Adding systemd service tweak" | tee -ai $wo_install_log - wo_systemd_tweak | tee -ai $wo_install_log - fi - wo_lib_echo "Running post-install steps " | tee -ai $wo_install_log - wo_update_wp_cli | tee -ai $wo_install_log - else - wo_lib_error "Not updating WordOps to $wo_version_new, exit status = " 1 fi + wo_update_latest | tee -ai $wo_install_log + if [ ! -d /opt/acme/.sh ]; then + wo_lib_echo "Updating acme.sh" | tee -ai $wo_install_log + wo_install_acme_sh | tee -ai $wo_install_log + fi + wo_lib_echo "Applying Kernel tweaks" | tee -ai $wo_install_log + wo_tweak_kernel | tee -ai $wo_install_log + if [ ! -f /opt/wo-kernel.sh ]; then + wo_lib_echo "Adding systemd service tweak" | tee -ai $wo_install_log + wo_systemd_tweak | tee -ai $wo_install_log + fi + wo_lib_echo "Running post-install steps " | tee -ai $wo_install_log + wo_update_wp_cli | tee -ai $wo_install_log else wo_lib_error "You already have WordOps $wo_version_new, exit status = " 1 fi From f927dabb745ac88cfb670898331c7188714bc703 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 17:44:42 +0200 Subject: [PATCH 06/13] Update changelog --- CHANGELOG.md | 7 +++++++ install | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bec441..3010d58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ### v3.9.x - [Unreleased] +### v3.9.8.3 - 2019-08-21 + +#### Changed + +- remove user prompt for confirmation with `wo update` +- Nginx stack will not be upgraded with `wo update` anymore. This can be done at anytime with `wo upgrade --nginx` + #### Fixed - `wo upgrade` output diff --git a/install b/install index ecff6da..870a0ff 100755 --- a/install +++ b/install @@ -114,7 +114,7 @@ else fi echo "" -wo_lib_echo "Welcome to WordOps install script v${wo_version_new}" +wo_lib_echo "Welcome to WordOps install/update script v${wo_version_new}" echo "" ### @@ -625,7 +625,7 @@ wo_backup_ee() { } wo_backup_wo() { - /bin/tar -I pigz -cf "$WO_BACKUP_FILE" /etc/nginx /usr/local/lib/python3.*/dist-packages/wo-*.egg /etc/wo /var/lib/wo /etc/letsencrypt >> /var/log/wo/install.log 2>&1 + /bin/tar -I pigz -cf "$WO_BACKUP_FILE" /etc/nginx /etc/wo /var/lib/wo /etc/letsencrypt >> /var/log/wo/install.log 2>&1 } wo_clean_ee() { From b9a8bba708a770f5ea95e9cb48eb72409c4abd86 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 18:09:07 +0200 Subject: [PATCH 07/13] [skip travis] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3010d58..7290863 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), #### Changed +- Nginx package OpenSSL configuration improvements (TLS v1.3 now available on all operating systems supported by WordOps) - remove user prompt for confirmation with `wo update` - Nginx stack will not be upgraded with `wo update` anymore. This can be done at anytime with `wo upgrade --nginx` From 8953232acd5f8d726b28f861ddebbe56ce7fc2ae Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 19:07:07 +0200 Subject: [PATCH 08/13] Fix random function for database name or users --- wo/cli/plugins/site_functions.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/wo/cli/plugins/site_functions.py b/wo/cli/plugins/site_functions.py index 1e99a36..ae5020d 100644 --- a/wo/cli/plugins/site_functions.py +++ b/wo/cli/plugins/site_functions.py @@ -139,9 +139,12 @@ def setupdomain(self, data): def setupdatabase(self, data): wo_domain_name = data['site_name'] + wo_random_pass = (''.join(random.sample(string.ascii_uppercase + + string.ascii_lowercase + + string.digits, 24))) wo_random = (''.join(random.sample(string.ascii_uppercase + string.ascii_lowercase + - string.digits, 24))) + string.digits, 8))) wo_replace_dot = wo_domain_name.replace('.', '_') prompt_dbname = self.app.config.get('mysql', 'db-name') prompt_dbuser = self.app.config.get('mysql', 'db-user') @@ -158,7 +161,7 @@ def setupdatabase(self, data): raise SiteError("Unable to input database name") if not wo_db_name: - wo_db_name = wo_replace_dot + wo_db_name = wo_replace_dot[] if prompt_dbuser == 'True' or prompt_dbuser == 'true': try: @@ -166,14 +169,14 @@ def setupdatabase(self, data): .format(wo_replace_dot)) wo_db_password = getpass.getpass(prompt='Enter the MySQL database' ' password [{0}]: ' - .format(wo_random)) + .format(wo_random_pass)) except EOFError: raise SiteError("Unable to input database credentials") if not wo_db_username: wo_db_username = wo_replace_dot if not wo_db_password: - wo_db_password = wo_random + wo_db_password = wo_random_pass if len(wo_db_username) > 16: Log.debug(self, 'Autofix MySQL username (ERROR 1470 (HY000)),' @@ -239,9 +242,12 @@ def setupwordpress(self, data): wo_wp_pass = self.app.config.get('wordpress', 'password') wo_wp_email = self.app.config.get('wordpress', 'email') # Random characters + wo_random_pass = (''.join(random.sample(string.ascii_uppercase + + string.ascii_lowercase + + string.digits, 24))) wo_random = (''.join(random.sample(string.ascii_uppercase + string.ascii_lowercase + - string.digits, 24))) + string.digits, 8))) wo_wp_prefix = '' # wo_wp_user = '' # wo_wp_pass = '' @@ -434,7 +440,7 @@ def setupwordpress(self, data): except EOFError: raise SiteError("input WordPress username failed") if not wo_wp_pass: - wo_wp_pass = wo_random + wo_wp_pass = wo_random_pass if not wo_wp_email: wo_wp_email = WOVariables.wo_email @@ -1116,13 +1122,20 @@ def detSitePar(opts): return (sitetype, cachetype) -def generate_random(): +def generate_random_pass(): wo_random10 = (''.join(random.sample(string.ascii_uppercase + string.ascii_lowercase + string.digits, 24))) return wo_random10 +def generate_random(): + wo_random10 = (''.join(random.sample(string.ascii_uppercase + + string.ascii_lowercase + + string.digits, 8))) + return wo_random10 + + def deleteDB(self, dbname, dbuser, dbhost, exit=True): try: # Check if Database exists From ed65bbf7bd552b261f57f26d1533e9bf7e2d7e91 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 19:16:46 +0200 Subject: [PATCH 09/13] Add semi-randomly generated database name & user --- .travis.yml | 5 ++--- CHANGELOG.md | 2 ++ wo/cli/plugins/site_functions.py | 17 ++++++----------- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5eb3771..2ec672a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,10 +47,9 @@ script: - sudo wo site create 1.com --html && sudo wo site create 2.com --php && sudo wo site create 3.com --mysql - sudo wo site update 1.com --wp && sudo wo site update 2.com --php73 && sudo wo site update 3.com --php73 && sudo wo site update 1.com --wpfc && sudo wo site update 1.com --wpsc && sudo wo site update 1.com --wpredis - sudo wp --allow-root --info - - sudo wo info + - sudo wo info wp1.com - sudo cat /etc/nginx/nginx.conf - - sudo tree -L 2 /etc/nginx - - sudo tree -L 2 /var/www + - sudo wo site info - sudo cat /etc/mysql/my.cnf - sudo wo stack upgrade --nginx --force - sudo wo stack upgrade --php --force diff --git a/CHANGELOG.md b/CHANGELOG.md index 7290863..a4c5a67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,10 +15,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - Nginx package OpenSSL configuration improvements (TLS v1.3 now available on all operating systems supported by WordOps) - remove user prompt for confirmation with `wo update` - Nginx stack will not be upgraded with `wo update` anymore. This can be done at anytime with `wo upgrade --nginx` +- Databases name and user are now semi-randomly generated (0-8 letters from the domain + 8 random caracters) #### Fixed - `wo upgrade` output +- Database name or database user length ### v3.9.8.2 - 2019-08-20 diff --git a/wo/cli/plugins/site_functions.py b/wo/cli/plugins/site_functions.py index ae5020d..7b30f21 100644 --- a/wo/cli/plugins/site_functions.py +++ b/wo/cli/plugins/site_functions.py @@ -142,10 +142,7 @@ def setupdatabase(self, data): wo_random_pass = (''.join(random.sample(string.ascii_uppercase + string.ascii_lowercase + string.digits, 24))) - wo_random = (''.join(random.sample(string.ascii_uppercase + - string.ascii_lowercase + - string.digits, 8))) - wo_replace_dot = wo_domain_name.replace('.', '_') + wo_replace_dot = wo_domain_name.replace('.', '') prompt_dbname = self.app.config.get('mysql', 'db-name') prompt_dbuser = self.app.config.get('mysql', 'db-user') wo_mysql_grant_host = self.app.config.get('mysql', 'grant-host') @@ -161,7 +158,7 @@ def setupdatabase(self, data): raise SiteError("Unable to input database name") if not wo_db_name: - wo_db_name = wo_replace_dot[] + wo_db_name = wo_replace_dot if prompt_dbuser == 'True' or prompt_dbuser == 'true': try: @@ -178,10 +175,8 @@ def setupdatabase(self, data): if not wo_db_password: wo_db_password = wo_random_pass - if len(wo_db_username) > 16: - Log.debug(self, 'Autofix MySQL username (ERROR 1470 (HY000)),' - ' please wait') - wo_db_username = (wo_db_name[0:6] + generate_random()) + wo_db_username = (wo_db_name[0:8] + generate_random()) + wo_db_name = (wo_db_name[0:8] + generate_random()) # create MySQL database Log.info(self, "Setting up database\t\t", end='') @@ -189,8 +184,8 @@ def setupdatabase(self, data): try: if WOMysql.check_db_exists(self, wo_db_name): Log.debug(self, "Database already exists, Updating DB_NAME .. ") - wo_db_name = (wo_db_name[0:6] + generate_random()) - wo_db_username = (wo_db_name[0:6] + generate_random()) + wo_db_name = (wo_db_name[0:8] + generate_random()) + wo_db_username = (wo_db_name[0:8] + generate_random()) except MySQLConnectionError: raise SiteError("MySQL Connectivity problem occured") From 98f669baa58f0336e080835f10fef9f0ae399515 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Wed, 21 Aug 2019 19:17:36 +0200 Subject: [PATCH 10/13] update travis --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 2ec672a..ef2832c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -51,14 +51,13 @@ script: - sudo cat /etc/nginx/nginx.conf - sudo wo site info - sudo cat /etc/mysql/my.cnf - - sudo wo stack upgrade --nginx --force + - sudo wo stack upgrade --force - sudo wo stack upgrade --php --force - sudo wo stack upgrade --netdata --force - sudo wo stack upgrade --phpmyadmin --force - sudo wo stack upgrade --composer --force - sudo wo stack upgrade --dashboard --force - sudo wo update --travis - - sudo wo update --force - sudo wo stack status - sudo tar -I pigz -cf wordops.tar.gz /var/log/wo - curl --progress-bar --upload-file wordops.tar.gz https://transfer.vtbox.net/$(basename "wordops.tar.gz") && echo "" | sudo tee -a $HOME/.transfer.log && echo "" From 005a1fd9407fe8d78882531db62c6f86e22c06e1 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Thu, 22 Aug 2019 00:20:44 +0200 Subject: [PATCH 11/13] Fix travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ef2832c..b09c92a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,7 +47,7 @@ script: - sudo wo site create 1.com --html && sudo wo site create 2.com --php && sudo wo site create 3.com --mysql - sudo wo site update 1.com --wp && sudo wo site update 2.com --php73 && sudo wo site update 3.com --php73 && sudo wo site update 1.com --wpfc && sudo wo site update 1.com --wpsc && sudo wo site update 1.com --wpredis - sudo wp --allow-root --info - - sudo wo info wp1.com + - sudo wo site info wp1.com - sudo cat /etc/nginx/nginx.conf - sudo wo site info - sudo cat /etc/mysql/my.cnf From fba3f8ae7a8dcaedfbba500d9ec96edd3a314945 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Thu, 22 Aug 2019 11:07:37 +0200 Subject: [PATCH 12/13] Fix travis --- .travis.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b09c92a..03f53cc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,9 +47,8 @@ script: - sudo wo site create 1.com --html && sudo wo site create 2.com --php && sudo wo site create 3.com --mysql - sudo wo site update 1.com --wp && sudo wo site update 2.com --php73 && sudo wo site update 3.com --php73 && sudo wo site update 1.com --wpfc && sudo wo site update 1.com --wpsc && sudo wo site update 1.com --wpredis - sudo wp --allow-root --info - - sudo wo site info wp1.com - sudo cat /etc/nginx/nginx.conf - - sudo wo site info + - sudo wo site info wp1.com - sudo cat /etc/mysql/my.cnf - sudo wo stack upgrade --force - sudo wo stack upgrade --php --force From 569e38ceb9b22eeaffaa5d3273dcc751dd726009 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Thu, 22 Aug 2019 11:18:23 +0200 Subject: [PATCH 13/13] Create a travis script --- .travis.yml | 28 ++------------------------ tests/travis.sh | 52 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 26 deletions(-) create mode 100644 tests/travis.sh diff --git a/.travis.yml b/.travis.yml index 03f53cc..a78e956 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,33 +32,9 @@ script: - sed -i 's/# "coverage"/"coverage"/g' setup.py - sed -i 's/# "Sphinx >= 1.0"/"Sphinx >= 1.0"/g' setup.py - sudo bash install --travis -b "$TRAVIS_BRANCH" - - sudo wo --help && sudo wo stack install && sudo wo stack install --proftpd - - sudo wo site create html.net --html && sudo wo site create php.com --php && sudo wo site create mysql.com --mysql && sudo wo site create proxy.com --proxy=127.0.0.1:3000 - - sudo wo site create wp1.com --wp && sudo wo site create wpsc1.net --wpsc && sudo wo site create wpfc1.com --wpfc - - sudo wo site create wpsc-php73.net --wpsc --php73 && sudo wo site create wpfc-php73.net --wpfc --php73 - - sudo wo site create wprocket.net --wprocket && sudo wo site create wprocket-php73.net --wprocket --php73 - - sudo wo site create wpce.net --wpce && sudo wo site create wpce-php73.net --wpce --php73 - - sudo wo site create wpredis.net --wpredis && sudo wo site create wpredis-php73.net --wpredis --php73 - - sudo wo site create wpsubdir1.com --wpsubdir && sudo wo site create wpsubdir-php73.com --wpsubdir --php73 + - sudo bash tests/travis.sh - - sudo wo site create wpsubdirwpsc1.com --wpsubdir --wpsc && sudo wo site create wpsubdirwpsc2.com --wpsubdir --wpfc && sudo wo site create wpsubdirwpsc1-php73.com --wpsubdir --wpsc --php73 && sudo wo site create wpsubdirwpsc2-php73.com --wpsubdir --wpfc --php73 - - sudo wo site create wpsubdomain1.com --wpsubdomain && sudo wo site create wpsubdomain1-php73.com --wpsubdomain --php73 && sudo wo site create wpsubdomainwpsc.org --wpsubdomain --wpsc && sudo wo site create wpsubdomainwpfc.org --wpsubdomain --wpfc && sudo wo site create wpsubdomainwpfc2.in --wpfc --wpsubdomain - - - sudo wo site create 1.com --html && sudo wo site create 2.com --php && sudo wo site create 3.com --mysql - - sudo wo site update 1.com --wp && sudo wo site update 2.com --php73 && sudo wo site update 3.com --php73 && sudo wo site update 1.com --wpfc && sudo wo site update 1.com --wpsc && sudo wo site update 1.com --wpredis - - sudo wp --allow-root --info - - sudo cat /etc/nginx/nginx.conf - - sudo wo site info wp1.com - - sudo cat /etc/mysql/my.cnf - - sudo wo stack upgrade --force - - sudo wo stack upgrade --php --force - - sudo wo stack upgrade --netdata --force - - sudo wo stack upgrade --phpmyadmin --force - - sudo wo stack upgrade --composer --force - - sudo wo stack upgrade --dashboard --force - sudo wo update --travis - sudo wo stack status - - sudo tar -I pigz -cf wordops.tar.gz /var/log/wo - - curl --progress-bar --upload-file wordops.tar.gz https://transfer.vtbox.net/$(basename "wordops.tar.gz") && echo "" | sudo tee -a $HOME/.transfer.log && echo "" - - echo "yes" | sudo wo stack purge --all --force + - sudo wo stack purge --all --force - sudo bash install --purge diff --git a/tests/travis.sh b/tests/travis.sh new file mode 100644 index 0000000..c41565f --- /dev/null +++ b/tests/travis.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +# +# WordOps travis testing script +# +# + +exit_script() { + tar -I pigz -cf wordops.tar.gz /var/log/wo + curl --progress-bar --upload-file wordops.tar.gz https://transfer.vtbox.net/$(basename "wordops.tar.gz") && echo "" | sudo tee -a $HOME/.transfer.log && echo "" + exit 1 +} + +if ! { + wo --help && wo stack install && wo stack install --proftpd +}; then + exit_script +fi +if ! { + wo site create html.net --html && wo site create php.com --php && wo site create mysql.com --mysql && wo site create proxy.com --proxy=127.0.0.1:3000 + wo site create wp1.com --wp && wo site create wpsc1.net --wpsc && wo site create wpfc1.com --wpfc + wo site create wpsc-php73.net --wpsc --php73 && wo site create wpfc-php73.net --wpfc --php73 + wo site create wprocket.net --wprocket && wo site create wprocket-php73.net --wprocket --php73 + wo site create wpce.net --wpce && wo site create wpce-php73.net --wpce --php73 + wo site create wpredis.net --wpredis && wo site create wpredis-php73.net --wpredis --php73 + wo site create wpsubdir1.com --wpsubdir && wo site create wpsubdir-php73.com --wpsubdir --php73 +}; then + exit_script +fi +if ! { + wo site create wpsubdirwpsc1.com --wpsubdir --wpsc && wo site create wpsubdirwpsc2.com --wpsubdir --wpfc && wo site create wpsubdirwpsc1-php73.com --wpsubdir --wpsc --php73 && wo site create wpsubdirwpsc2-php73.com --wpsubdir --wpfc --php73 + wo site create wpsubdomain1.com --wpsubdomain && wo site create wpsubdomain1-php73.com --wpsubdomain --php73 && wo site create wpsubdomainwpsc.org --wpsubdomain --wpsc && wo site create wpsubdomainwpfc.org --wpsubdomain --wpfc && wo site create wpsubdomainwpfc2.in --wpfc --wpsubdomain + + wo site create 1.com --html && wo site create 2.com --php && wo site create 3.com --mysql + wo site update 1.com --wp && wo site update 2.com --php73 && wo site update 3.com --php73 && wo site update 1.com --wpfc && wo site update 1.com --wpsc && wo site update 1.com --wpredis +}; then + exit_script +fi +if ! { + wo stack upgrade --force + wo stack upgrade --php --force + wo stack upgrade --netdata --force + wo stack upgrade --phpmyadmin --force + wo stack upgrade --composer --force + wo stack upgrade --dashboard --force +}; then + exit_script +fi + +wp --allow-root --info +cat /etc/nginx/nginx.conf +wo site info wp1.com +cat /etc/mysql/my.cnf