445 lines
15 KiB
Bash
445 lines
15 KiB
Bash
#!/usr/bin/env bash
|
|
#
|
|
# WordOps travis testing script
|
|
#
|
|
#
|
|
# Colors
|
|
CSI='\033['
|
|
CRED="${CSI}1;31m"
|
|
CGREEN="${CSI}1;32m"
|
|
CEND="${CSI}0m"
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
unset LANG
|
|
export LANG='en_US.UTF-8'
|
|
export LC_ALL='C.UTF-8'
|
|
wo_distro=$(lsb_release -sc)
|
|
|
|
if [ -z "$1" ]; then
|
|
{
|
|
apt-get -qq purge mysql* graphviz* redis* php73-* php* php-*
|
|
apt-get install -qq git python3-setuptools python3-dev python3-apt ccze tree
|
|
sudo apt-get -qq autoremove --purge
|
|
} >/dev/null 2>&1
|
|
fi
|
|
|
|
exit_script() {
|
|
curl --progress-bar --upload-file /var/log/wo/wordops.log https://transfer.vtbox.net/"$(basename wordops.txt)" && echo ""
|
|
exit 1
|
|
}
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' stack install '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
|
|
stack_list='nginx php php74 php80 php81 php82 php83 php84 mysql redis fail2ban clamav proftpd netdata phpmyadmin composer dashboard extplorer redis phpredisadmin mysqltuner utils ufw cheat nanorc'
|
|
|
|
for stack in $stack_list; do
|
|
echo -ne " Installing $stack [..]\r"
|
|
if {
|
|
wo stack install --${stack}
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Installing $stack [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Installing $stack [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' Simple site create '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
site_types='html php php74 php80 php81 php82 php83 php84 mysql wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir ngxblocker'
|
|
for site in $site_types; do
|
|
echo -ne " Creating $site [..]\r"
|
|
if {
|
|
wo site create ${site}.net --${site}
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Creating $site [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Creating $site [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
nginx -t
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
echo
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' Proxy site create '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
if {
|
|
wo site create proxy.net --proxy=127.0.0.1:3000
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Creating proxy.net [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Creating proxy.net [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
fi
|
|
echo
|
|
echo
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' Alias site create '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
if {
|
|
wo site create alias.net --alias anothersite.net
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Creating alias.net [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Creating alias.net [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
fi
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
echo
|
|
wo site info php.net
|
|
echo
|
|
echo
|
|
wo site info php74.net
|
|
echo
|
|
echo
|
|
wo site list
|
|
echo
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site update --php74 '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
other_site_types='mysql php81 php82 php83 php84 wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir'
|
|
for site in $other_site_types; do
|
|
echo -ne " Updating site to $site php74 [..]\r"
|
|
if {
|
|
wo site update ${site}.net --php74
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Updating site to $site php74 [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Updating site to $site php74 [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
wo site info wp.net
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
wo site info wp.net
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
wo site info wp.net
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site update --php80 '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
other_site_types='mysql php81 php82 php84 wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir'
|
|
for site in $other_site_types; do
|
|
echo -ne " Updating site to $site php80 [..]\r"
|
|
if {
|
|
wo site update ${site}.net --php80
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Updating site to $site php80 [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Updating site to $site php80 [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
wo site info wp.net
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site update --php81 '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
other_site_types='mysql php82 wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir'
|
|
for site in $other_site_types; do
|
|
echo -ne " Updating site to $site php81 [..]\r"
|
|
if {
|
|
wo site update ${site}.net --php81
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Updating site to $site php81 [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Updating site to $site php81 [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site update --php82 '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
other_site_types='mysql wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir'
|
|
for site in $other_site_types; do
|
|
echo -ne " Updating site to $site php82 [..]\r"
|
|
if {
|
|
wo site update ${site}.net --php82
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Updating site to $site php82 [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Updating site to $site php82 [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site update --php84 '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
other_site_types='mysql wp wpfc wpsc wpredis wpce wprocket wpsubdomain wpsubdir'
|
|
for site in $other_site_types; do
|
|
echo -ne " Updating site to $site php84 [..]\r"
|
|
if {
|
|
wo site update ${site}.net --php84
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Updating site to $site php82 [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Updating site to $site php82 [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo
|
|
wo site info wp.net
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site update WP '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
|
|
wp_site_types='wpfc wpsc wpce wprocket wpredis'
|
|
wo site create wp.io --wp >>/dev/null 2>&1
|
|
for site in $wp_site_types; do
|
|
echo -ne " Updating WP to $site [..]\r"
|
|
if {
|
|
wo site update wp.io --${site}
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Updating WP to $site [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Updating WP to $site [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site create wpsubdir '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
|
|
wp_site_types='wpfc wpsc wpce wprocket wpredis'
|
|
for site in $wp_site_types; do
|
|
echo -ne " Creating wpsubdir $site [..]\r"
|
|
if {
|
|
wo site create wpsubdir"$site".io --wpsubdir --${site}
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Creating wpsubdir $site [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Creating wpsubdir $site [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site create wpsubdomain '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
|
|
wp_site_types='wpfc wpsc wpce wprocket wpredis'
|
|
for site in $wp_site_types; do
|
|
echo -ne " Creating wpsubdomain $site [..]\r"
|
|
if {
|
|
wo site create wpsubdomain"$site".io --wpsubdomain --${site}
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Creating wpsubdomain $site [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Creating wpsubdomain $site [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
if [ -z "$1" ]; then
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo stack upgrade '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
stack_upgrade='nginx php php74 php80 php81 php82 php84 mysql redis netdata dashboard phpmyadmin adminer fail2ban composer ngxblocker mysqltuner'
|
|
for stack in $stack_upgrade; do
|
|
echo -ne " Upgrading $stack [..]\r"
|
|
if {
|
|
wo stack upgrade --${stack} --force
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Upgrading $stack [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Upgrading $stack [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
fi
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo stack migrate --mariadb '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
|
|
echo -ne " Upgrading mariadb [..]\r"
|
|
if {
|
|
wo stack migrate --mariadb --force --ci
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " Upgrading mariadb [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " Upgrading mariadb [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo clean '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
stack_clean='fastcgi redis opcache all'
|
|
for stack in $stack_clean; do
|
|
echo -ne " cleaning $stack cache [..]\r"
|
|
if {
|
|
wo clean --${stack}
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " cleaning $stack cache [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " cleaning $stack cache [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo secure '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -ne " wo secure --auth [..]\r"
|
|
if {
|
|
wo secure --auth wordops mypassword
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " wo secure --auth [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " wo secure --auth [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
|
|
echo -ne " wo secure --port [..]\r"
|
|
if {
|
|
wo secure --port 22223
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " wo secure --port [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " wo secure --port [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' WP-CLI info '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
wp --allow-root --info
|
|
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo site info '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
|
|
wo site info wpfc.net
|
|
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo info '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
wo info
|
|
|
|
echo
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' display repositories '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
ls -alh /etc/apt/sources.list.d/
|
|
cat /etc/apt/sources.list.d/mariadb.list
|
|
cat /etc/apt/sources.list.d/redis.list
|
|
|
|
# echo -e "${CGREEN}#############################################${CEND}"
|
|
# echo -e ' wo site delete '
|
|
# echo -e "${CGREEN}#############################################${CEND}"
|
|
# sites=$(wo site list 2>&1)
|
|
# for site in $sites; do
|
|
# echo -ne " deleting $site [..]\r"
|
|
# if {
|
|
# wo site delete "$site" --force
|
|
# } >>/var/log/wo/test.log; then
|
|
# echo -ne " deleting $site [${CGREEN}OK${CEND}]\\r"
|
|
# echo -ne '\n'
|
|
# else
|
|
# echo -e " deleting $site [${CRED}FAIL${CEND}]"
|
|
# echo -ne '\n'
|
|
# exit_script
|
|
|
|
# fi
|
|
# done
|
|
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
echo -e ' wo stack purge '
|
|
echo -e "${CGREEN}#############################################${CEND}"
|
|
stack_purge='nginx php php74 php80 php81 php82 php83 php84 mysql redis fail2ban clamav proftpd netdata phpmyadmin composer dashboard extplorer adminer redis ufw ngxblocker cheat nanorc'
|
|
for stack in $stack_purge; do
|
|
echo -ne " purging $stack [..]\r"
|
|
if {
|
|
wo stack purge --${stack} --force
|
|
} >>/var/log/wo/test.log; then
|
|
echo -ne " purging $stack [${CGREEN}OK${CEND}]\\r"
|
|
echo -ne '\n'
|
|
else
|
|
echo -e " purging $stack [${CRED}FAIL${CEND}]"
|
|
echo -ne '\n'
|
|
exit_script
|
|
|
|
fi
|
|
done
|