diff --git a/.env b/.env index 0bd492e..9bbfcdc 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ TimeZone=America/New_York -OLS_VERSION=1.8.2 +OLS_VERSION=1.8.3 PHP_VERSION=lsphp83 MYSQL_DATABASE=wordpress MYSQL_ROOT_PASSWORD=password diff --git a/bin/container/appinstallctl.sh b/bin/container/appinstallctl.sh index d79c63f..c0b724b 100755 --- a/bin/container/appinstallctl.sh +++ b/bin/container/appinstallctl.sh @@ -6,7 +6,7 @@ APP_NAME='' DOMAIN='' WWW_UID='' WWW_GID='' -WP_CONST_CONF='' +WPCONSTCONF='' PUB_IP=$(curl -s http://checkip.amazonaws.com) DB_HOST='mysql' PLUGINLIST="litespeed-cache.zip" @@ -81,11 +81,11 @@ set_vh_docroot(){ if [ "${VHNAME}" != '' ]; then VH_ROOT="${DEFAULT_VH_ROOT}/${VHNAME}" VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${VHNAME}/html" - WP_CONST_CONF="${VH_DOC_ROOT}/wp-content/plugins/litespeed-cache/data/const.default.ini" + WPCONSTCONF="${VH_DOC_ROOT}/wp-content/plugins/litespeed-cache/data/const.default.json" elif [ -d ${DEFAULT_VH_ROOT}/${1}/html ]; then VH_ROOT="${DEFAULT_VH_ROOT}/${1}" VH_DOC_ROOT="${DEFAULT_VH_ROOT}/${1}/html" - WP_CONST_CONF="${VH_DOC_ROOT}/wp-content/plugins/litespeed-cache/data/const.default.ini" + WPCONSTCONF="${VH_DOC_ROOT}/wp-content/plugins/litespeed-cache/data/const.default.json" else echo "${DEFAULT_VH_ROOT}/${1}/html does not exist, please add domain first! Abort!" exit 1 @@ -148,398 +148,13 @@ get_theme_name(){ } set_lscache(){ - cat << EOM > "${WP_CONST_CONF}" -; -; This is the predefined default LSCWP configuration file -; -; All the keys and values please refer \`src/const.cls.php\` -; -; Comments start with \`;\` -; -;; -------------------------------------------------- ;; -;; -------------- General ----------------- ;; -;; -------------------------------------------------- ;; -; O_AUTO_UPGRADE -auto_upgrade = false -; O_API_KEY -api_key = '' -; O_SERVER_IP -server_ip = '' -; O_NEWS -news = false -;; -------------------------------------------------- ;; -;; -------------- Cache ----------------- ;; -;; -------------------------------------------------- ;; -cache-priv = true -cache-commenter = true -cache-rest = true -cache-page_login = true -cache-favicon = true -cache-resources = true -cache-browser = false -cache-mobile = false -cache-mobile_rules = 'Mobile -Android -Silk/ -Kindle -BlackBerry -Opera Mini -Opera Mobi' -cache-exc_useragents = '' -cache-exc_cookies = '' -cache-exc_qs = '' -cache-exc_cat = '' -cache-exc_tag = '' -cache-force_uri = '' -cache-force_pub_uri = '' -cache-priv_uri = '' -cache-exc = '' -cache-exc_roles = '' -cache-drop_qs = 'fbclid -gclid -utm* -_ga' -cache-ttl_pub = 604800 -cache-ttl_priv = 1800 -cache-ttl_frontpage = 604800 -cache-ttl_feed = 604800 -; O_CACHE_TTL_REST -cache-ttl_rest = 604800 -cache-ttl_browser = 31557600 -cache-login_cookie = '' -cache-vary_group = '' -cache-ttl_status = '403 3600 -404 3600 -500 3600' -;; -------------------------------------------------- ;; -;; -------------- Purge ----------------- ;; -;; -------------------------------------------------- ;; -; O_PURGE_ON_UPGRADE -purge-upgrade = true -; O_PURGE_STALE -purge-stale = true -purge-post_all = false -purge-post_f = true -purge-post_h = true -purge-post_p = true -purge-post_pwrp = true -purge-post_a = true -purge-post_y = false -purge-post_m = true -purge-post_d = false -purge-post_t = true -purge-post_pt = true -purge-timed_urls = '' -purge-timed_urls_time = '' -purge-hook_all = 'switch_theme -wp_create_nav_menu -wp_update_nav_menu -wp_delete_nav_menu -create_term -edit_terms -delete_term -add_link -edit_link -delete_link' -;; -------------------------------------------------- ;; -;; -------------- ESI ----------------- ;; -;; -------------------------------------------------- ;; -; O_ESI -esi = false -; O_ESI_CACHE_ADMBAR -esi-cache_admbar = true -; O_ESI_CACHE_COMMFORM -esi-cache_commform = true -; O_ESI_NONCE -esi-nonce = 'stats_nonce -subscribe_nonce' -;; -------------------------------------------------- ;; -;; -------------- Utilities ----------------- ;; -;; -------------------------------------------------- ;; -util-heartbeat = true -util-instant_click = false -util-check_advcache = true -util-no_https_vary = false -;; -------------------------------------------------- ;; -;; -------------- Debug ----------------- ;; -;; -------------------------------------------------- ;; -; O_DEBUG_DISABLE_ALL -debug-disable_all = false -; O_DEBUG -debug = false -; O_DEBUG_IPS -debug-ips = '127.0.0.1' -; O_DEBUG_LEVEL -debug-level = false -; O_DEBUG_FILESIZE -debug-filesize = 3 -; O_DEBUG_COOKIE -debug-cookie = false -; O_DEBUG_COLLAPS_QS -debug-collaps_qs = false -; O_DEBUG_INC -debug-inc = '' -; O_DEBUG_EXC -debug-exc = '' -;; -------------------------------------------------- ;; -;; -------------- DB Optm ----------------- ;; -;; -------------------------------------------------- ;; -; O_DB_OPTM_REVISIONS_MAX -db_optm-revisions_max = 0 -; O_DB_OPTM_REVISIONS_AGE -db_optm-revisions_age = 0 -;; -------------------------------------------------- ;; -;; -------------- HTML Optm ----------------- ;; -;; -------------------------------------------------- ;; -; O_OPTM_CSS_MIN -optm-css_min = false -optm-css_inline_min = false -; O_OPTM_CSS_COMB -optm-css_comb = false -optm-css_comb_priority = false -; O_OPTM_CSS_HTTP2 -optm-css_http2 = false -optm-css_exc = '' -; O_OPTM_JS_MIN -optm-js_min = false -optm-js_inline_min = false -; O_OPTM_JS_COMB -optm-js_comb = false -optm-js_comb_priority = false -; O_OPTM_JS_HTTP2 -optm-js_http2 = false -; O_OPTM_EXC_JQ -optm-js_exc = '' -optm-ttl = 604800 -optm-html_min = false -optm-qs_rm = false -optm-ggfonts_rm = false -; O_OPTM_CSS_ASYNC -optm-css_async = false -; O_OPTM_CCSS_GEN -optm-ccss_gen = true -; O_OPTM_CCSS_ASYNC -optm-ccss_async = true -; O_OPTM_CSS_ASYNC_INLINE -optm-css_async_inline = true -; O_OPTM_CSS_FONT_DISPLAY -optm-css_font_display = false -; O_OPTM_JS_DEFER -optm-js_defer = false -; O_OPTM_JS_INLINE_DEFER -optm-js_inline_defer = false -optm-emoji_rm = false -optm-exc_jq = true -optm-ggfonts_async = false -optm-max_size = 2 -optm-rm_comment = false -optm-exc_roles = '' -optm-ccss_con = '' -optm-js_defer_exc = '' -; O_OPTM_DNS_PREFETCH -optm-dns_prefetch = '' -; O_OPTM_DNS_PREFETCH_CTRL -optm-dns_prefetch_ctrl = false -optm-exc = '' -; O_OPTM_CCSS_SEP_POSTTYPE -optm-ccss_sep_posttype = '' -; O_OPTM_CCSS_SEP_URI -optm-ccss_sep_uri = '' -;; -------------------------------------------------- ;; -;; -------------- Object Cache ----------------- ;; -;; -------------------------------------------------- ;; -object = true -object-kind = false -;object-host = 'localhost' -object-host = '/var/www/memcached.sock' -;object-port = 11211 -cache_object_port = '' -object-life = 360 -object-persistent = true -object-admin = true -object-transients = true -object-db_id = 0 -object-user = '' -object-pswd = '' -object-global_groups = 'users -userlogins -usermeta -user_meta -site-transient -site-options -site-lookup -blog-lookup -blog-details -rss -global-posts -blog-id-cache' -object-non_persistent_groups = 'comment -counts -plugins -wc_session_id' -;; -------------------------------------------------- ;; -;; -------------- Discussion ----------------- ;; -;; -------------------------------------------------- ;; -; O_DISCUSS_AVATAR_CACHE -discuss-avatar_cache = false -; O_DISCUSS_AVATAR_CRON -discuss-avatar_cron = false -; O_DISCUSS_AVATAR_CACHE_TTL -discuss-avatar_cache_ttl = 604800 -;; -------------------------------------------------- ;; -;; -------------- Media ----------------- ;; -;; -------------------------------------------------- ;; -; O_MEDIA_LAZY -media-lazy = false -; O_MEDIA_LAZY_PLACEHOLDER -media-lazy_placeholder = '' -; O_MEDIA_PLACEHOLDER_RESP -media-placeholder_resp = false -; O_MEDIA_PLACEHOLDER_RESP_COLOR -media-placeholder_resp_color = '#cfd4db' -; O_MEDIA_PLACEHOLDER_RESP_GENERATOR -media-placeholder_resp_generator = false -; O_MEDIA_PLACEHOLDER_RESP_SVG -media-placeholder_resp_svg = '' -; O_MEDIA_PLACEHOLDER_LQIP -media-placeholder_lqip = false -; O_MEDIA_PLACEHOLDER_LQIP_QUAL -media-placeholder_lqip_qual = 4 -; O_MEDIA_PLACEHOLDER_RESP_ASYNC -media-placeholder_resp_async = true -; O_MEDIA_IFRAME_LAZY -media-iframe_lazy = false -; O_MEDIA_LAZYJS_INLINE -media-lazyjs_inline = false -; O_MEDIA_LAZY_EXC -media-lazy_exc = '' -; O_MEDIA_LAZY_CLS_EXC -media-lazy_cls_exc = '' -; O_MEDIA_LAZY_PARENT_CLS_EXC -media-lazy_parent_cls_exc = '' -; O_MEDIA_IFRAME_LAZY_CLS_EXC -media-iframe_lazy_cls_exc = '' -; O_MEDIA_IFRAME_LAZY_PARENT_CLS_EXC -media-iframe_lazy_parent_cls_exc = '' -; O_MEDIA_LAZY_URI_EXC -media-lazy_uri_exc = '' -;; -------------------------------------------------- ;; -;; -------------- Image Optm ----------------- ;; -;; -------------------------------------------------- ;; -img_optm-auto = false -img_optm-cron = true -img_optm-ori = true -img_optm-rm_bkup = false -img_optm-webp = false -img_optm-lossless = false -img_optm-exif = false -img_optm-webp_replace = false -img_optm-webp_attr = 'img.src -div.data-thumb -img.data-src -div.data-large_image -img.retina_logo_url -div.data-parallax-image -video.poster' -img_optm-webp_replace_srcset = false -img_optm-jpg_quality = 82 -;; -------------------------------------------------- ;; -;; -------------- Crawler ----------------- ;; -;; -------------------------------------------------- ;; -crawler = false -crawler-inc_posts = true -crawler-inc_pages = true -crawler-inc_cats = true -crawler-inc_tags = true -crawler-exc_cpt = '' -crawler-order_links = 'date_desc' -crawler-usleep = 500 -crawler-run_duration = 400 -crawler-run_interval = 600 -crawler-crawl_interval = 302400 -crawler-threads = 3 -crawler-timeout = 30 -crawler-load_limit = 1 -; O_CRAWLER_SITEMAP -crawler-sitemap = '' -; O_CRAWLER_DROP_DOMAIN -crawler-drop_domain = true -crawler-roles = '' -crawler-cookies = '' -;; -------------------------------------------------- ;; -;; -------------- Misc ----------------- ;; -;; -------------------------------------------------- ;; -; O_MISC_HTACCESS_FRONT -misc-htaccess_front = '' -; O_MISC_HTACCESS_BACK -misc-htaccess_back = '' -; O_MISC_HEARTBEAT_FRONT -misc-heartbeat_front = false -; O_MISC_HEARTBEAT_FRONT_TTL -misc-heartbeat_front_ttl = 60 -; O_MISC_HEARTBEAT_BACK -misc-heartbeat_back = false -; O_MISC_HEARTBEAT_BACK_TTL -misc-heartbeat_back_ttl = 60 -; O_MISC_HEARTBEAT_EDITOR -misc-heartbeat_editor = false -; O_MISC_HEARTBEAT_EDITOR_TTL -misc-heartbeat_editor_ttl = 15 -;; -------------------------------------------------- ;; -;; -------------- CDN ----------------- ;; -;; -------------------------------------------------- ;; -cdn = false -cdn-ori = '' -cdn-ori_dir = '' -cdn-exc = '' -cdn-remote_jq = false -cdn-quic = false -cdn-quic_email = '' -cdn-quic_key = '' -cdn-cloudflare = false -cdn-cloudflare_email = '' -cdn-cloudflare_key = '' -cdn-cloudflare_name = '' -cdn-cloudflare_zone = '' -; \`cdn-mapping\` needs to be put in the end with a section tag -;; -------------------------------------------------- ;; -;; -------------- CDN 2 ----------------- ;; -;; -------------------------------------------------- ;; -; <------------ CDN Mapping Example BEGIN --------------------> -; Need to keep the section tag \`[cdn-mapping]\` before list. -; -; NOTE 1) Need to set all child options to make all resources to be replaced without missing. -; NOTE 2) \`url[n]\` option must have to enable the row setting of \`n\`. -; NOTE 3) This section needs to be put in the end of this .ini file -; -; To enable the 2nd mapping record by default, please remove the \`;;\` in the related lines. -[cdn-mapping] -url[0] = '' -inc_js[0] = true -inc_css[0] = true -inc_img[0] = true -filetype[0] = '.aac -.css -.eot -.gif -.jpeg -.js -.jpg -.less -.mp3 -.mp4 -.ogg -.otf -.pdf -.png -.svg -.ttf -.woff' -;;url[1] = 'https://2nd_CDN_url.com/' -;;filetype[1] = '.webm' -; <------------ CDN Mapping Example END ------------------> -EOM - + wget -q -O ${WPCONSTCONF} https://raw.githubusercontent.com/litespeedtech/lscache_wp/refs/heads/master/data/const.default.json + if [ -f ${WPCONSTCONF} ]; then + sed -ie 's/"object": .*"/"object": '\"true\"'/g' ${WPCONSTCONF} + sed -ie 's/"object-kind": .*"/"object-kind": '\"true\"'/g' ${WPCONSTCONF} + sed -ie 's/"object-host": .*"/"object-host": '\"redis\"'/g' ${WPCONSTCONF} + sed -ie 's/"object-port": .*"/"object-port": '\"6379\"'/g' ${WPCONSTCONF} + fi THEME_PATH="${VH_DOC_ROOT}/wp-content/themes/${THEME}" if [ ! -f ${THEME_PATH}/functions.php ]; then cat >> "${THEME_PATH}/functions.php" <