From cbd902e7806d63ec1e9952911a4b2611659fe414 Mon Sep 17 00:00:00 2001 From: VirtuBox Date: Mon, 25 Feb 2019 12:27:23 +0100 Subject: [PATCH] Improve install * Add script description with release and last update * improve code quality by using shellscript standards --- install | 84 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 46 insertions(+), 38 deletions(-) diff --git a/install b/install index c44bb2c..4027d1d 100644 --- a/install +++ b/install @@ -1,13 +1,20 @@ #!/bin/bash -######################################### -### WordOps install and update script ### -######################################### -### CONTENTS -### --- -### 1. VARIABLES AND DECLARATIONS -### 2. PREPARE FOR INSTALLATION -### 3. INSTALLATION -### 4. +# ------------------------------------------------------------------------- +# WordOps install and update script +# ------------------------------------------------------------------------- +# Website: https://wordops.org +# GitHub: https://github.com/WordOps/WordOps +# Copyright (c) 2019 - WordOps +# This script is licensed under M.I.T +# ------------------------------------------------------------------------- +# Version 3.9.1 - 2019-02-25 +# ------------------------------------------------------------------------- +# CONTENTS +# --- +# 1. VARIABLES AND DECLARATIONS +# 2. PREPARE FOR INSTALLATION +# 3. INSTALLATION +# 4. ### # 1 - Set the CLI output colors @@ -42,7 +49,7 @@ fi ### function wo_lib_error() { - echo "[ `date` ] $(tput setaf 1)$@$(tput sgr0)" + echo "[ $(date) ] $(tput setaf 1)$@$(tput sgr0)" exit $2 } @@ -153,7 +160,7 @@ function wo_install_dep() apt-get -y install php7.2-fpm php7.2-curl php7.2-gd php7.2-imap php-sodium php7.2-common php7.2-readline php7.2-redis php7.2-mysql php7.2-cli php7.2-memcache php7.2-imagick php7.2-mbstring php7.2-recode php7.2-bcmath php7.2-opcache php7.2-zip php7.2-xml php7.2-soap php7.2-msgpack memcached graphviz php-pear php7.2-xdebug || wo_lib_error "Not all PHP packages could be installed." 1 systemctl php7.2-fpm restart &>> /dev/null fi - + ### # Webp mapping ### @@ -211,7 +218,7 @@ function wo_sync_db() php_version VARCHAR );" | sqlite3 /var/lib/wo/dbase.db - if [ -f /var/lib/wo/dbase-ee.db]; then + if [ -f /var/lib/wo/dbase-ee.db ]; then # Copy the main EasyEngine database over since we are migrating cp /var/lib/wo/dbase-ee.db /var/lib/wo/dbase.db fi @@ -297,12 +304,14 @@ function wo_sync_db() wo_lib_echo "Replace the PHP ports for PHP 7.2" # Copy the previous upstream.conf cp /etc/nginx/conf.d/upstream.conf /etc/nginx/conf.d/upstream.bak + { # Replace the ports for PHP 7.2 - sed -i 's/9000/9072/g' /etc/nginx/conf.d/upstream.conf &>> /dev/null - sed -i 's/9070/9072/g' /etc/nginx/conf.d/upstream.conf &>> /dev/null + sed -i 's/9000/9072/g' /etc/nginx/conf.d/upstream.conf + sed -i 's/9070/9072/g' /etc/nginx/conf.d/upstream.conf # Replace the ports for debug PHP 7.2 - sed -i 's/9001/9172/g' /etc/nginx/conf.d/upstream.conf &>> /dev/null - sed -i 's/9170/9172/g' /etc/nginx/conf.d/upstream.conf &>> /dev/null + sed -i 's/9001/9172/g' /etc/nginx/conf.d/upstream.conf + sed -i 's/9170/9172/g' /etc/nginx/conf.d/upstream.conf + } > /dev/null 2>&1 fi echo "UPDATE sites SET php_version = REPLACE(php_version, '5.6', '7.2');" | sqlite3 /var/lib/wo/dbase.db @@ -346,16 +355,16 @@ function secure_wo_db() function wo_update_wp_cli() { wo_lib_echo "Updating WP-CLI version to resolve compatibility issue." - PHP_PATH=$(which php) - WP_CLI_PATH=$(which wp) - if [ "${WP_CLI_PATH}" != "" ]; then + PHP_PATH=$(command -v php) + WP_CLI_PATH=$(command -v wp) + if [ -z "$WP_CLI_PATH" ]; then # Obtain the current WP-CLI version - WP_CLI_VERSION=$(${PHP_PATH} ${WP_CLI_PATH} --allow-root cli version | awk '{ print $2 }') - dpkg --compare-versions ${WP_CLI_VERSION} lt 1.4.1 + WP_CLI_VERSION=$($PHP_PATH $WP_CLI_PATH --allow-root cli version | awk '{ print $2 }') + dpkg --compare-versions "$WP_CLI_VERSION" lt 1.4.1 # Update WP-CLI to the most recent version if [ "$?" == "0" ]; then - wget -qO ${WP_CLI_PATH} https://raw.githubusercontent.com/WordOps/wpcli-builds/gh-pages/phar/wp-cli.phar - chmod +x ${WP_CLI_PATH} + wget -qO "$WP_CLI_PATH" https://raw.githubusercontent.com/WordOps/wpcli-builds/gh-pages/phar/wp-cli.phar + chmod +x "$WP_CLI_PATH" fi fi } @@ -371,10 +380,10 @@ function wo_install() wo_branch=master fi - git clone -b $wo_branch https://github.com/WordOps/WordOps.git /tmp/wordops --quiet > /dev/null \ + git clone -b "$wo_branch" https://github.com/WordOps/WordOps.git /tmp/wordops --quiet > /dev/null \ || wo_lib_error "An error was encountered during the download, exit status" $? - cd /tmp/wordops + cd /tmp/wordops || exit 1 wo_lib_echo "The moment you've all been waiting for, time to install WordOps!" python3 setup.py install || wo_lib_error "An error was encountered during the installation, exit status " $? } @@ -384,7 +393,7 @@ function wo_update_latest() if [ -f /etc/nginx/fastcgi_params ] then - cat /etc/nginx/fastcgi_params| grep -q 'HTTP_PROXY' + grep -q 'HTTP_PROXY' /etc/nginx/fastcgi_params if [[ $? -ne 0 ]]; then echo "fastcgi_param HTTP_PROXY \"\";" >> /etc/nginx/fastcgi_params echo "fastcgi_param HTTP_PROXY \"\";" >> /etc/nginx/fastcgi.conf @@ -641,32 +650,31 @@ function wo_update_latest() function wo_git_init() { # Nginx under git version control - if [ -d /etc/nginx ];then - cd /etc/nginx + [ -d /etc/nginx ] && { + cd /etc/nginx || exit 1 if [ ! -d /etc/nginx/.git ]; then git init &>> /dev/null fi git add -A . git commit -am "Updated Nginx" > /dev/null - fi + } # WordOps under git version control - cd /etc/wo - if [ ! -d /etc/wo/.git ]; then + cd /etc/wo || exit 1 + [ ! -d /etc/wo/.git ] && { git init > /dev/null - fi + } git add -A . git commit -am "Installed/Updated to WordOps" &>> /dev/null #PHP under git version control - if [ -d /etc/php ];then - cd /etc/php + [ -d /etc/php ] && { + cd /etc/php || exit 1 if [ ! -d /etc/php/.git ]; then - git init &>> /dev/null + git init fi git add -A . - git commit -am "Updated PHP" > /dev/null - fi - + git commit -am "Updated PHP" + }> /dev/null } if [ ! -f /usr/local/bin/wo ]; then