Merge pull request #104 from WordOps/updating-configuration
Updating configuration
This commit is contained in:
@@ -33,7 +33,6 @@ script:
|
|||||||
- sudo apt-get install -qq --force-yes git python3-setuptools python3-dev python3-apt ccze tree
|
- sudo apt-get install -qq --force-yes git python3-setuptools python3-dev python3-apt ccze tree
|
||||||
- sudo bash install -b $TRAVIS_BRANCH --travis
|
- sudo bash install -b $TRAVIS_BRANCH --travis
|
||||||
- sudo wo --help && sudo wo stack install && sudo wo stack install --proftpd
|
- sudo wo --help && sudo wo stack install && sudo wo stack install --proftpd
|
||||||
- sudo wo stack upgrade --netdata --no-prompt
|
|
||||||
- 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 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 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 wpsc-php73.net --wpsc --php73 && sudo wo site create wpfc-php73.net --wpfc --php73
|
||||||
@@ -49,5 +48,8 @@ script:
|
|||||||
- sudo wo info
|
- sudo wo info
|
||||||
- sudo tree -L 2 /etc/nginx
|
- sudo tree -L 2 /etc/nginx
|
||||||
- sudo cat /var/www/wp1.com/wp-config.php
|
- sudo cat /var/www/wp1.com/wp-config.php
|
||||||
|
- sudo wo stack upgrade --netdata --no-prompt
|
||||||
|
- sudo wo stack upgrade --phpmyadmin --no-prompt
|
||||||
|
- sudo wo stack upgrade --composer --no-prompt
|
||||||
- sudo wo update --travis
|
- sudo wo update --travis
|
||||||
- sudo wo stack status
|
- sudo wo stack status
|
||||||
10
CHANGELOG.md
10
CHANGELOG.md
@@ -8,12 +8,22 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||||||
|
|
||||||
### v3.9.x - [Unreleased]
|
### v3.9.x - [Unreleased]
|
||||||
|
|
||||||
|
### v3.9.6.2 - 2019-07-23
|
||||||
|
|
||||||
|
#### Fixed
|
||||||
|
|
||||||
|
- phpMyAdmin archive download link archive
|
||||||
|
- Arguments `--letsencrypt=clean/purge`
|
||||||
|
- Incorrect directory removal during stack upgrade
|
||||||
|
|
||||||
|
|
||||||
### v3.9.6.1 - 2019-07-23
|
### v3.9.6.1 - 2019-07-23
|
||||||
|
|
||||||
#### Fixed
|
#### Fixed
|
||||||
|
|
||||||
- Typo in `--letsencrypt=subdomain`
|
- Typo in `--letsencrypt=subdomain`
|
||||||
- phpMyAdmin upgrade archive extraction
|
- phpMyAdmin upgrade archive extraction
|
||||||
|
- Error in the command `wo update`. Please `wo update --beta` as workaround
|
||||||
|
|
||||||
### v3.9.6 - 2019-07-20
|
### v3.9.6 - 2019-07-20
|
||||||
|
|
||||||
|
|||||||
@@ -165,7 +165,7 @@ _wo_complete()
|
|||||||
|
|
||||||
"update")
|
"update")
|
||||||
COMPREPLY=( $(compgen \
|
COMPREPLY=( $(compgen \
|
||||||
-W "--password --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew -le -le=subdomain -le=wildcard --dns --dns=dns_cf --dns=dns_do" \
|
-W "--password --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le -le=subdomain -le=wildcard --dns --dns=dns_cf --dns=dns_do" \
|
||||||
-- $cur) )
|
-- $cur) )
|
||||||
;;
|
;;
|
||||||
"delete")
|
"delete")
|
||||||
@@ -213,7 +213,7 @@ _wo_complete()
|
|||||||
if [ ${COMP_WORDS[2]} == "create" ]; then
|
if [ ${COMP_WORDS[2]} == "create" ]; then
|
||||||
retlist="--wp --wpsc --wpfc --user --email --pass --wpredis --letsencrypt -le --letsencrypt=subdomain --letsencrypt=wildcard --dns --dns=dns_cf --dns=dns_do --php73"
|
retlist="--wp --wpsc --wpfc --user --email --pass --wpredis --letsencrypt -le --letsencrypt=subdomain --letsencrypt=wildcard --dns --dns=dns_cf --dns=dns_do --php73"
|
||||||
elif [ ${COMP_WORDS[2]} == "update" ]; then
|
elif [ ${COMP_WORDS[2]} == "update" ]; then
|
||||||
retlist="--wp --wpfc --wpsc --php73 --php73=off --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard --letsencrypt=off --letsencrypt=renew -le -le=off -le=wildcard --dns --dns=dns_cf --dns=dns_do"
|
retlist="--wp --wpfc --wpsc --php73 --php73=off --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le -le=off -le=wildcard --dns --dns=dns_cf --dns=dns_do"
|
||||||
else
|
else
|
||||||
retlist=""
|
retlist=""
|
||||||
fi
|
fi
|
||||||
@@ -232,7 +232,7 @@ _wo_complete()
|
|||||||
if [ ${COMP_WORDS[2]} == "create" ]; then
|
if [ ${COMP_WORDS[2]} == "create" ]; then
|
||||||
retlist="--wpsc --wpfc --user --email --pass --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le --php73 --dns --dns=dns_cf --dns=dns_do"
|
retlist="--wpsc --wpfc --user --email --pass --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard -le --php73 --dns --dns=dns_cf --dns=dns_do"
|
||||||
elif [ ${COMP_WORDS[2]} == "update" ]; then
|
elif [ ${COMP_WORDS[2]} == "update" ]; then
|
||||||
retlist="--wpfc --wpsc --php73 --php73=off --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard --letsencrypt=off --letsencrypt=renew -le --dns --dns=dns_cf --dns=dns_do"
|
retlist="--wpfc --wpsc --php73 --php73=off --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=wildcard --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le --dns --dns=dns_cf --dns=dns_do"
|
||||||
else
|
else
|
||||||
retlist=""
|
retlist=""
|
||||||
fi
|
fi
|
||||||
@@ -261,7 +261,7 @@ _wo_complete()
|
|||||||
|
|
||||||
"--wpredis" | "--wpfc")
|
"--wpredis" | "--wpfc")
|
||||||
if [ ${COMP_WORDS[2]} == "update" ]; then
|
if [ ${COMP_WORDS[2]} == "update" ]; then
|
||||||
retlist="--password --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew -le --dns --dns=dns_cf --dns=dns_do"
|
retlist="--password --php --php73 --mysql --wp --wpsubdir --wpsubdomain --wpfc --wpsc --wpredis --letsencrypt --letsencrypt=subdomain --letsencrypt=off --letsencrypt=renew --letsencrypt=clean -le --dns --dns=dns_cf --dns=dns_do"
|
||||||
else
|
else
|
||||||
retlist=""
|
retlist=""
|
||||||
fi
|
fi
|
||||||
|
|||||||
42
install
42
install
@@ -7,10 +7,10 @@
|
|||||||
# Copyright (c) 2019 - WordOps
|
# Copyright (c) 2019 - WordOps
|
||||||
# This script is licensed under M.I.T
|
# This script is licensed under M.I.T
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
# Version 3.9.6 - 2019-07-20
|
# Version 3.9.6 - 2019-07-24
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
readonly wo_version_old="2.2.3"
|
readonly wo_version_old="2.2.3"
|
||||||
readonly wo_version_new="3.9.6.1"
|
readonly wo_version_new="3.9.6.2"
|
||||||
# CONTENTS
|
# CONTENTS
|
||||||
# ---
|
# ---
|
||||||
# 1. VARIABLES AND DECLARATIONS
|
# 1. VARIABLES AND DECLARATIONS
|
||||||
@@ -175,19 +175,20 @@ wo_install_dep() {
|
|||||||
|
|
||||||
[ -z "$wo_travis" ] && {
|
[ -z "$wo_travis" ] && {
|
||||||
# update server packages
|
# update server packages
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confmiss" -o Dpkg::Options::="--force-confold" -y dist-upgrade
|
DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade --option=Dpkg::options::=--force-confmiss --option=Dpkg::options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-yes --quiet
|
||||||
} > /dev/null 2>&1
|
}
|
||||||
if [ "$wo_linux_distro" == "Ubuntu" ]; then
|
if [ "$wo_linux_distro" == "Ubuntu" ]; then
|
||||||
# install dependencies
|
# install dependencies
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confmiss" -o Dpkg::Options::="--force-confold" -y install build-essential curl gzip python3 python3-apt python3-setuptools python3-dev sqlite3 git tar software-properties-common pigz gnupg2 cron ccze rsync tree haveged ufw > /dev/null 2>&1
|
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confmiss" -o Dpkg::Options::="--force-confold" --assume-yes install build-essential curl gzip python3 python3-apt python3-setuptools python3-dev sqlite3 git tar software-properties-common pigz gnupg2 cron ccze rsync tree haveged ufw > /dev/null 2>&1
|
||||||
else
|
else
|
||||||
|
# install dependencies
|
||||||
|
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confmiss" -o Dpkg::Options::="--force-confold" --assume-yes install build-essential curl gzip dirmngr sudo python3 python3-apt python3-setuptools python3-dev ca-certificates sqlite3 git tar software-properties-common pigz apt-transport-https gnupg2 cron ccze rsync tree haveged ufw > /dev/null 2>&1
|
||||||
|
# add php repository gpg key
|
||||||
|
[ -d /etc/apt/trusted.gpg.d ] && { wget -qO /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg; }
|
||||||
# add nginx repository gpg key
|
# add nginx repository gpg key
|
||||||
wget https://download.opensuse.org/repositories/home:virtubox:WordOps/Debian_9.0/Release.key -O Release.key
|
wget https://download.opensuse.org/repositories/home:virtubox:WordOps/Debian_9.0/Release.key -O Release.key
|
||||||
apt-key add - < Release.key
|
apt-key add - < Release.key
|
||||||
rm -f Release.key
|
rm -f Release.key
|
||||||
# install dependencies
|
|
||||||
DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::="--force-confmiss" -o Dpkg::Options::="--force-confold" -y install build-essential curl gzip dirmngr sudo python3 python3-apt python3-setuptools python3-dev ca-certificates sqlite3 git tar software-properties-common pigz apt-transport-https gnupg2 cron ccze rsync tree haveged ufw > /dev/null 2>&1
|
|
||||||
[ -d /etc/apt/trusted.gpg.d ] && { wget -qO /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg; }
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
locale-gen en
|
locale-gen en
|
||||||
@@ -405,18 +406,21 @@ wo_install() {
|
|||||||
{
|
{
|
||||||
rm -f /etc/bash_completion.d/wo_auto.rc
|
rm -f /etc/bash_completion.d/wo_auto.rc
|
||||||
rm -rf /tmp/WordOps
|
rm -rf /tmp/WordOps
|
||||||
git clone https://github.com/WordOps/WordOps.git /tmp/WordOps -b "$wo_branch"
|
git clone -b "$wo_branch" --depth=50 https://github.com/WordOps/WordOps.git /tmp/WordOps
|
||||||
cd /tmp/WordOps || exit 1
|
cd /tmp/WordOps || exit 1
|
||||||
|
|
||||||
} \
|
} \
|
||||||
>> "$wo_install_log" 2>&1
|
>> "$wo_install_log" 2>&1
|
||||||
|
|
||||||
|
if [ "$wo_force_install" = "y" ]; then
|
||||||
|
[ ! -f "$HOME/.gitconfig" ] && { bash -c 'echo -e "[user]\n\tname = $USER\n\temail = root@$HOSTNAME.local" > $HOME/.gitconfig'; }
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -f "$HOME/.gitconfig" ]; then
|
if [ -f "$HOME/.gitconfig" ]; then
|
||||||
|
# install and redirect log to not print python package install
|
||||||
python3 setup.py install >> $wo_install_log 2>&1
|
python3 setup.py install >> $wo_install_log 2>&1
|
||||||
else
|
else
|
||||||
if [ "$wo_force_install" = "y" ]; then
|
# install without redirecting logs to prompt user for name & email
|
||||||
[ ! -f "$HOME/.gitconfig" ] && { bash -c 'echo -e "[user]\n\tname = $USER\n\temail = root@$HOSTNAME" > $HOME/.gitconfig'; }
|
|
||||||
fi
|
|
||||||
python3 setup.py install
|
python3 setup.py install
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -444,17 +448,16 @@ wo_upgrade_nginx() {
|
|||||||
|
|
||||||
# add new Nginx repository
|
# add new Nginx repository
|
||||||
if [ "$wo_linux_distro" = "Ubuntu" ]; then
|
if [ "$wo_linux_distro" = "Ubuntu" ]; then
|
||||||
|
if [ ! -f /etc/apt/sources.list.d/wordops-ubuntu-nginx-wo-"$(lsb_release -sc)".list ]; then
|
||||||
add-apt-repository ppa:wordops/nginx-wo -y -u
|
add-apt-repository ppa:wordops/nginx-wo -y -u
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
if [ "$wo_distro_version" == "jessie" ]; then
|
if [ "$wo_distro_version" == "jessie" ]; then
|
||||||
wget -qO /tmp/nginx-wo.key https://download.opensuse.org/repositories/home:virtubox:WordOps/Debian_8.0/Release.key
|
curl -sL https://download.opensuse.org/repositories/home:virtubox:WordOps/Debian_8.0/Release.key | apt-key add -
|
||||||
else
|
else
|
||||||
wget -qO /tmp/nginx-wo.key https://download.opensuse.org/repositories/home:virtubox:WordOps/Debian_9.0/Release.key
|
curl -sL https://download.opensuse.org/repositories/home:virtubox:WordOps/Debian_9.0/Release.key | apt-key add -
|
||||||
fi
|
fi
|
||||||
# import the respository key for updates
|
# import the respository key for updates
|
||||||
apt-key add - < /tmp/nginx-wo.key
|
|
||||||
rm -f /tmp/nginx-wo.key
|
|
||||||
apt-get update -qq
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# stop nginx
|
# stop nginx
|
||||||
@@ -487,7 +490,7 @@ wo_upgrade_nginx() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
/usr/local/bin/wo stack install --nginx --php
|
/usr/local/bin/wo stack install --nginx --php
|
||||||
rm -f /etc/nginx/common/acl.conf /etc/nginx/conf.d/{map-wp-cache.conf,map-wp.conf,fascgi.conf} /etc/nginx/htpasswd-wo
|
rm -f /etc/nginx/common/acl.conf /etc/nginx/conf.d/{map-wp-cache.conf,map-wp.conf,fascgi.conf,blockips.conf} /etc/nginx/htpasswd-wo
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# restore sites and configuration
|
# restore sites and configuration
|
||||||
@@ -637,7 +640,7 @@ wo_tweak_kernel() {
|
|||||||
if [ ! -f /etc/sysctl.d/60-wo-tweaks.conf ]; then
|
if [ ! -f /etc/sysctl.d/60-wo-tweaks.conf ]; then
|
||||||
if [ "$WO_ARCH" = "x86_64" ]; then
|
if [ "$WO_ARCH" = "x86_64" ]; then
|
||||||
rm -f /etc/sysctl.d/60-ubuntu-nginx-web-server.conf
|
rm -f /etc/sysctl.d/60-ubuntu-nginx-web-server.conf
|
||||||
wget -qO /etc/sysctl.d/60-wo-tweaks.conf https://raw.githubusercontent.com/WordOps/WordOps/updating-configuration/wo/cli/templates/sysctl.mustache
|
wget -qO /etc/sysctl.d/60-wo-tweaks.conf https://raw.githubusercontent.com/WordOps/WordOps/master/wo/cli/templates/sysctl.mustache
|
||||||
if [ "$wo_distro_version" = "bionic" ] || [ "$wo_distro_version" = "disco" ] || [ "$wo_distro_version" = "buster" ]; then
|
if [ "$wo_distro_version" = "bionic" ] || [ "$wo_distro_version" = "disco" ] || [ "$wo_distro_version" = "buster" ]; then
|
||||||
modprobe tcp_bbr && echo 'tcp_bbr' >> /etc/modules-load.d/bbr.conf
|
modprobe tcp_bbr && echo 'tcp_bbr' >> /etc/modules-load.d/bbr.conf
|
||||||
echo -e '\nnet.ipv4.tcp_congestion_control = bbr\nnet.ipv4.tcp_notsent_lowat = 16384' >> /etc/sysctl.d/60-wo-tweaks.conf
|
echo -e '\nnet.ipv4.tcp_congestion_control = bbr\nnet.ipv4.tcp_notsent_lowat = 16384' >> /etc/sysctl.d/60-wo-tweaks.conf
|
||||||
@@ -774,6 +777,7 @@ elif [ "$wo_upgrade" = "1" ]; then
|
|||||||
else
|
else
|
||||||
wo_lib_echo "WordOps (wo) installed successfully"
|
wo_lib_echo "WordOps (wo) installed successfully"
|
||||||
fi
|
fi
|
||||||
|
echo
|
||||||
wo_lib_echo_info "For autocompletion, run the following command:"
|
wo_lib_echo_info "For autocompletion, run the following command:"
|
||||||
wo_lib_echo_info "source /etc/bash_completion.d/wo_auto.rc"
|
wo_lib_echo_info "source /etc/bash_completion.d/wo_auto.rc"
|
||||||
echo
|
echo
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -57,7 +57,7 @@ if not os.path.isfile('/root/.gitconfig'):
|
|||||||
shutil.copy2(os.path.expanduser("~")+'/.gitconfig', '/root/.gitconfig')
|
shutil.copy2(os.path.expanduser("~")+'/.gitconfig', '/root/.gitconfig')
|
||||||
|
|
||||||
setup(name='wo',
|
setup(name='wo',
|
||||||
version='3.9.6.1',
|
version='3.9.6.2',
|
||||||
description=long_description,
|
description=long_description,
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
classifiers=[],
|
classifiers=[],
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class CliTestCaseStack(test.WOTestCase):
|
|||||||
self.app.run()
|
self.app.run()
|
||||||
self.app.close()
|
self.app.close()
|
||||||
|
|
||||||
def test_wo_cli_stack_services_start_php5_fpm(self):
|
def test_wo_cli_stack_services_start_php_fpm(self):
|
||||||
self.app = get_test_app(argv=['stack', 'start', '--php'])
|
self.app = get_test_app(argv=['stack', 'start', '--php'])
|
||||||
self.app.setup()
|
self.app.setup()
|
||||||
self.app.run()
|
self.app.run()
|
||||||
@@ -27,12 +27,6 @@ class CliTestCaseStack(test.WOTestCase):
|
|||||||
self.app.run()
|
self.app.run()
|
||||||
self.app.close()
|
self.app.close()
|
||||||
|
|
||||||
def test_wo_cli_stack_services_start_memcached(self):
|
|
||||||
self.app = get_test_app(argv=['stack', 'start', '--memcache'])
|
|
||||||
self.app.setup()
|
|
||||||
self.app.run()
|
|
||||||
self.app.close()
|
|
||||||
|
|
||||||
def test_wo_cli_stack_services_start_all(self):
|
def test_wo_cli_stack_services_start_all(self):
|
||||||
self.app = get_test_app(argv=['stack', 'start'])
|
self.app = get_test_app(argv=['stack', 'start'])
|
||||||
self.app.setup()
|
self.app.setup()
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class CliTestCaseStack(test.WOTestCase):
|
|||||||
self.app.run()
|
self.app.run()
|
||||||
self.app.close()
|
self.app.close()
|
||||||
|
|
||||||
def test_wo_cli_stack_services_status_php5_fpm(self):
|
def test_wo_cli_stack_services_status_php_fpm(self):
|
||||||
self.app = get_test_app(argv=['stack', 'status', '--php'])
|
self.app = get_test_app(argv=['stack', 'status', '--php'])
|
||||||
self.app.setup()
|
self.app.setup()
|
||||||
self.app.run()
|
self.app.run()
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class CliTestCaseStack(test.WOTestCase):
|
|||||||
self.app.run()
|
self.app.run()
|
||||||
self.app.close()
|
self.app.close()
|
||||||
|
|
||||||
def test_wo_cli_stack_services_stop_php5_fpm(self):
|
def test_wo_cli_stack_services_stop_php_fpm(self):
|
||||||
self.app = get_test_app(argv=['stack', 'stop', '--php'])
|
self.app = get_test_app(argv=['stack', 'stop', '--php'])
|
||||||
self.app.setup()
|
self.app.setup()
|
||||||
self.app.run()
|
self.app.run()
|
||||||
@@ -27,12 +27,6 @@ class CliTestCaseStack(test.WOTestCase):
|
|||||||
self.app.run()
|
self.app.run()
|
||||||
self.app.close()
|
self.app.close()
|
||||||
|
|
||||||
def test_wo_cli_stack_services_stop_memcached(self):
|
|
||||||
self.app = get_test_app(argv=['stack', 'stop', '--memcache'])
|
|
||||||
self.app.setup()
|
|
||||||
self.app.run()
|
|
||||||
self.app.close()
|
|
||||||
|
|
||||||
def test_wo_cli_stack_services_stop_all(self):
|
def test_wo_cli_stack_services_stop_all(self):
|
||||||
self.app = get_test_app(argv=['stack', 'stop'])
|
self.app = get_test_app(argv=['stack', 'stop'])
|
||||||
self.app.setup()
|
self.app.setup()
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class CliTestCaseStack(test.WOTestCase):
|
|||||||
self.app.run()
|
self.app.run()
|
||||||
self.app.close()
|
self.app.close()
|
||||||
|
|
||||||
def test_wo_cli_stack_services_restart_php5_fpm(self):
|
def test_wo_cli_stack_services_restart_php_fpm(self):
|
||||||
self.app = get_test_app(argv=['stack', 'restart', '--php'])
|
self.app = get_test_app(argv=['stack', 'restart', '--php'])
|
||||||
self.app.setup()
|
self.app.setup()
|
||||||
self.app.run()
|
self.app.run()
|
||||||
@@ -27,12 +27,6 @@ class CliTestCaseStack(test.WOTestCase):
|
|||||||
self.app.run()
|
self.app.run()
|
||||||
self.app.close()
|
self.app.close()
|
||||||
|
|
||||||
def test_wo_cli_stack_services_restart_memcached(self):
|
|
||||||
self.app = get_test_app(argv=['stack', 'restart', '--memcache'])
|
|
||||||
self.app.setup()
|
|
||||||
self.app.run()
|
|
||||||
self.app.close()
|
|
||||||
|
|
||||||
def test_wo_cli_stack_services_restart_all(self):
|
def test_wo_cli_stack_services_restart_all(self):
|
||||||
self.app = get_test_app(argv=['stack', 'restart'])
|
self.app = get_test_app(argv=['stack', 'restart'])
|
||||||
self.app.setup()
|
self.app.setup()
|
||||||
|
|||||||
@@ -27,12 +27,6 @@ class CliTestCaseClean(test.WOTestCase):
|
|||||||
self.app.run()
|
self.app.run()
|
||||||
self.app.close()
|
self.app.close()
|
||||||
|
|
||||||
def test_wo_cli_clean_memcache(self):
|
|
||||||
self.app = get_test_app(argv=['clean', '--memcache'])
|
|
||||||
self.app.setup()
|
|
||||||
self.app.run()
|
|
||||||
self.app.close()
|
|
||||||
|
|
||||||
def test_wo_cli_clean_opcache(self):
|
def test_wo_cli_clean_opcache(self):
|
||||||
self.app = get_test_app(argv=['clean', '--opcache'])
|
self.app = get_test_app(argv=['clean', '--opcache'])
|
||||||
self.app.setup()
|
self.app.setup()
|
||||||
|
|||||||
@@ -820,7 +820,7 @@ class WOSiteUpdateController(CementBaseController):
|
|||||||
dict(help="configure letsencrypt ssl for the site",
|
dict(help="configure letsencrypt ssl for the site",
|
||||||
action='store' or 'store_const',
|
action='store' or 'store_const',
|
||||||
choices=('on', 'off', 'renew', 'subdomain',
|
choices=('on', 'off', 'renew', 'subdomain',
|
||||||
'wildcard', 'clean'),
|
'wildcard', 'clean', 'purge'),
|
||||||
const='on', nargs='?')),
|
const='on', nargs='?')),
|
||||||
(['--dns'],
|
(['--dns'],
|
||||||
dict(help="choose dns provider api for letsencrypt",
|
dict(help="choose dns provider api for letsencrypt",
|
||||||
@@ -1186,6 +1186,9 @@ class WOSiteUpdateController(CementBaseController):
|
|||||||
elif pargs.letsencrypt == 'clean':
|
elif pargs.letsencrypt == 'clean':
|
||||||
data['letsencrypt'] = False
|
data['letsencrypt'] = False
|
||||||
letsencrypt = False
|
letsencrypt = False
|
||||||
|
elif pargs.letsencrypt == 'purge':
|
||||||
|
data['letsencrypt'] = False
|
||||||
|
letsencrypt = False
|
||||||
|
|
||||||
if letsencrypt is check_ssl:
|
if letsencrypt is check_ssl:
|
||||||
if letsencrypt is False:
|
if letsencrypt is False:
|
||||||
@@ -1214,13 +1217,16 @@ class WOSiteUpdateController(CementBaseController):
|
|||||||
|
|
||||||
if pargs.letsencrypt == "on":
|
if pargs.letsencrypt == "on":
|
||||||
if oldsitetype in ['wpsubdomain']:
|
if oldsitetype in ['wpsubdomain']:
|
||||||
data['letsencrypt'] = True
|
if pargs.dns:
|
||||||
letsencrypt = True
|
data['letsencrypt'] = True
|
||||||
pargs.letsencrypt == 'wildcard'
|
letsencrypt = True
|
||||||
|
pargs.letsencrypt == 'wildcard'
|
||||||
|
else:
|
||||||
|
data['letsencrypt'] = True
|
||||||
|
letsencrypt = True
|
||||||
else:
|
else:
|
||||||
data['letsencrypt'] = True
|
data['letsencrypt'] = True
|
||||||
letsencrypt = True
|
letsencrypt = True
|
||||||
wildcard = False
|
|
||||||
|
|
||||||
if pargs.wpredis and data['currcachetype'] != 'wpredis':
|
if pargs.wpredis and data['currcachetype'] != 'wpredis':
|
||||||
data['wpredis'] = True
|
data['wpredis'] = True
|
||||||
@@ -1345,16 +1351,9 @@ class WOSiteUpdateController(CementBaseController):
|
|||||||
'{0}/conf/nginx/'
|
'{0}/conf/nginx/'
|
||||||
'hsts.conf.disabled'
|
'hsts.conf.disabled'
|
||||||
.format(wo_site_webroot))
|
.format(wo_site_webroot))
|
||||||
if self.app.pargs.letsencrypt == "clean":
|
elif (self.app.pargs.letsencrypt == "clean" or
|
||||||
if os.path.isfile("{0}/conf/nginx/ssl.conf"
|
self.app.pargs.letsencrypt == "purge"):
|
||||||
.format(wo_site_webroot)):
|
removeAcmeConf(self, wo_domain)
|
||||||
WOFileUtils.remove(self, "{0}/conf/nginx/ssl.conf"
|
|
||||||
.format(wo_site_webroot))
|
|
||||||
WOFileUtils.remove(self, "/etc/letsencrypt/live"
|
|
||||||
"/{0}".format(wo_domain))
|
|
||||||
WOFileUtils.remove(self, "/etc/nginx/conf.d/"
|
|
||||||
"force-ssl-{0}.conf"
|
|
||||||
.format(wo_domain_name))
|
|
||||||
if not WOService.reload_service(self, 'nginx'):
|
if not WOService.reload_service(self, 'nginx'):
|
||||||
Log.error(self, "service nginx reload failed. "
|
Log.error(self, "service nginx reload failed. "
|
||||||
"check issues with `nginx -t` command")
|
"check issues with `nginx -t` command")
|
||||||
|
|||||||
@@ -1307,11 +1307,19 @@ def removeAcmeConf(self, domain):
|
|||||||
"-d {0} --ecc"
|
"-d {0} --ecc"
|
||||||
.format(domain))
|
.format(domain))
|
||||||
except CommandExecutionError as e:
|
except CommandExecutionError as e:
|
||||||
Log.error(self, "Cert removal failed")
|
Log.error(self, "Cert removal failed")
|
||||||
WOFileUtils.remove(self, '/etc/letsencrypt/renewal/{0}_ecc'
|
WOFileUtils.rm(self, '/etc/letsencrypt/renewal/{0}_ecc'
|
||||||
.format(domain))
|
.format(domain))
|
||||||
WOFileUtils.remove(self, '/etc/letsencrypt/live/{0}'
|
WOFileUtils.rm(self, '/etc/letsencrypt/live/{0}'
|
||||||
.format(domain))
|
.format(domain))
|
||||||
|
WOFileUtils.rm(self, '/var/www/{0}/conf/nginx/ssl.conf'.format(domain))
|
||||||
|
WOFileUtils.rm(self, '/var/www/{0}/conf/nginx/ssl.conf.disabled'
|
||||||
|
.format(domain))
|
||||||
|
WOFileUtils.rm(
|
||||||
|
self, '/etc/nginx/conf.d/force-ssl-{0}.conf'.format(domain))
|
||||||
|
WOFileUtils.rm(
|
||||||
|
self, '/etc/nginx/conf.d/force-ssl-{0}.conf.disabled'.format(domain))
|
||||||
|
|
||||||
WOGit.add(self, ["/etc/letsencrypt"],
|
WOGit.add(self, ["/etc/letsencrypt"],
|
||||||
msg="Deleted {0} "
|
msg="Deleted {0} "
|
||||||
.format(domain))
|
.format(domain))
|
||||||
|
|||||||
@@ -158,7 +158,7 @@ class WOStackUpgradeController(CementBaseController):
|
|||||||
"/phpMyAdmin/{0}/"
|
"/phpMyAdmin/{0}/"
|
||||||
"phpMyAdmin-{0}-"
|
"phpMyAdmin-{0}-"
|
||||||
"all-languages"
|
"all-languages"
|
||||||
".zip".format(WOVariables.wo_phpmyadmin),
|
".tar.gz".format(WOVariables.wo_phpmyadmin),
|
||||||
"/var/lib/wo/tmp/pma.tar.gz",
|
"/var/lib/wo/tmp/pma.tar.gz",
|
||||||
"PHPMyAdmin"]]
|
"PHPMyAdmin"]]
|
||||||
else:
|
else:
|
||||||
@@ -229,17 +229,17 @@ class WOStackUpgradeController(CementBaseController):
|
|||||||
|
|
||||||
if self.app.pargs.phpmyadmin:
|
if self.app.pargs.phpmyadmin:
|
||||||
Log.info(self, "Upgrading phpMyAdmin, please wait...")
|
Log.info(self, "Upgrading phpMyAdmin, please wait...")
|
||||||
WOExtract.extract(
|
WOExtract.extract(self, '/var/lib/wo/tmp/pma.tar.gz',
|
||||||
self, '/var/lib/wo/tmp/pma.tar.gz', '/var/lib/wo/tmp/')
|
'/var/lib/wo/tmp/')
|
||||||
shutil.copyfile('{0}22222/htdocs/db/pma'
|
shutil.copyfile(('{0}22222/htdocs/db/pma'
|
||||||
'/config.inc.php'
|
'/config.inc.php'
|
||||||
.format(WOVariables.wo_webroot),
|
.format(WOVariables.wo_webroot)),
|
||||||
'/var/lib/wo/tmp/phpMyAdmin-{0}'
|
('/var/lib/wo/tmp/phpMyAdmin-{0}'
|
||||||
'-all-languages/config.inc.php'
|
'-all-languages/config.inc.php'
|
||||||
.format(WOVariables.wo_phpmyadmin)
|
.format(WOVariables.wo_phpmyadmin))
|
||||||
)
|
)
|
||||||
WOFileUtils.remove(self, '{0}22222/htdocs/db/pma'
|
WOFileUtils.rm(self, '{0}22222/htdocs/db/pma'
|
||||||
.format(WOVariables.wo_webroot))
|
.format(WOVariables.wo_webroot))
|
||||||
shutil.move('/var/lib/wo/tmp/phpMyAdmin-{0}'
|
shutil.move('/var/lib/wo/tmp/phpMyAdmin-{0}'
|
||||||
'-all-languages/'
|
'-all-languages/'
|
||||||
.format(WOVariables.wo_phpmyadmin),
|
.format(WOVariables.wo_phpmyadmin),
|
||||||
|
|||||||
@@ -83,11 +83,14 @@ class WOAptGet():
|
|||||||
try:
|
try:
|
||||||
with open('/var/log/wo/wordops.log', 'a') as f:
|
with open('/var/log/wo/wordops.log', 'a') as f:
|
||||||
proc = subprocess.Popen("DEBIAN_FRONTEND=noninteractive "
|
proc = subprocess.Popen("DEBIAN_FRONTEND=noninteractive "
|
||||||
"apt-get dist-upgrade -o "
|
"apt-get dist-upgrade "
|
||||||
"Dpkg::Options::=\"--force-confdef\""
|
"--option=Dpkg::options::="
|
||||||
" -o "
|
"--force-confdef "
|
||||||
"Dpkg::Options::=\"--force-confold\""
|
"--option=Dpkg::options::="
|
||||||
" -y ",
|
"--force-unsafe-io "
|
||||||
|
"--option=Dpkg::options::="
|
||||||
|
"--force-confold "
|
||||||
|
"--assume-yes --quiet ",
|
||||||
shell=True, stdin=None,
|
shell=True, stdin=None,
|
||||||
stdout=f, stderr=f,
|
stdout=f, stderr=f,
|
||||||
executable="/bin/bash")
|
executable="/bin/bash")
|
||||||
@@ -110,11 +113,13 @@ class WOAptGet():
|
|||||||
try:
|
try:
|
||||||
with open('/var/log/wo/wordops.log', 'a') as f:
|
with open('/var/log/wo/wordops.log', 'a') as f:
|
||||||
proc = subprocess.Popen("DEBIAN_FRONTEND=noninteractive "
|
proc = subprocess.Popen("DEBIAN_FRONTEND=noninteractive "
|
||||||
"apt-get install -o "
|
"apt-get install "
|
||||||
"Dpkg::Options::=\"--force-confdef\""
|
"--option=Dpkg::options::="
|
||||||
" -o "
|
"--force-confdef "
|
||||||
"Dpkg::Options::=\"--force-confold\""
|
"--option=Dpkg::options::="
|
||||||
" -y --allow-unauthenticated {0}"
|
"--force-confold "
|
||||||
|
"--assume-yes "
|
||||||
|
"--allow-unauthenticated {0}"
|
||||||
.format(all_packages), shell=True,
|
.format(all_packages), shell=True,
|
||||||
stdin=None, stdout=f, stderr=f,
|
stdin=None, stdout=f, stderr=f,
|
||||||
executable="/bin/bash")
|
executable="/bin/bash")
|
||||||
@@ -141,12 +146,14 @@ class WOAptGet():
|
|||||||
try:
|
try:
|
||||||
with open('/var/log/wo/wordops.log', 'a') as f:
|
with open('/var/log/wo/wordops.log', 'a') as f:
|
||||||
if purge:
|
if purge:
|
||||||
proc = subprocess.Popen('apt-get purge -y {0}'
|
proc = subprocess.Popen('apt-get autoremove --purge '
|
||||||
|
'--assume-yes {0}'
|
||||||
.format(all_packages), shell=True,
|
.format(all_packages), shell=True,
|
||||||
stdin=None, stdout=f, stderr=f,
|
stdin=None, stdout=f, stderr=f,
|
||||||
executable="/bin/bash")
|
executable="/bin/bash")
|
||||||
else:
|
else:
|
||||||
proc = subprocess.Popen('apt-get remove -y {0}'
|
proc = subprocess.Popen('apt-get autoremove '
|
||||||
|
'--assume-yes {0}'
|
||||||
.format(all_packages), shell=True,
|
.format(all_packages), shell=True,
|
||||||
stdin=None, stdout=f, stderr=f,
|
stdin=None, stdout=f, stderr=f,
|
||||||
executable="/bin/bash")
|
executable="/bin/bash")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class WOVariables():
|
|||||||
"""Intialization of core variables"""
|
"""Intialization of core variables"""
|
||||||
|
|
||||||
# WordOps version
|
# WordOps version
|
||||||
wo_version = "3.9.6.1"
|
wo_version = "3.9.6.2"
|
||||||
# WordOps packages versions
|
# WordOps packages versions
|
||||||
wo_wp_cli = "2.2.0"
|
wo_wp_cli = "2.2.0"
|
||||||
wo_adminer = "4.7.1"
|
wo_adminer = "4.7.1"
|
||||||
|
|||||||
Reference in New Issue
Block a user