From 2155d4c8a66a122523712e0e08671d502a1ceacb Mon Sep 17 00:00:00 2001 From: okxlin Date: Mon, 14 Aug 2023 23:55:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=A7=BB=E9=99=A4openlitespeed=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../1.7.17-lsphp74/data/bin/acme.sh | 293 ------------------ .../1.7.17-lsphp74/data/bin/appinstall.sh | 60 ---- .../1.7.17-lsphp74/data/bin/database.sh | 158 ---------- .../1.7.17-lsphp74/data/bin/demosite.sh | 102 ------ .../data/bin/dev/list-flagged-files.sh | 2 - .../data/bin/dev/no-skip-worktree-conf.sh | 2 - .../data/bin/dev/skip-worktree-conf.sh | 3 - .../1.7.17-lsphp74/data/bin/domain.sh | 61 ---- .../1.7.17-lsphp74/data/bin/webadmin.sh | 98 ------ .../1.7.17-lsphp81/data/bin/acme.sh | 293 ------------------ .../1.7.17-lsphp81/data/bin/appinstall.sh | 60 ---- .../1.7.17-lsphp81/data/bin/database.sh | 158 ---------- .../1.7.17-lsphp81/data/bin/demosite.sh | 102 ------ .../data/bin/dev/list-flagged-files.sh | 2 - .../data/bin/dev/no-skip-worktree-conf.sh | 2 - .../data/bin/dev/skip-worktree-conf.sh | 3 - .../1.7.17-lsphp81/data/bin/domain.sh | 61 ---- .../1.7.17-lsphp81/data/bin/webadmin.sh | 98 ------ apps/openlitespeed/latest/data/bin/acme.sh | 293 ------------------ .../latest/data/bin/appinstall.sh | 60 ---- .../openlitespeed/latest/data/bin/database.sh | 158 ---------- .../openlitespeed/latest/data/bin/demosite.sh | 102 ------ .../latest/data/bin/dev/list-flagged-files.sh | 2 - .../data/bin/dev/no-skip-worktree-conf.sh | 2 - .../latest/data/bin/dev/skip-worktree-conf.sh | 3 - apps/openlitespeed/latest/data/bin/domain.sh | 61 ---- .../openlitespeed/latest/data/bin/webadmin.sh | 98 ------ 27 files changed, 2337 deletions(-) delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/acme.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/appinstall.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/database.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/demosite.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/list-flagged-files.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/no-skip-worktree-conf.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/skip-worktree-conf.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/domain.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp74/data/bin/webadmin.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/acme.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/appinstall.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/database.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/demosite.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/list-flagged-files.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/no-skip-worktree-conf.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/skip-worktree-conf.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/domain.sh delete mode 100644 apps/openlitespeed/1.7.17-lsphp81/data/bin/webadmin.sh delete mode 100644 apps/openlitespeed/latest/data/bin/acme.sh delete mode 100644 apps/openlitespeed/latest/data/bin/appinstall.sh delete mode 100644 apps/openlitespeed/latest/data/bin/database.sh delete mode 100644 apps/openlitespeed/latest/data/bin/demosite.sh delete mode 100644 apps/openlitespeed/latest/data/bin/dev/list-flagged-files.sh delete mode 100644 apps/openlitespeed/latest/data/bin/dev/no-skip-worktree-conf.sh delete mode 100644 apps/openlitespeed/latest/data/bin/dev/skip-worktree-conf.sh delete mode 100644 apps/openlitespeed/latest/data/bin/domain.sh delete mode 100644 apps/openlitespeed/latest/data/bin/webadmin.sh diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/acme.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/acme.sh deleted file mode 100644 index 2804e217..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/acme.sh +++ /dev/null @@ -1,293 +0,0 @@ -#!/usr/bin/env bash -EMAIL='' -NO_EMAIL='' -DOMAIN='' -INSTALL='' -UNINSTALL='' -TYPE=0 -CONT_NAME='litespeed' -ACME_SRC='https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh' -EPACE=' ' -RENEW='' -RENEW_ALL='' -FORCE='' -REVOKE='' -REMOVE='' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - case ${1} in - "1") - echo 'You will need to install acme script at the first time.' - echo 'Please run acme.sh --install --email example@example.com' - ;; - "2") - echo -e "\033[1mOPTIONS\033[0m" - echow '-D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: acme.sh --domain example.com" - echo "${EPACE}${EPACE}will auto detect and apply for both example.com and www.example.com domains." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - echo -e "\033[1m Only for the First time\033[0m" - echow '--install --email [EMAIL_ADDR]' - echo "${EPACE}${EPACE}Will install ACME with the Email provided" - echow '-r, --renew' - echo "${EPACE}${EPACE}Renew a specific domain with -D or --domain parameter if posibile. To force renew, use -f parameter." - echow '-R, --renew-all' - echo "${EPACE}${EPACE}Renew all domains if possible. To force renew, use -f parameter." - echow '-f, -F, --force' - echo "${EPACE}${EPACE}Force renew for a specific domain or all domains." - echow '-v, --revoke' - echo "${EPACE}${EPACE}Revoke a domain." - echow '-V, --remove' - echo "${EPACE}${EPACE}Remove a domain." - exit 0 - ;; - "3") - echo 'Please run acme.sh --domain [DOMAIN_NAME] to apply certificate' - exit 0 - ;; - esac -} - -check_input(){ - if [ -z "${1}" ]; then - help_message 2 - fi -} - -domain_filter(){ - if [ -z "${1}" ]; then - help_message 3 - fi - DOMAIN="${1}" - DOMAIN="${DOMAIN#http://}" - DOMAIN="${DOMAIN#https://}" - DOMAIN="${DOMAIN#ftp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#sftp://}" - DOMAIN=${DOMAIN%%/*} -} - -email_filter(){ - CKREG="^[a-z0-9!#\$%&'*+/=?^_\`{|}~-]+(\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]([a-z0-9-]*[a-z0-9])?\$" - if [[ "${1}" =~ ${CKREG} ]] ; then - echo -e "[O] The E-mail \033[32m${1}\033[0m is valid." - else - echo -e "[X] The E-mail \e[31m${1}\e[39m is invalid" - exit 1 - fi -} - -cert_hook(){ - echo '[Start] Adding ACME hook' - docker compose exec ${CONT_NAME} su -s /bin/bash -c "certhookctl.sh" - echo '[End] Adding ACME hook' -} - -www_domain(){ - CHECK_WWW=$(echo ${1} | cut -c1-4) - if [[ ${CHECK_WWW} == www. ]] ; then - DOMAIN=$(echo ${1} | cut -c 5-) - else - DOMAIN=${1} - fi - WWW_DOMAIN="www.${DOMAIN}" -} - -domain_verify(){ - curl -Is http://${DOMAIN}/ | grep -i LiteSpeed > /dev/null 2>&1 - if [ ${?} = 0 ]; then - echo -e "[O] The domain name \033[32m${DOMAIN}\033[0m is accessible." - TYPE=1 - curl -Is http://${WWW_DOMAIN}/ | grep -i LiteSpeed > /dev/null 2>&1 - if [ ${?} = 0 ]; then - echo -e "[O] The domain name \033[32m${WWW_DOMAIN}\033[0m is accessible." - TYPE=2 - else - echo -e "[!] The domain name ${WWW_DOMAIN} is inaccessible." - fi - else - echo -e "[X] The domain name \e[31m${DOMAIN}\e[39m is inaccessible, please verify." - exit 1 - fi -} - -install_acme(){ - echo '[Start] Install ACME' - if [ "${1}" = 'true' ]; then - docker compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ - ./acme.sh --install --cert-home ~/.acme.sh/certs; \ - rm ~/acme.sh" - elif [ "${2}" != '' ]; then - email_filter "${2}" - docker compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ - ./acme.sh --install --cert-home ~/.acme.sh/certs --accountemail ${2}; \ - rm ~/acme.sh" - else - help_message 1 - exit 1 - fi - echo '[End] Install ACME' -} - -uninstall_acme(){ - echo '[Start] Uninstall ACME' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --uninstall" - echo '[End] Uninstall ACME' - exit 0 -} - -check_acme(){ - echo '[Start] Checking ACME' - docker compose exec ${CONT_NAME} su -c "test -f /root/.acme.sh/acme.sh" - if [ ${?} != 0 ]; then - install_acme "${NO_EMAIL}" "${EMAIL}" - cert_hook - help_message 3 - fi - echo '[End] Checking ACME' -} - -lsws_restart(){ - docker compose exec ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' -} - -doc_root_verify(){ - if [ "${DOC_ROOT}" = '' ]; then - DOC_PATH="/var/www/vhosts/${1}/html" - else - DOC_PATH="${DOC_ROOT}" - fi - docker compose exec ${CONT_NAME} su -c "[ -e ${DOC_PATH} ]" - if [ ${?} -eq 0 ]; then - echo -e "[O] The document root folder \033[32m${DOC_PATH}\033[0m does exist." - else - echo -e "[X] The document root folder \e[31m${DOC_PATH}\e[39m does not exist!" - exit 1 - fi -} - -install_cert(){ - echo '[Start] Apply Lets Encrypt Certificate' - if [ ${TYPE} = 1 ]; then - docker compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -w ${DOC_PATH}" - elif [ ${TYPE} = 2 ]; then - docker compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -d www.${1} -w ${DOC_PATH}" - else - echo 'unknown Type!' - exit 2 - fi - echo '[End] Apply Lets Encrypt Certificate' -} - -renew_acme(){ - echo '[Start] Renew ACME' - if [ "${FORCE}" = 'true' ]; then - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1} --force" - else - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1}" - fi - echo '[End] Renew ACME' - lsws_restart -} - -renew_all_acme(){ - echo '[Start] Renew all ACME' - if [ "${FORCE}" = 'true' ]; then - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all --force" - else - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all" - fi - echo '[End] Renew all ACME' - lsws_restart -} - -revoke(){ - echo '[Start] Revoke a domain' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --revoke --domain ${1}" - echo '[End] Revoke a domain' - lsws_restart -} - -remove(){ - echo '[Start] Remove a domain' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --remove --domain ${1}" - echo '[End] Remove a domain' - lsws_restart -} - -main(){ - if [ "${RENEW_ALL}" = 'true' ]; then - renew_all_acme - exit 0 - elif [ "${RENEW}" = 'true' ]; then - renew_acme ${DOMAIN} - exit 0 - elif [ "${REVOKE}" = 'true' ]; then - revoke ${DOMAIN} - exit 0 - elif [ "${REMOVE}" = 'true' ]; then - remove ${DOMAIN} - exit 0 - fi - - check_acme - domain_filter ${DOMAIN} - www_domain ${DOMAIN} - domain_verify - doc_root_verify ${DOMAIN} - install_cert ${DOMAIN} - lsws_restart -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message 2 - ;; - -[dD] | -domain | --domain) shift - check_input "${1}" - DOMAIN="${1}" - ;; - -[iI] | --install ) - INSTALL=true - ;; - -[uU] | --uninstall ) - UNINSTALL=true - uninstall_acme - ;; - -[fF] | --force ) - FORCE=true - ;; - -[r] | --renew ) - RENEW=true - ;; - -[R] | --renew-all ) - RENEW_ALL=true - ;; - -[v] | --revoke ) - REVOKE=true - ;; - -[V] | --remove ) - REMOVE=true - ;; - -[eE] | --email ) shift - check_input "${1}" - EMAIL="${1}" - ;; - *) - help_message 2 - ;; - esac - shift -done - -main \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/appinstall.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/appinstall.sh deleted file mode 100644 index ba67d52d..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/appinstall.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash -APP_NAME='' -DOMAIN='' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '-A, --app [app_name] -D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: appinstall.sh -A wordpress -D example.com" - echo "${EPACE}${EPACE}Will install WordPress CMS under the example.com domain" - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -app_download(){ - docker compose exec litespeed su -c "appinstallctl.sh --app ${1} --domain ${2}" - bash bin/webadmin.sh -r - exit 0 -} - -main(){ - app_download ${APP_NAME} ${DOMAIN} -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[aA] | -app | --app) shift - check_input "${1}" - APP_NAME="${1}" - ;; - -[dD] | -domain | --domain) shift - check_input "${1}" - DOMAIN="${1}" - ;; - *) - help_message - ;; - esac - shift -done - -main \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/database.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/database.sh deleted file mode 100644 index ec1462d4..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/database.sh +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/env bash -source .env - -DOMAIN='' -SQL_DB='' -SQL_USER='' -SQL_PASS='' -ANY="'%'" -SET_OK=0 -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '-D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: database.sh -D example.com" - echo "${EPACE}${EPACE}Will auto generate Database/username/password for the domain" - echow '-D, --domain [DOMAIN_NAME] -U, --user [xxx] -P, --password [xxx] -DB, --database [xxx]' - echo "${EPACE}${EPACE}Example: database.sh -D example.com -U USERNAME -P PASSWORD -DB DATABASENAME" - echo "${EPACE}${EPACE}Will create Database/username/password by given" - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -specify_name(){ - check_input ${SQL_USER} - check_input ${SQL_PASS} - check_input ${SQL_DB} -} - -auto_name(){ - SQL_DB="${TRANSNAME}" - SQL_USER="${TRANSNAME}" - SQL_PASS="'${RANDOM_PASS}'" -} - -gen_pass(){ - RANDOM_PASS="$(openssl rand -base64 12)" -} - -trans_name(){ - TRANSNAME=$(echo ${1} | tr -d '.&&-') -} - -display_credential(){ - if [ ${SET_OK} = 0 ]; then - echo "Database: ${SQL_DB}" - echo "Username: ${SQL_USER}" - echo "Password: $(echo ${SQL_PASS} | tr -d "'")" - fi -} - -store_credential(){ - if [ -d "./sites/${1}" ]; then - if [ -f ./sites/${1}/.db_pass ]; then - mv ./sites/${1}/.db_pass ./sites/${1}/.db_pass.bk - fi - cat > "./sites/${1}/.db_pass" << EOT -"Database":"${SQL_DB}" -"Username":"${SQL_USER}" -"Password":"$(echo ${SQL_PASS} | tr -d "'")" -EOT - else - echo "./sites/${1} not found, abort credential store!" - fi -} - -check_db_access(){ - docker compose exec -T mysql su -c "mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e 'status'" >/dev/null 2>&1 - if [ ${?} != 0 ]; then - echo '[X] DB access failed, please check!' - exit 1 - fi -} - -check_db_exist(){ - docker compose exec -T mysql su -c "test -e /var/lib/mysql/${1}" - if [ ${?} = 0 ]; then - echo "Database ${1} already exist, skip DB creation!" - exit 0 - fi -} - -db_setup(){ - docker compose exec -T mysql su -c 'mysql -uroot -p${MYSQL_ROOT_PASSWORD} \ - -e "CREATE DATABASE '${SQL_DB}';" \ - -e "GRANT ALL PRIVILEGES ON '${SQL_DB}'.* TO '${SQL_USER}'@'${ANY}' IDENTIFIED BY '${SQL_PASS}';" \ - -e "FLUSH PRIVILEGES;"' - SET_OK=${?} -} - -auto_setup_main(){ - check_input ${DOMAIN} - gen_pass - trans_name ${DOMAIN} - auto_name - check_db_exist ${SQL_DB} - check_db_access - db_setup - display_credential - store_credential ${DOMAIN} -} - -specify_setup_main(){ - specify_name - check_db_exist ${SQL_DB} - check_db_access - db_setup - display_credential - store_credential ${DOMAIN} -} - -main(){ - if [ "${SQL_USER}" != '' ] && [ "${SQL_PASS}" != '' ] && [ "${SQL_DB}" != '' ]; then - specify_setup_main - else - auto_setup_main - fi -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[dD] | -domain| --domain) shift - DOMAIN="${1}" - ;; - -[uU] | -user | --user) shift - SQL_USER="${1}" - ;; - -[pP] | -password| --password) shift - SQL_PASS="'${1}'" - ;; - -db | -DB | -database| --database) shift - SQL_DB="${1}" - ;; - *) - help_message - ;; - esac - shift -done -main diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/demosite.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/demosite.sh deleted file mode 100644 index 91474647..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/demosite.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash -source .env -APP_NAME='wordpress' -CONT_NAME='litespeed' -DOC_FD='' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - case ${1} in - "1") - echow "Script will get 'DOMAIN' and 'database' info from .env file, then auto setup virtual host and the wordpress site for you." - exit 0 - ;; - "2") - echow 'Service finished, enjoy your accelarated LiteSpeed server!' - ;; - esac -} - -domain_filter(){ - if [ ! -n "${DOMAIN}" ]; then - echo "Parameters not supplied, please check!" - exit 1 - fi - DOMAIN="${1}" - DOMAIN="${DOMAIN#http://}" - DOMAIN="${DOMAIN#https://}" - DOMAIN="${DOMAIN#ftp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#sftp://}" - DOMAIN=${DOMAIN%%/*} -} - -gen_root_fd(){ - DOC_FD="./sites/${1}/" - if [ -d "./sites/${1}" ]; then - echo -e "[O] The root folder \033[32m${DOC_FD}\033[0m exist." - else - echo "Creating - document root." - bash bin/domain.sh -add ${1} - echo "Finished - document root." - fi -} - -create_db(){ - if [ ! -n "${MYSQL_DATABASE}" ] || [ ! -n "${MYSQL_USER}" ] || [ ! -n "${MYSQL_PASSWORD}" ]; then - echo "Parameters not supplied, please check!" - exit 1 - else - bash bin/database.sh -D ${1} -U ${MYSQL_USER} -P ${MYSQL_PASSWORD} -DB ${MYSQL_DATABASE} - fi -} - -store_credential(){ - if [ -f ${DOC_FD}/.db_pass ]; then - echo '[O] db file exist!' - else - echo 'Storing database parameter' - cat > "${DOC_FD}/.db_pass" << EOT -"Database":"${MYSQL_DATABASE}" -"Username":"${MYSQL_USER}" -"Password":"$(echo ${MYSQL_PASSWORD} | tr -d "'")" -EOT - fi -} - -app_download(){ - docker compose exec -T ${CONT_NAME} su -c "appinstallctl.sh --app ${1} --domain ${2}" -} - -lsws_restart(){ - bash bin/webadmin.sh -r -} - -main(){ - domain_filter ${DOMAIN} - gen_root_fd ${DOMAIN} - create_db ${DOMAIN} - store_credential - app_download ${APP_NAME} ${DOMAIN} - lsws_restart - help_message 2 -} - -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message 1 - ;; - *) - help_message 1 - ;; - esac - shift -done -main \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/list-flagged-files.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/list-flagged-files.sh deleted file mode 100644 index bde4f25f..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/list-flagged-files.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -git ls-files -v|grep '^S' diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/no-skip-worktree-conf.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/no-skip-worktree-conf.sh deleted file mode 100644 index 9bf83e7c..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/no-skip-worktree-conf.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -find conf -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd '{}' && pwd && git ls-files -z ${pwd} | xargs -0 git update-index --no-skip-worktree" \; diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/skip-worktree-conf.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/skip-worktree-conf.sh deleted file mode 100644 index 18b16184..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/dev/skip-worktree-conf.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -find conf -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd '{}' && pwd && git ls-files -z ${pwd} | xargs -0 git update-index --skip-worktree" \; - diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/domain.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/domain.sh deleted file mode 100644 index d99dca40..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/domain.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash -CONT_NAME='litespeed' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow "-A, --add [domain_name]" - echo "${EPACE}${EPACE}Example: domain.sh -A example.com, will add the domain to Listener and auto create a new virtual host." - echow "-D, --del [domain_name]" - echo "${EPACE}${EPACE}Example: domain.sh -D example.com, will delete the domain from Listener." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -add_domain(){ - check_input ${1} - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --add ${1}" - if [ ! -d "./sites/${1}" ]; then - mkdir -p ./sites/${1}/{html,logs,certs} - fi - bash bin/webadmin.sh -r -} - -del_domain(){ - check_input ${1} - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --del ${1}" - bash bin/webadmin.sh -r -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[aA] | -add | --add) shift - add_domain ${1} - ;; - -[dD] | -del | --del | --delete) shift - del_domain ${1} - ;; - *) - help_message - ;; - esac - shift -done - \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp74/data/bin/webadmin.sh b/apps/openlitespeed/1.7.17-lsphp74/data/bin/webadmin.sh deleted file mode 100644 index 18e108ec..00000000 --- a/apps/openlitespeed/1.7.17-lsphp74/data/bin/webadmin.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env bash -CONT_NAME='litespeed' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '[Enter Your PASSWORD]' - echo "${EPACE}${EPACE}Example: webadmin.sh MY_SECURE_PASS, to update web admin password immediatly." - echow '-R, --restart' - echo "${EPACE}${EPACE}Will gracefully restart LiteSpeed Web Server." - echow '-M, --mod-secure [enable|disable]' - echo "${EPACE}${EPACE}Example: webadmin.sh -M enable, will enable and apply Mod_Secure OWASP rules on server" - echow '-U, --upgrade' - echo "${EPACE}${EPACE}Will upgrade web server to latest stable version" - echow '-S, --serial [YOUR_SERIAL|TRIAL]' - echo "${EPACE}${EPACE}Will apply your serial number to LiteSpeed Web Server." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -lsws_restart(){ - docker compose exec -T ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' -} - -apply_serial(){ - docker compose exec ${CONT_NAME} su -c "serialctl.sh --serial ${1}" - lsws_restart -} - -mod_secure(){ - if [ "${1}" = 'enable' ] || [ "${1}" = 'Enable' ]; then - docker compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --enable" - lsws_restart - elif [ "${1}" = 'disable' ] || [ "${1}" = 'Disable' ]; then - docker compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --disable" - lsws_restart - else - help_message - fi -} - -ls_upgrade(){ - echo 'Upgrade web server to latest stable version.' - docker compose exec ${CONT_NAME} su -c '/usr/local/lsws/admin/misc/lsup.sh 2>/dev/null' -} - -set_web_admin(){ - echo 'Update web admin password.' - local LSADPATH='/usr/local/lsws/admin' - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c \ - 'if [ -e /usr/local/lsws/admin/fcgi-bin/admin_php ]; then \ - echo "admin:$('${LSADPATH}'/fcgi-bin/admin_php -q '${LSADPATH}'/misc/htpasswd.php '${1}')" > '${LSADPATH}'/conf/htpasswd; \ - else echo "admin:$('${LSADPATH}'/fcgi-bin/admin_php5 -q '${LSADPATH}'/misc/htpasswd.php '${1}')" > '${LSADPATH}'/conf/htpasswd; \ - fi'; -} - -main(){ - set_web_admin ${1} -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[rR] | -restart | --restart) - lsws_restart - ;; - -M | -mode-secure | --mod-secure) shift - mod_secure ${1} - ;; - -lsup | --lsup | --upgrade | -U) shift - ls_upgrade - ;; - -[sS] | -serial | --serial) shift - apply_serial ${1} - ;; - *) - main ${1} - ;; - esac - shift -done \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/acme.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/acme.sh deleted file mode 100644 index 2804e217..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/acme.sh +++ /dev/null @@ -1,293 +0,0 @@ -#!/usr/bin/env bash -EMAIL='' -NO_EMAIL='' -DOMAIN='' -INSTALL='' -UNINSTALL='' -TYPE=0 -CONT_NAME='litespeed' -ACME_SRC='https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh' -EPACE=' ' -RENEW='' -RENEW_ALL='' -FORCE='' -REVOKE='' -REMOVE='' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - case ${1} in - "1") - echo 'You will need to install acme script at the first time.' - echo 'Please run acme.sh --install --email example@example.com' - ;; - "2") - echo -e "\033[1mOPTIONS\033[0m" - echow '-D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: acme.sh --domain example.com" - echo "${EPACE}${EPACE}will auto detect and apply for both example.com and www.example.com domains." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - echo -e "\033[1m Only for the First time\033[0m" - echow '--install --email [EMAIL_ADDR]' - echo "${EPACE}${EPACE}Will install ACME with the Email provided" - echow '-r, --renew' - echo "${EPACE}${EPACE}Renew a specific domain with -D or --domain parameter if posibile. To force renew, use -f parameter." - echow '-R, --renew-all' - echo "${EPACE}${EPACE}Renew all domains if possible. To force renew, use -f parameter." - echow '-f, -F, --force' - echo "${EPACE}${EPACE}Force renew for a specific domain or all domains." - echow '-v, --revoke' - echo "${EPACE}${EPACE}Revoke a domain." - echow '-V, --remove' - echo "${EPACE}${EPACE}Remove a domain." - exit 0 - ;; - "3") - echo 'Please run acme.sh --domain [DOMAIN_NAME] to apply certificate' - exit 0 - ;; - esac -} - -check_input(){ - if [ -z "${1}" ]; then - help_message 2 - fi -} - -domain_filter(){ - if [ -z "${1}" ]; then - help_message 3 - fi - DOMAIN="${1}" - DOMAIN="${DOMAIN#http://}" - DOMAIN="${DOMAIN#https://}" - DOMAIN="${DOMAIN#ftp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#sftp://}" - DOMAIN=${DOMAIN%%/*} -} - -email_filter(){ - CKREG="^[a-z0-9!#\$%&'*+/=?^_\`{|}~-]+(\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]([a-z0-9-]*[a-z0-9])?\$" - if [[ "${1}" =~ ${CKREG} ]] ; then - echo -e "[O] The E-mail \033[32m${1}\033[0m is valid." - else - echo -e "[X] The E-mail \e[31m${1}\e[39m is invalid" - exit 1 - fi -} - -cert_hook(){ - echo '[Start] Adding ACME hook' - docker compose exec ${CONT_NAME} su -s /bin/bash -c "certhookctl.sh" - echo '[End] Adding ACME hook' -} - -www_domain(){ - CHECK_WWW=$(echo ${1} | cut -c1-4) - if [[ ${CHECK_WWW} == www. ]] ; then - DOMAIN=$(echo ${1} | cut -c 5-) - else - DOMAIN=${1} - fi - WWW_DOMAIN="www.${DOMAIN}" -} - -domain_verify(){ - curl -Is http://${DOMAIN}/ | grep -i LiteSpeed > /dev/null 2>&1 - if [ ${?} = 0 ]; then - echo -e "[O] The domain name \033[32m${DOMAIN}\033[0m is accessible." - TYPE=1 - curl -Is http://${WWW_DOMAIN}/ | grep -i LiteSpeed > /dev/null 2>&1 - if [ ${?} = 0 ]; then - echo -e "[O] The domain name \033[32m${WWW_DOMAIN}\033[0m is accessible." - TYPE=2 - else - echo -e "[!] The domain name ${WWW_DOMAIN} is inaccessible." - fi - else - echo -e "[X] The domain name \e[31m${DOMAIN}\e[39m is inaccessible, please verify." - exit 1 - fi -} - -install_acme(){ - echo '[Start] Install ACME' - if [ "${1}" = 'true' ]; then - docker compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ - ./acme.sh --install --cert-home ~/.acme.sh/certs; \ - rm ~/acme.sh" - elif [ "${2}" != '' ]; then - email_filter "${2}" - docker compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ - ./acme.sh --install --cert-home ~/.acme.sh/certs --accountemail ${2}; \ - rm ~/acme.sh" - else - help_message 1 - exit 1 - fi - echo '[End] Install ACME' -} - -uninstall_acme(){ - echo '[Start] Uninstall ACME' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --uninstall" - echo '[End] Uninstall ACME' - exit 0 -} - -check_acme(){ - echo '[Start] Checking ACME' - docker compose exec ${CONT_NAME} su -c "test -f /root/.acme.sh/acme.sh" - if [ ${?} != 0 ]; then - install_acme "${NO_EMAIL}" "${EMAIL}" - cert_hook - help_message 3 - fi - echo '[End] Checking ACME' -} - -lsws_restart(){ - docker compose exec ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' -} - -doc_root_verify(){ - if [ "${DOC_ROOT}" = '' ]; then - DOC_PATH="/var/www/vhosts/${1}/html" - else - DOC_PATH="${DOC_ROOT}" - fi - docker compose exec ${CONT_NAME} su -c "[ -e ${DOC_PATH} ]" - if [ ${?} -eq 0 ]; then - echo -e "[O] The document root folder \033[32m${DOC_PATH}\033[0m does exist." - else - echo -e "[X] The document root folder \e[31m${DOC_PATH}\e[39m does not exist!" - exit 1 - fi -} - -install_cert(){ - echo '[Start] Apply Lets Encrypt Certificate' - if [ ${TYPE} = 1 ]; then - docker compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -w ${DOC_PATH}" - elif [ ${TYPE} = 2 ]; then - docker compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -d www.${1} -w ${DOC_PATH}" - else - echo 'unknown Type!' - exit 2 - fi - echo '[End] Apply Lets Encrypt Certificate' -} - -renew_acme(){ - echo '[Start] Renew ACME' - if [ "${FORCE}" = 'true' ]; then - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1} --force" - else - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1}" - fi - echo '[End] Renew ACME' - lsws_restart -} - -renew_all_acme(){ - echo '[Start] Renew all ACME' - if [ "${FORCE}" = 'true' ]; then - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all --force" - else - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all" - fi - echo '[End] Renew all ACME' - lsws_restart -} - -revoke(){ - echo '[Start] Revoke a domain' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --revoke --domain ${1}" - echo '[End] Revoke a domain' - lsws_restart -} - -remove(){ - echo '[Start] Remove a domain' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --remove --domain ${1}" - echo '[End] Remove a domain' - lsws_restart -} - -main(){ - if [ "${RENEW_ALL}" = 'true' ]; then - renew_all_acme - exit 0 - elif [ "${RENEW}" = 'true' ]; then - renew_acme ${DOMAIN} - exit 0 - elif [ "${REVOKE}" = 'true' ]; then - revoke ${DOMAIN} - exit 0 - elif [ "${REMOVE}" = 'true' ]; then - remove ${DOMAIN} - exit 0 - fi - - check_acme - domain_filter ${DOMAIN} - www_domain ${DOMAIN} - domain_verify - doc_root_verify ${DOMAIN} - install_cert ${DOMAIN} - lsws_restart -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message 2 - ;; - -[dD] | -domain | --domain) shift - check_input "${1}" - DOMAIN="${1}" - ;; - -[iI] | --install ) - INSTALL=true - ;; - -[uU] | --uninstall ) - UNINSTALL=true - uninstall_acme - ;; - -[fF] | --force ) - FORCE=true - ;; - -[r] | --renew ) - RENEW=true - ;; - -[R] | --renew-all ) - RENEW_ALL=true - ;; - -[v] | --revoke ) - REVOKE=true - ;; - -[V] | --remove ) - REMOVE=true - ;; - -[eE] | --email ) shift - check_input "${1}" - EMAIL="${1}" - ;; - *) - help_message 2 - ;; - esac - shift -done - -main \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/appinstall.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/appinstall.sh deleted file mode 100644 index ba67d52d..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/appinstall.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash -APP_NAME='' -DOMAIN='' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '-A, --app [app_name] -D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: appinstall.sh -A wordpress -D example.com" - echo "${EPACE}${EPACE}Will install WordPress CMS under the example.com domain" - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -app_download(){ - docker compose exec litespeed su -c "appinstallctl.sh --app ${1} --domain ${2}" - bash bin/webadmin.sh -r - exit 0 -} - -main(){ - app_download ${APP_NAME} ${DOMAIN} -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[aA] | -app | --app) shift - check_input "${1}" - APP_NAME="${1}" - ;; - -[dD] | -domain | --domain) shift - check_input "${1}" - DOMAIN="${1}" - ;; - *) - help_message - ;; - esac - shift -done - -main \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/database.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/database.sh deleted file mode 100644 index ec1462d4..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/database.sh +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/env bash -source .env - -DOMAIN='' -SQL_DB='' -SQL_USER='' -SQL_PASS='' -ANY="'%'" -SET_OK=0 -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '-D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: database.sh -D example.com" - echo "${EPACE}${EPACE}Will auto generate Database/username/password for the domain" - echow '-D, --domain [DOMAIN_NAME] -U, --user [xxx] -P, --password [xxx] -DB, --database [xxx]' - echo "${EPACE}${EPACE}Example: database.sh -D example.com -U USERNAME -P PASSWORD -DB DATABASENAME" - echo "${EPACE}${EPACE}Will create Database/username/password by given" - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -specify_name(){ - check_input ${SQL_USER} - check_input ${SQL_PASS} - check_input ${SQL_DB} -} - -auto_name(){ - SQL_DB="${TRANSNAME}" - SQL_USER="${TRANSNAME}" - SQL_PASS="'${RANDOM_PASS}'" -} - -gen_pass(){ - RANDOM_PASS="$(openssl rand -base64 12)" -} - -trans_name(){ - TRANSNAME=$(echo ${1} | tr -d '.&&-') -} - -display_credential(){ - if [ ${SET_OK} = 0 ]; then - echo "Database: ${SQL_DB}" - echo "Username: ${SQL_USER}" - echo "Password: $(echo ${SQL_PASS} | tr -d "'")" - fi -} - -store_credential(){ - if [ -d "./sites/${1}" ]; then - if [ -f ./sites/${1}/.db_pass ]; then - mv ./sites/${1}/.db_pass ./sites/${1}/.db_pass.bk - fi - cat > "./sites/${1}/.db_pass" << EOT -"Database":"${SQL_DB}" -"Username":"${SQL_USER}" -"Password":"$(echo ${SQL_PASS} | tr -d "'")" -EOT - else - echo "./sites/${1} not found, abort credential store!" - fi -} - -check_db_access(){ - docker compose exec -T mysql su -c "mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e 'status'" >/dev/null 2>&1 - if [ ${?} != 0 ]; then - echo '[X] DB access failed, please check!' - exit 1 - fi -} - -check_db_exist(){ - docker compose exec -T mysql su -c "test -e /var/lib/mysql/${1}" - if [ ${?} = 0 ]; then - echo "Database ${1} already exist, skip DB creation!" - exit 0 - fi -} - -db_setup(){ - docker compose exec -T mysql su -c 'mysql -uroot -p${MYSQL_ROOT_PASSWORD} \ - -e "CREATE DATABASE '${SQL_DB}';" \ - -e "GRANT ALL PRIVILEGES ON '${SQL_DB}'.* TO '${SQL_USER}'@'${ANY}' IDENTIFIED BY '${SQL_PASS}';" \ - -e "FLUSH PRIVILEGES;"' - SET_OK=${?} -} - -auto_setup_main(){ - check_input ${DOMAIN} - gen_pass - trans_name ${DOMAIN} - auto_name - check_db_exist ${SQL_DB} - check_db_access - db_setup - display_credential - store_credential ${DOMAIN} -} - -specify_setup_main(){ - specify_name - check_db_exist ${SQL_DB} - check_db_access - db_setup - display_credential - store_credential ${DOMAIN} -} - -main(){ - if [ "${SQL_USER}" != '' ] && [ "${SQL_PASS}" != '' ] && [ "${SQL_DB}" != '' ]; then - specify_setup_main - else - auto_setup_main - fi -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[dD] | -domain| --domain) shift - DOMAIN="${1}" - ;; - -[uU] | -user | --user) shift - SQL_USER="${1}" - ;; - -[pP] | -password| --password) shift - SQL_PASS="'${1}'" - ;; - -db | -DB | -database| --database) shift - SQL_DB="${1}" - ;; - *) - help_message - ;; - esac - shift -done -main diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/demosite.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/demosite.sh deleted file mode 100644 index 91474647..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/demosite.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash -source .env -APP_NAME='wordpress' -CONT_NAME='litespeed' -DOC_FD='' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - case ${1} in - "1") - echow "Script will get 'DOMAIN' and 'database' info from .env file, then auto setup virtual host and the wordpress site for you." - exit 0 - ;; - "2") - echow 'Service finished, enjoy your accelarated LiteSpeed server!' - ;; - esac -} - -domain_filter(){ - if [ ! -n "${DOMAIN}" ]; then - echo "Parameters not supplied, please check!" - exit 1 - fi - DOMAIN="${1}" - DOMAIN="${DOMAIN#http://}" - DOMAIN="${DOMAIN#https://}" - DOMAIN="${DOMAIN#ftp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#sftp://}" - DOMAIN=${DOMAIN%%/*} -} - -gen_root_fd(){ - DOC_FD="./sites/${1}/" - if [ -d "./sites/${1}" ]; then - echo -e "[O] The root folder \033[32m${DOC_FD}\033[0m exist." - else - echo "Creating - document root." - bash bin/domain.sh -add ${1} - echo "Finished - document root." - fi -} - -create_db(){ - if [ ! -n "${MYSQL_DATABASE}" ] || [ ! -n "${MYSQL_USER}" ] || [ ! -n "${MYSQL_PASSWORD}" ]; then - echo "Parameters not supplied, please check!" - exit 1 - else - bash bin/database.sh -D ${1} -U ${MYSQL_USER} -P ${MYSQL_PASSWORD} -DB ${MYSQL_DATABASE} - fi -} - -store_credential(){ - if [ -f ${DOC_FD}/.db_pass ]; then - echo '[O] db file exist!' - else - echo 'Storing database parameter' - cat > "${DOC_FD}/.db_pass" << EOT -"Database":"${MYSQL_DATABASE}" -"Username":"${MYSQL_USER}" -"Password":"$(echo ${MYSQL_PASSWORD} | tr -d "'")" -EOT - fi -} - -app_download(){ - docker compose exec -T ${CONT_NAME} su -c "appinstallctl.sh --app ${1} --domain ${2}" -} - -lsws_restart(){ - bash bin/webadmin.sh -r -} - -main(){ - domain_filter ${DOMAIN} - gen_root_fd ${DOMAIN} - create_db ${DOMAIN} - store_credential - app_download ${APP_NAME} ${DOMAIN} - lsws_restart - help_message 2 -} - -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message 1 - ;; - *) - help_message 1 - ;; - esac - shift -done -main \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/list-flagged-files.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/list-flagged-files.sh deleted file mode 100644 index bde4f25f..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/list-flagged-files.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -git ls-files -v|grep '^S' diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/no-skip-worktree-conf.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/no-skip-worktree-conf.sh deleted file mode 100644 index 9bf83e7c..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/no-skip-worktree-conf.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -find conf -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd '{}' && pwd && git ls-files -z ${pwd} | xargs -0 git update-index --no-skip-worktree" \; diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/skip-worktree-conf.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/skip-worktree-conf.sh deleted file mode 100644 index 18b16184..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/dev/skip-worktree-conf.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -find conf -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd '{}' && pwd && git ls-files -z ${pwd} | xargs -0 git update-index --skip-worktree" \; - diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/domain.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/domain.sh deleted file mode 100644 index d99dca40..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/domain.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash -CONT_NAME='litespeed' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow "-A, --add [domain_name]" - echo "${EPACE}${EPACE}Example: domain.sh -A example.com, will add the domain to Listener and auto create a new virtual host." - echow "-D, --del [domain_name]" - echo "${EPACE}${EPACE}Example: domain.sh -D example.com, will delete the domain from Listener." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -add_domain(){ - check_input ${1} - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --add ${1}" - if [ ! -d "./sites/${1}" ]; then - mkdir -p ./sites/${1}/{html,logs,certs} - fi - bash bin/webadmin.sh -r -} - -del_domain(){ - check_input ${1} - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --del ${1}" - bash bin/webadmin.sh -r -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[aA] | -add | --add) shift - add_domain ${1} - ;; - -[dD] | -del | --del | --delete) shift - del_domain ${1} - ;; - *) - help_message - ;; - esac - shift -done - \ No newline at end of file diff --git a/apps/openlitespeed/1.7.17-lsphp81/data/bin/webadmin.sh b/apps/openlitespeed/1.7.17-lsphp81/data/bin/webadmin.sh deleted file mode 100644 index 18e108ec..00000000 --- a/apps/openlitespeed/1.7.17-lsphp81/data/bin/webadmin.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env bash -CONT_NAME='litespeed' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '[Enter Your PASSWORD]' - echo "${EPACE}${EPACE}Example: webadmin.sh MY_SECURE_PASS, to update web admin password immediatly." - echow '-R, --restart' - echo "${EPACE}${EPACE}Will gracefully restart LiteSpeed Web Server." - echow '-M, --mod-secure [enable|disable]' - echo "${EPACE}${EPACE}Example: webadmin.sh -M enable, will enable and apply Mod_Secure OWASP rules on server" - echow '-U, --upgrade' - echo "${EPACE}${EPACE}Will upgrade web server to latest stable version" - echow '-S, --serial [YOUR_SERIAL|TRIAL]' - echo "${EPACE}${EPACE}Will apply your serial number to LiteSpeed Web Server." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -lsws_restart(){ - docker compose exec -T ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' -} - -apply_serial(){ - docker compose exec ${CONT_NAME} su -c "serialctl.sh --serial ${1}" - lsws_restart -} - -mod_secure(){ - if [ "${1}" = 'enable' ] || [ "${1}" = 'Enable' ]; then - docker compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --enable" - lsws_restart - elif [ "${1}" = 'disable' ] || [ "${1}" = 'Disable' ]; then - docker compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --disable" - lsws_restart - else - help_message - fi -} - -ls_upgrade(){ - echo 'Upgrade web server to latest stable version.' - docker compose exec ${CONT_NAME} su -c '/usr/local/lsws/admin/misc/lsup.sh 2>/dev/null' -} - -set_web_admin(){ - echo 'Update web admin password.' - local LSADPATH='/usr/local/lsws/admin' - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c \ - 'if [ -e /usr/local/lsws/admin/fcgi-bin/admin_php ]; then \ - echo "admin:$('${LSADPATH}'/fcgi-bin/admin_php -q '${LSADPATH}'/misc/htpasswd.php '${1}')" > '${LSADPATH}'/conf/htpasswd; \ - else echo "admin:$('${LSADPATH}'/fcgi-bin/admin_php5 -q '${LSADPATH}'/misc/htpasswd.php '${1}')" > '${LSADPATH}'/conf/htpasswd; \ - fi'; -} - -main(){ - set_web_admin ${1} -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[rR] | -restart | --restart) - lsws_restart - ;; - -M | -mode-secure | --mod-secure) shift - mod_secure ${1} - ;; - -lsup | --lsup | --upgrade | -U) shift - ls_upgrade - ;; - -[sS] | -serial | --serial) shift - apply_serial ${1} - ;; - *) - main ${1} - ;; - esac - shift -done \ No newline at end of file diff --git a/apps/openlitespeed/latest/data/bin/acme.sh b/apps/openlitespeed/latest/data/bin/acme.sh deleted file mode 100644 index 2804e217..00000000 --- a/apps/openlitespeed/latest/data/bin/acme.sh +++ /dev/null @@ -1,293 +0,0 @@ -#!/usr/bin/env bash -EMAIL='' -NO_EMAIL='' -DOMAIN='' -INSTALL='' -UNINSTALL='' -TYPE=0 -CONT_NAME='litespeed' -ACME_SRC='https://raw.githubusercontent.com/Neilpang/acme.sh/master/acme.sh' -EPACE=' ' -RENEW='' -RENEW_ALL='' -FORCE='' -REVOKE='' -REMOVE='' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - case ${1} in - "1") - echo 'You will need to install acme script at the first time.' - echo 'Please run acme.sh --install --email example@example.com' - ;; - "2") - echo -e "\033[1mOPTIONS\033[0m" - echow '-D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: acme.sh --domain example.com" - echo "${EPACE}${EPACE}will auto detect and apply for both example.com and www.example.com domains." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - echo -e "\033[1m Only for the First time\033[0m" - echow '--install --email [EMAIL_ADDR]' - echo "${EPACE}${EPACE}Will install ACME with the Email provided" - echow '-r, --renew' - echo "${EPACE}${EPACE}Renew a specific domain with -D or --domain parameter if posibile. To force renew, use -f parameter." - echow '-R, --renew-all' - echo "${EPACE}${EPACE}Renew all domains if possible. To force renew, use -f parameter." - echow '-f, -F, --force' - echo "${EPACE}${EPACE}Force renew for a specific domain or all domains." - echow '-v, --revoke' - echo "${EPACE}${EPACE}Revoke a domain." - echow '-V, --remove' - echo "${EPACE}${EPACE}Remove a domain." - exit 0 - ;; - "3") - echo 'Please run acme.sh --domain [DOMAIN_NAME] to apply certificate' - exit 0 - ;; - esac -} - -check_input(){ - if [ -z "${1}" ]; then - help_message 2 - fi -} - -domain_filter(){ - if [ -z "${1}" ]; then - help_message 3 - fi - DOMAIN="${1}" - DOMAIN="${DOMAIN#http://}" - DOMAIN="${DOMAIN#https://}" - DOMAIN="${DOMAIN#ftp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#sftp://}" - DOMAIN=${DOMAIN%%/*} -} - -email_filter(){ - CKREG="^[a-z0-9!#\$%&'*+/=?^_\`{|}~-]+(\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]([a-z0-9-]*[a-z0-9])?\$" - if [[ "${1}" =~ ${CKREG} ]] ; then - echo -e "[O] The E-mail \033[32m${1}\033[0m is valid." - else - echo -e "[X] The E-mail \e[31m${1}\e[39m is invalid" - exit 1 - fi -} - -cert_hook(){ - echo '[Start] Adding ACME hook' - docker compose exec ${CONT_NAME} su -s /bin/bash -c "certhookctl.sh" - echo '[End] Adding ACME hook' -} - -www_domain(){ - CHECK_WWW=$(echo ${1} | cut -c1-4) - if [[ ${CHECK_WWW} == www. ]] ; then - DOMAIN=$(echo ${1} | cut -c 5-) - else - DOMAIN=${1} - fi - WWW_DOMAIN="www.${DOMAIN}" -} - -domain_verify(){ - curl -Is http://${DOMAIN}/ | grep -i LiteSpeed > /dev/null 2>&1 - if [ ${?} = 0 ]; then - echo -e "[O] The domain name \033[32m${DOMAIN}\033[0m is accessible." - TYPE=1 - curl -Is http://${WWW_DOMAIN}/ | grep -i LiteSpeed > /dev/null 2>&1 - if [ ${?} = 0 ]; then - echo -e "[O] The domain name \033[32m${WWW_DOMAIN}\033[0m is accessible." - TYPE=2 - else - echo -e "[!] The domain name ${WWW_DOMAIN} is inaccessible." - fi - else - echo -e "[X] The domain name \e[31m${DOMAIN}\e[39m is inaccessible, please verify." - exit 1 - fi -} - -install_acme(){ - echo '[Start] Install ACME' - if [ "${1}" = 'true' ]; then - docker compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ - ./acme.sh --install --cert-home ~/.acme.sh/certs; \ - rm ~/acme.sh" - elif [ "${2}" != '' ]; then - email_filter "${2}" - docker compose exec litespeed su -c "cd; wget ${ACME_SRC}; chmod 755 acme.sh; \ - ./acme.sh --install --cert-home ~/.acme.sh/certs --accountemail ${2}; \ - rm ~/acme.sh" - else - help_message 1 - exit 1 - fi - echo '[End] Install ACME' -} - -uninstall_acme(){ - echo '[Start] Uninstall ACME' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --uninstall" - echo '[End] Uninstall ACME' - exit 0 -} - -check_acme(){ - echo '[Start] Checking ACME' - docker compose exec ${CONT_NAME} su -c "test -f /root/.acme.sh/acme.sh" - if [ ${?} != 0 ]; then - install_acme "${NO_EMAIL}" "${EMAIL}" - cert_hook - help_message 3 - fi - echo '[End] Checking ACME' -} - -lsws_restart(){ - docker compose exec ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' -} - -doc_root_verify(){ - if [ "${DOC_ROOT}" = '' ]; then - DOC_PATH="/var/www/vhosts/${1}/html" - else - DOC_PATH="${DOC_ROOT}" - fi - docker compose exec ${CONT_NAME} su -c "[ -e ${DOC_PATH} ]" - if [ ${?} -eq 0 ]; then - echo -e "[O] The document root folder \033[32m${DOC_PATH}\033[0m does exist." - else - echo -e "[X] The document root folder \e[31m${DOC_PATH}\e[39m does not exist!" - exit 1 - fi -} - -install_cert(){ - echo '[Start] Apply Lets Encrypt Certificate' - if [ ${TYPE} = 1 ]; then - docker compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -w ${DOC_PATH}" - elif [ ${TYPE} = 2 ]; then - docker compose exec ${CONT_NAME} su -c "/root/.acme.sh/acme.sh --issue -d ${1} -d www.${1} -w ${DOC_PATH}" - else - echo 'unknown Type!' - exit 2 - fi - echo '[End] Apply Lets Encrypt Certificate' -} - -renew_acme(){ - echo '[Start] Renew ACME' - if [ "${FORCE}" = 'true' ]; then - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1} --force" - else - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew --domain ${1}" - fi - echo '[End] Renew ACME' - lsws_restart -} - -renew_all_acme(){ - echo '[Start] Renew all ACME' - if [ "${FORCE}" = 'true' ]; then - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all --force" - else - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --renew-all" - fi - echo '[End] Renew all ACME' - lsws_restart -} - -revoke(){ - echo '[Start] Revoke a domain' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --revoke --domain ${1}" - echo '[End] Revoke a domain' - lsws_restart -} - -remove(){ - echo '[Start] Remove a domain' - docker compose exec ${CONT_NAME} su -c "~/.acme.sh/acme.sh --remove --domain ${1}" - echo '[End] Remove a domain' - lsws_restart -} - -main(){ - if [ "${RENEW_ALL}" = 'true' ]; then - renew_all_acme - exit 0 - elif [ "${RENEW}" = 'true' ]; then - renew_acme ${DOMAIN} - exit 0 - elif [ "${REVOKE}" = 'true' ]; then - revoke ${DOMAIN} - exit 0 - elif [ "${REMOVE}" = 'true' ]; then - remove ${DOMAIN} - exit 0 - fi - - check_acme - domain_filter ${DOMAIN} - www_domain ${DOMAIN} - domain_verify - doc_root_verify ${DOMAIN} - install_cert ${DOMAIN} - lsws_restart -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message 2 - ;; - -[dD] | -domain | --domain) shift - check_input "${1}" - DOMAIN="${1}" - ;; - -[iI] | --install ) - INSTALL=true - ;; - -[uU] | --uninstall ) - UNINSTALL=true - uninstall_acme - ;; - -[fF] | --force ) - FORCE=true - ;; - -[r] | --renew ) - RENEW=true - ;; - -[R] | --renew-all ) - RENEW_ALL=true - ;; - -[v] | --revoke ) - REVOKE=true - ;; - -[V] | --remove ) - REMOVE=true - ;; - -[eE] | --email ) shift - check_input "${1}" - EMAIL="${1}" - ;; - *) - help_message 2 - ;; - esac - shift -done - -main \ No newline at end of file diff --git a/apps/openlitespeed/latest/data/bin/appinstall.sh b/apps/openlitespeed/latest/data/bin/appinstall.sh deleted file mode 100644 index ba67d52d..00000000 --- a/apps/openlitespeed/latest/data/bin/appinstall.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash -APP_NAME='' -DOMAIN='' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '-A, --app [app_name] -D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: appinstall.sh -A wordpress -D example.com" - echo "${EPACE}${EPACE}Will install WordPress CMS under the example.com domain" - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -app_download(){ - docker compose exec litespeed su -c "appinstallctl.sh --app ${1} --domain ${2}" - bash bin/webadmin.sh -r - exit 0 -} - -main(){ - app_download ${APP_NAME} ${DOMAIN} -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[aA] | -app | --app) shift - check_input "${1}" - APP_NAME="${1}" - ;; - -[dD] | -domain | --domain) shift - check_input "${1}" - DOMAIN="${1}" - ;; - *) - help_message - ;; - esac - shift -done - -main \ No newline at end of file diff --git a/apps/openlitespeed/latest/data/bin/database.sh b/apps/openlitespeed/latest/data/bin/database.sh deleted file mode 100644 index ec1462d4..00000000 --- a/apps/openlitespeed/latest/data/bin/database.sh +++ /dev/null @@ -1,158 +0,0 @@ -#!/usr/bin/env bash -source .env - -DOMAIN='' -SQL_DB='' -SQL_USER='' -SQL_PASS='' -ANY="'%'" -SET_OK=0 -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '-D, --domain [DOMAIN_NAME]' - echo "${EPACE}${EPACE}Example: database.sh -D example.com" - echo "${EPACE}${EPACE}Will auto generate Database/username/password for the domain" - echow '-D, --domain [DOMAIN_NAME] -U, --user [xxx] -P, --password [xxx] -DB, --database [xxx]' - echo "${EPACE}${EPACE}Example: database.sh -D example.com -U USERNAME -P PASSWORD -DB DATABASENAME" - echo "${EPACE}${EPACE}Will create Database/username/password by given" - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -specify_name(){ - check_input ${SQL_USER} - check_input ${SQL_PASS} - check_input ${SQL_DB} -} - -auto_name(){ - SQL_DB="${TRANSNAME}" - SQL_USER="${TRANSNAME}" - SQL_PASS="'${RANDOM_PASS}'" -} - -gen_pass(){ - RANDOM_PASS="$(openssl rand -base64 12)" -} - -trans_name(){ - TRANSNAME=$(echo ${1} | tr -d '.&&-') -} - -display_credential(){ - if [ ${SET_OK} = 0 ]; then - echo "Database: ${SQL_DB}" - echo "Username: ${SQL_USER}" - echo "Password: $(echo ${SQL_PASS} | tr -d "'")" - fi -} - -store_credential(){ - if [ -d "./sites/${1}" ]; then - if [ -f ./sites/${1}/.db_pass ]; then - mv ./sites/${1}/.db_pass ./sites/${1}/.db_pass.bk - fi - cat > "./sites/${1}/.db_pass" << EOT -"Database":"${SQL_DB}" -"Username":"${SQL_USER}" -"Password":"$(echo ${SQL_PASS} | tr -d "'")" -EOT - else - echo "./sites/${1} not found, abort credential store!" - fi -} - -check_db_access(){ - docker compose exec -T mysql su -c "mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e 'status'" >/dev/null 2>&1 - if [ ${?} != 0 ]; then - echo '[X] DB access failed, please check!' - exit 1 - fi -} - -check_db_exist(){ - docker compose exec -T mysql su -c "test -e /var/lib/mysql/${1}" - if [ ${?} = 0 ]; then - echo "Database ${1} already exist, skip DB creation!" - exit 0 - fi -} - -db_setup(){ - docker compose exec -T mysql su -c 'mysql -uroot -p${MYSQL_ROOT_PASSWORD} \ - -e "CREATE DATABASE '${SQL_DB}';" \ - -e "GRANT ALL PRIVILEGES ON '${SQL_DB}'.* TO '${SQL_USER}'@'${ANY}' IDENTIFIED BY '${SQL_PASS}';" \ - -e "FLUSH PRIVILEGES;"' - SET_OK=${?} -} - -auto_setup_main(){ - check_input ${DOMAIN} - gen_pass - trans_name ${DOMAIN} - auto_name - check_db_exist ${SQL_DB} - check_db_access - db_setup - display_credential - store_credential ${DOMAIN} -} - -specify_setup_main(){ - specify_name - check_db_exist ${SQL_DB} - check_db_access - db_setup - display_credential - store_credential ${DOMAIN} -} - -main(){ - if [ "${SQL_USER}" != '' ] && [ "${SQL_PASS}" != '' ] && [ "${SQL_DB}" != '' ]; then - specify_setup_main - else - auto_setup_main - fi -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[dD] | -domain| --domain) shift - DOMAIN="${1}" - ;; - -[uU] | -user | --user) shift - SQL_USER="${1}" - ;; - -[pP] | -password| --password) shift - SQL_PASS="'${1}'" - ;; - -db | -DB | -database| --database) shift - SQL_DB="${1}" - ;; - *) - help_message - ;; - esac - shift -done -main diff --git a/apps/openlitespeed/latest/data/bin/demosite.sh b/apps/openlitespeed/latest/data/bin/demosite.sh deleted file mode 100644 index 91474647..00000000 --- a/apps/openlitespeed/latest/data/bin/demosite.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env bash -source .env -APP_NAME='wordpress' -CONT_NAME='litespeed' -DOC_FD='' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - case ${1} in - "1") - echow "Script will get 'DOMAIN' and 'database' info from .env file, then auto setup virtual host and the wordpress site for you." - exit 0 - ;; - "2") - echow 'Service finished, enjoy your accelarated LiteSpeed server!' - ;; - esac -} - -domain_filter(){ - if [ ! -n "${DOMAIN}" ]; then - echo "Parameters not supplied, please check!" - exit 1 - fi - DOMAIN="${1}" - DOMAIN="${DOMAIN#http://}" - DOMAIN="${DOMAIN#https://}" - DOMAIN="${DOMAIN#ftp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#scp://}" - DOMAIN="${DOMAIN#sftp://}" - DOMAIN=${DOMAIN%%/*} -} - -gen_root_fd(){ - DOC_FD="./sites/${1}/" - if [ -d "./sites/${1}" ]; then - echo -e "[O] The root folder \033[32m${DOC_FD}\033[0m exist." - else - echo "Creating - document root." - bash bin/domain.sh -add ${1} - echo "Finished - document root." - fi -} - -create_db(){ - if [ ! -n "${MYSQL_DATABASE}" ] || [ ! -n "${MYSQL_USER}" ] || [ ! -n "${MYSQL_PASSWORD}" ]; then - echo "Parameters not supplied, please check!" - exit 1 - else - bash bin/database.sh -D ${1} -U ${MYSQL_USER} -P ${MYSQL_PASSWORD} -DB ${MYSQL_DATABASE} - fi -} - -store_credential(){ - if [ -f ${DOC_FD}/.db_pass ]; then - echo '[O] db file exist!' - else - echo 'Storing database parameter' - cat > "${DOC_FD}/.db_pass" << EOT -"Database":"${MYSQL_DATABASE}" -"Username":"${MYSQL_USER}" -"Password":"$(echo ${MYSQL_PASSWORD} | tr -d "'")" -EOT - fi -} - -app_download(){ - docker compose exec -T ${CONT_NAME} su -c "appinstallctl.sh --app ${1} --domain ${2}" -} - -lsws_restart(){ - bash bin/webadmin.sh -r -} - -main(){ - domain_filter ${DOMAIN} - gen_root_fd ${DOMAIN} - create_db ${DOMAIN} - store_credential - app_download ${APP_NAME} ${DOMAIN} - lsws_restart - help_message 2 -} - -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message 1 - ;; - *) - help_message 1 - ;; - esac - shift -done -main \ No newline at end of file diff --git a/apps/openlitespeed/latest/data/bin/dev/list-flagged-files.sh b/apps/openlitespeed/latest/data/bin/dev/list-flagged-files.sh deleted file mode 100644 index bde4f25f..00000000 --- a/apps/openlitespeed/latest/data/bin/dev/list-flagged-files.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -git ls-files -v|grep '^S' diff --git a/apps/openlitespeed/latest/data/bin/dev/no-skip-worktree-conf.sh b/apps/openlitespeed/latest/data/bin/dev/no-skip-worktree-conf.sh deleted file mode 100644 index 9bf83e7c..00000000 --- a/apps/openlitespeed/latest/data/bin/dev/no-skip-worktree-conf.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -find conf -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd '{}' && pwd && git ls-files -z ${pwd} | xargs -0 git update-index --no-skip-worktree" \; diff --git a/apps/openlitespeed/latest/data/bin/dev/skip-worktree-conf.sh b/apps/openlitespeed/latest/data/bin/dev/skip-worktree-conf.sh deleted file mode 100644 index 18b16184..00000000 --- a/apps/openlitespeed/latest/data/bin/dev/skip-worktree-conf.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -find conf -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd '{}' && pwd && git ls-files -z ${pwd} | xargs -0 git update-index --skip-worktree" \; - diff --git a/apps/openlitespeed/latest/data/bin/domain.sh b/apps/openlitespeed/latest/data/bin/domain.sh deleted file mode 100644 index d99dca40..00000000 --- a/apps/openlitespeed/latest/data/bin/domain.sh +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/env bash -CONT_NAME='litespeed' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow "-A, --add [domain_name]" - echo "${EPACE}${EPACE}Example: domain.sh -A example.com, will add the domain to Listener and auto create a new virtual host." - echow "-D, --del [domain_name]" - echo "${EPACE}${EPACE}Example: domain.sh -D example.com, will delete the domain from Listener." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -add_domain(){ - check_input ${1} - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --add ${1}" - if [ ! -d "./sites/${1}" ]; then - mkdir -p ./sites/${1}/{html,logs,certs} - fi - bash bin/webadmin.sh -r -} - -del_domain(){ - check_input ${1} - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c "cd /usr/local/lsws/conf && domainctl.sh --del ${1}" - bash bin/webadmin.sh -r -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[aA] | -add | --add) shift - add_domain ${1} - ;; - -[dD] | -del | --del | --delete) shift - del_domain ${1} - ;; - *) - help_message - ;; - esac - shift -done - \ No newline at end of file diff --git a/apps/openlitespeed/latest/data/bin/webadmin.sh b/apps/openlitespeed/latest/data/bin/webadmin.sh deleted file mode 100644 index 18e108ec..00000000 --- a/apps/openlitespeed/latest/data/bin/webadmin.sh +++ /dev/null @@ -1,98 +0,0 @@ -#!/usr/bin/env bash -CONT_NAME='litespeed' -EPACE=' ' - -echow(){ - FLAG=${1} - shift - echo -e "\033[1m${EPACE}${FLAG}\033[0m${@}" -} - -help_message(){ - echo -e "\033[1mOPTIONS\033[0m" - echow '[Enter Your PASSWORD]' - echo "${EPACE}${EPACE}Example: webadmin.sh MY_SECURE_PASS, to update web admin password immediatly." - echow '-R, --restart' - echo "${EPACE}${EPACE}Will gracefully restart LiteSpeed Web Server." - echow '-M, --mod-secure [enable|disable]' - echo "${EPACE}${EPACE}Example: webadmin.sh -M enable, will enable and apply Mod_Secure OWASP rules on server" - echow '-U, --upgrade' - echo "${EPACE}${EPACE}Will upgrade web server to latest stable version" - echow '-S, --serial [YOUR_SERIAL|TRIAL]' - echo "${EPACE}${EPACE}Will apply your serial number to LiteSpeed Web Server." - echow '-H, --help' - echo "${EPACE}${EPACE}Display help and exit." - exit 0 -} - -check_input(){ - if [ -z "${1}" ]; then - help_message - exit 1 - fi -} - -lsws_restart(){ - docker compose exec -T ${CONT_NAME} su -c '/usr/local/lsws/bin/lswsctrl restart >/dev/null' -} - -apply_serial(){ - docker compose exec ${CONT_NAME} su -c "serialctl.sh --serial ${1}" - lsws_restart -} - -mod_secure(){ - if [ "${1}" = 'enable' ] || [ "${1}" = 'Enable' ]; then - docker compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --enable" - lsws_restart - elif [ "${1}" = 'disable' ] || [ "${1}" = 'Disable' ]; then - docker compose exec ${CONT_NAME} su -s /bin/bash root -c "owaspctl.sh --disable" - lsws_restart - else - help_message - fi -} - -ls_upgrade(){ - echo 'Upgrade web server to latest stable version.' - docker compose exec ${CONT_NAME} su -c '/usr/local/lsws/admin/misc/lsup.sh 2>/dev/null' -} - -set_web_admin(){ - echo 'Update web admin password.' - local LSADPATH='/usr/local/lsws/admin' - docker compose exec ${CONT_NAME} su -s /bin/bash lsadm -c \ - 'if [ -e /usr/local/lsws/admin/fcgi-bin/admin_php ]; then \ - echo "admin:$('${LSADPATH}'/fcgi-bin/admin_php -q '${LSADPATH}'/misc/htpasswd.php '${1}')" > '${LSADPATH}'/conf/htpasswd; \ - else echo "admin:$('${LSADPATH}'/fcgi-bin/admin_php5 -q '${LSADPATH}'/misc/htpasswd.php '${1}')" > '${LSADPATH}'/conf/htpasswd; \ - fi'; -} - -main(){ - set_web_admin ${1} -} - -check_input ${1} -while [ ! -z "${1}" ]; do - case ${1} in - -[hH] | -help | --help) - help_message - ;; - -[rR] | -restart | --restart) - lsws_restart - ;; - -M | -mode-secure | --mod-secure) shift - mod_secure ${1} - ;; - -lsup | --lsup | --upgrade | -U) shift - ls_upgrade - ;; - -[sS] | -serial | --serial) shift - apply_serial ${1} - ;; - *) - main ${1} - ;; - esac - shift -done \ No newline at end of file