parent
c7ca158edd
commit
8c1c5cf054
@ -1,25 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
domain=${1//\./\\.}
|
||||
#replace . with \.
|
||||
#so example.com becomes example\.com, this is because in regex . is used for matching any character
|
||||
#so the regex would match on example.com and example7com, because . matches on "7"
|
||||
#httpd_conf=`cat httpd_config.conf`
|
||||
check=$(perl -0777 -ne 'print $1 if /(^ member '$domain' \{.*[^}]*})/m' httpd_config.conf)
|
||||
#check=$(perl -0777 -le "print $1 if /(^ member $domain \{.*[^}]*})/m" httpd_config.conf)
|
||||
if [ ! -z "$check" ]; then
|
||||
echo "# It appears the domain already exist, therefor we won\'t add it. Check the httpd_config.conf if you believe this is a mistake"
|
||||
exit 0
|
||||
else
|
||||
echo "# Domain has been added"
|
||||
fi
|
||||
|
||||
perl -0777 -p -i -e 's/(vhTemplate centralConfigLog \{[^}]+)\}*(^.*listeners.*$)/\1$2
|
||||
member '$1' {
|
||||
vhDomain '$1'
|
||||
}/gmi' httpd_config.conf
|
||||
|
||||
#perl -0777 -p -i.bak -e "s/(vhTemplate centralConfigLog \{[^}]+)\}*(^$)/\1
|
||||
# member $1 {
|
||||
# vhDomain $1
|
||||
# }/gmi" httpd_config.conf
|
@ -1,5 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
perl -0777 -p -i.bak -e "s/(vhTemplate centralConfigLog \{[^}]+)\}*(^$)/\1
|
||||
member $1 {
|
||||
vhDomain $1
|
||||
}/gmi" httpd_config.conf
|
@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env bash
|
||||
CK_RESULT=''
|
||||
HTTPD_CONF='httpd_config.conf'
|
||||
|
||||
help_message(){
|
||||
echo 'Command [-add|-del] [domain_name]'
|
||||
echo 'Example 1: domain-ctl.sh -add example.com'
|
||||
echo 'Example 2: domain-ctl.sh -del example.com'
|
||||
}
|
||||
|
||||
dot_escape(){
|
||||
ESCAPE=$(echo ${1} | sed 's/\./\\./g')
|
||||
}
|
||||
|
||||
check_duplicate(){
|
||||
CK_RESULT=$(grep -E "${1}" ${2})
|
||||
}
|
||||
|
||||
fst_match_line(){
|
||||
FIRST_LINE_NUM=$(grep -n -m 1 ${1} ${2} | awk -F ':' '{print $1}')
|
||||
}
|
||||
fst_match_after(){
|
||||
FIRST_NUM_AFTER=$(tail -n +${1} ${2} | grep -n -m 1 ${3} | awk -F ':' '{print $1}')
|
||||
}
|
||||
lst_match_line(){
|
||||
fst_match_after ${1} ${2} '}'
|
||||
LAST_LINE_NUM=$((${FIRST_LINE_NUM}+${FIRST_NUM_AFTER}-1))
|
||||
}
|
||||
|
||||
add_domain(){
|
||||
dot_escape ${1}
|
||||
DOMAIN=${ESCAPE}
|
||||
check_duplicate "member.*${DOMAIN}" ${HTTPD_CONF}
|
||||
if [ "${CK_RESULT}" != '' ]; then
|
||||
echo "# It appears the domain already exist! Check the ${HTTPD_CONF} if you believe this is a mistake!"
|
||||
exit 1
|
||||
else
|
||||
perl -0777 -p -i -e 's/(vhTemplate centralConfigLog \{[^}]+)\}*(^.*listeners.*$)/\1$2
|
||||
member '${1}' {
|
||||
vhDomain '${1}'
|
||||
}/gmi' ${HTTPD_CONF}
|
||||
fi
|
||||
}
|
||||
|
||||
del_domain(){
|
||||
dot_escape ${1}
|
||||
DOMAIN=${ESCAPE}
|
||||
check_duplicate "member.*${DOMAIN}" ${HTTPD_CONF}
|
||||
if [ "${CK_RESULT}" = '' ]; then
|
||||
echo "# We couldn't find the domain you wanted to remove! Check the ${HTTPD_CONF} if you believe this is a mistake!"
|
||||
exit 1
|
||||
else
|
||||
fst_match_line ${1} ${HTTPD_CONF}
|
||||
lst_match_line ${FIRST_LINE_NUM} ${HTTPD_CONF}
|
||||
sed -i "${FIRST_LINE_NUM},${LAST_LINE_NUM}d" ${HTTPD_CONF}
|
||||
fi
|
||||
}
|
||||
|
||||
while [ ! -z "${1}" ]; do
|
||||
case ${1} in
|
||||
-[hH] | -help | --help)
|
||||
help_message
|
||||
;;
|
||||
-add | -a | -A) shift
|
||||
add_domain ${1}
|
||||
;;
|
||||
-del | -d | -D | -delete) shift
|
||||
del_domain ${1}
|
||||
;;
|
||||
*)
|
||||
help_message
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
@ -1,42 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "Missing arguments, exit"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cd /var/www/vhosts/$1/html
|
||||
if [ ! -f "./wp-config.php" ]; then
|
||||
# su -s /bin/bash www-data -c
|
||||
COUNTER=0
|
||||
until [ "$(curl -v mysql:3306 2>&1 | grep native)" ];
|
||||
do
|
||||
echo "Counter: ${COUNTER}"
|
||||
COUNTER=$((COUNTER+1))
|
||||
if [ ${COUNTER} = 10 ]; then
|
||||
echo '--- MySQL is starting, please wait... ---'
|
||||
elif [ ${COUNTER} = 100 ]; then
|
||||
echo '--- MySQL is timeout, exit! ---'
|
||||
exit 1
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
wp core download \
|
||||
--allow-root \
|
||||
--force
|
||||
first_www_uid=$(stat -c "%u" /var/www/vhosts/$1)
|
||||
first_www_gid=$(stat -c "%g" /var/www/vhosts/$1)
|
||||
chown $first_www_uid:$first_www_gid /var/www/vhosts/$1 -R
|
||||
|
||||
fi
|
||||
|
||||
|
||||
www_uid=$(stat -c "%u" /var/www/vhosts/$1)
|
||||
if [ ${www_uid} -eq 0 ]; then
|
||||
#echo "./sites/localhost is owned by root, auto changing ownership of ./sites/localhost to uid 1000"
|
||||
chown 1000:1000 /var/www/vhosts/localhost -R
|
||||
fi
|
||||
|
||||
#echo "WordPress installation finished."
|
||||
#exec "$@"
|
||||
|
@ -0,0 +1,102 @@
|
||||
#!/bin/bash
|
||||
DEFAULT_VH_ROOT='/var/www/vhosts'
|
||||
VH_DOC_ROOT=''
|
||||
APP_NAME=''
|
||||
DOMAIN=''
|
||||
WWW_UID=''
|
||||
WWW_GID=''
|
||||
|
||||
help_message(){
|
||||
echo 'Command [-app app_name] [-domain domain_name]'
|
||||
echo 'Example: download.sh -app wordpress -d example.com'
|
||||
}
|
||||
|
||||
check_input(){
|
||||
if [ -z "${1}" ]; then
|
||||
help_message
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
get_owner(){
|
||||
WWW_UID=$(stat -c "%u" ${DEFAULT_VH_ROOT}/${1})
|
||||
WWW_GID=$(stat -c "%g" ${DEFAULT_VH_ROOT}/${1})
|
||||
if [ ${WWW_UID} -eq 0 ] || [ ${WWW_GID} -eq 0 ]; then
|
||||
echo "Found ${WWW_UID}:${WWW_GID} has root, will auto fix to 1000"
|
||||
WWW_UID=1000
|
||||
WWW_GID=1000
|
||||
fi
|
||||
}
|
||||
|
||||
set_vh_docroot(){
|
||||
if [ -d ${DEFAULT_VH_ROOT}/${1}/html ]; then
|
||||
VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${1}/html"
|
||||
else
|
||||
echo "${DEFAULT_VH_ROOT}/${1}/html does not exist, please add domain first! Abort!"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_sql_native(){
|
||||
local COUNTER=0
|
||||
local LIMIT_NUM=100
|
||||
until [ "$(curl -v mysql:3306 2>&1 | grep native)" ];
|
||||
do
|
||||
echo "Counter: ${COUNTER}/${LIMIT_NUM}"
|
||||
COUNTER=$((COUNTER+1))
|
||||
if [ ${COUNTER} = 10 ]; then
|
||||
echo '--- MySQL is starting, please wait... ---'
|
||||
elif [ ${COUNTER} = ${LIMIT_NUM} ]; then
|
||||
echo '--- MySQL is timeout, exit! ---'
|
||||
exit 1
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
}
|
||||
|
||||
app_wordpress_dl(){
|
||||
if [ ! -f "${VH_DOC_ROOT}/wp-config.php" ] && [ ! -f "${VH_DOC_ROOT}/wp-config-sample.php" ]; then
|
||||
wp core download \
|
||||
--allow-root \
|
||||
--force
|
||||
chown -R ${WWW_UID}:${WWW_GID} ${DEFAULT_VH_ROOT}/${DOMAIN}
|
||||
else
|
||||
echo 'wp-config*.php already exist, abort!'
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
main(){
|
||||
get_owner
|
||||
cd ${VH_DOC_ROOT}
|
||||
if [ "${APP_NAME}" = 'wordpress' ] || [ "${APP_NAME}" = 'wp' ]; then
|
||||
check_sql_native
|
||||
app_wordpress_dl
|
||||
exit 0
|
||||
else
|
||||
echo "APP: ${APP_NAME} not support, exit!"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
while [ ! -z "${1}" ]; do
|
||||
case ${1} in
|
||||
-[hH] | -help | --help)
|
||||
help_message
|
||||
;;
|
||||
-app | -a | -A) shift
|
||||
check_input "${1}"
|
||||
APP_NAME="${1}"
|
||||
;;
|
||||
-d | -D | -domain) shift
|
||||
check_input "${1}"
|
||||
DOMAIN="${1}"
|
||||
set_vh_docroot ${DOMAIN}
|
||||
;;
|
||||
*)
|
||||
help_message
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
main
|
@ -1,18 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
domain=${1//\./\\.}
|
||||
#replace . with \.
|
||||
#so example.com becomes example\.com, this is because in regex . is used for matching any character
|
||||
#so the regex would match on example.com and example7com, because . matches on "7"
|
||||
|
||||
check=$(perl -0777 -ne 'print $1 if /(^ member '$domain' \{.*[^}]*})/m' httpd_config.conf)
|
||||
if [ ! -z "$check" ]; then
|
||||
echo "# Domain has been removed"
|
||||
else
|
||||
echo "# We couldn't find the domain you wanted to remove, is it already removed?. Check the httpd_config.conf if you believe this is a mistake"
|
||||
exit 0;
|
||||
fi
|
||||
|
||||
perl -0777 -p -i.bak -e "s/(^ member $domain \{.*[^}]*})/#thislinewillbedeletedj98311/gmi" httpd_config.conf
|
||||
perl -i -ne '/#thislinewillbedeletedj98311/ or print' httpd_config.conf
|
||||
#aboves replaces the matched group with a string and random numbers, then second command searches for that string and deletes the line
|
||||
#if anyone can figure out how to do above in oneline, feel free to let us know
|
@ -1,4 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
docker-compose exec litespeed su -c "downloadWPCtl.sh $1"
|
||||
|
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
APP_NAME=''
|
||||
DOMAIN=''
|
||||
|
||||
help_message(){
|
||||
echo 'Command [-app app_name] [-domain domain_name]'
|
||||
echo 'Example: download.sh -app wordpress -d example.com'
|
||||
}
|
||||
|
||||
check_input(){
|
||||
if [ -z "${1}" ]; then
|
||||
help_message
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
app_download(){
|
||||
docker-compose exec litespeed su -c "downloadctl.sh -app ${1} -domain ${2}"
|
||||
exit 0
|
||||
}
|
||||
|
||||
while [ ! -z "${1}" ]; do
|
||||
case ${1} in
|
||||
-[hH] | -help | --help)
|
||||
help_message
|
||||
;;
|
||||
-app | -a | -A) shift
|
||||
check_input "${1}"
|
||||
APP_NAME="${1}"
|
||||
;;
|
||||
-d | -D | -domain) shift
|
||||
check_input "${1}"
|
||||
DOMAIN="${1}"
|
||||
;;
|
||||
*)
|
||||
help_message
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
app_download ${APP_NAME} ${DOMAIN}
|
Loading…
Reference in new issue