#!/bin/bash #################################################################################################### #### author: SlickStack ############################################################################ #### link: https://slickstack.io ################################################################### #### mirror: https://mirrors.slickstack.io/bash/ss-update-config.txt ############################### #### path: /var/www/ss-update-config ############################################################### #### destination: n/a (not a boilerplate) ########################################################## #### purpose: Updates ss-config file to current boilerplate version and transfers settings ######### #### module version: Ubuntu 22.04 LTS ############################################################## #### sourced by: n/a ############################################################################### #### bash aliases: ss [update|upgrade] config ###################################################### #################################################################################################### ## YOU CAN SAFELY RUN UPDATES WITH NO CHANGES TO YOUR LEMP MODULE CONFIGURATION FILES ## ## IN CASE YOU ACCIDENTALLY OVERWRITE MODULE FILES SIMPLY RUN SS-INSTALL AGAIN ## #################################################################################################### #### TABLE OF CONTENTS (SS-Update-Config) ########################################################## #################################################################################################### ## this is a brief summary of the different code snippets you will find in this script ## ## each section should be commented so you understand what is being accomplished ## ## A. Build Version ## B. Source SS-Config + SS-Functions ## C. Touch Timestamp File ## D. Message (Begin Script) ## E. Cleanup Temporary Files ## F. Backup Active SS-Config File ## G. Validate Active SS-Config Before Proceeding ## H. Retrieve Latest SS-Config Boilerplate ## I. Install Latest SS-Config Boilerplate (Copies Existing Settings) ## J. Validate Latest SS-Config Boilerplate ## K. Replace SS-Config Placeholders (If Exist) #################################################################################################### #### A. SS-Update-Config: Build Version ############################################################ #################################################################################################### ## this build version ensures compatibility with ss-config boilerplate (from mirrors) ## ## it must match the latest ss-config boilerplate otherwise updating will fail ## SS_UPDATE_CONFIG_BUILD="NOV2023G" #################################################################################################### #### B. SS-Update-Config: Source SS-Config + SS-Functions ########################################## #################################################################################################### ## before anything else we must source the critical variables that power this script ## ## ss-config is setup during ss-install wizard but ss-functions is hardcoded ## ## source ss-config ## source /var/www/ss-config ## source ss-functions ## source /var/www/ss-functions ## BELOW THIS RELIES ON SS-CONFIG AND SS-FUNCTIONS #################################################################################################### #### C. SS-Update-Config: Touch Timestamp File ##################################################### #################################################################################################### ## this is a dummy timestamp file that will remember the last time this script was run ## ## it can be useful for developer reference and is sometimes used by SlickStack ## ss_touch "${TIMESTAMP_SS_UPDATE_CONFIG}" #################################################################################################### #### D. SS-Update-Config: Message (Begin Script) ################################################### #################################################################################################### ## this is a simple message that announces to the shell the purpose of this bash script ## ## it will only be seen by sudo users who manually run this script in the shell ## ss_echo "${COLOR_INFO}Running ss-update-config... ${COLOR_RESET}" #################################################################################################### #### E. SS-Update-Config: Cleanup Temporary Files ################################################## #################################################################################################### ## avoid outdated leftover files in /tmp/ folder ss_rm "${TMP_SS_CONFIG_UPDATE}" #################################################################################################### #### F. SS-Update-Config: Backup Active SS-Config File ############################################# #################################################################################################### ## this will replicate your current ss-config file (and settings) to the backups dir ## ## the oldest .bak files will be cleaned up periodically by ss-clean-files ## ## SNIPPET: ss-update-config, ss-worker ## UPDATED: 31MAY2022 ## backup ss-config ## CURRENT_TIME=$(date "+%Y.%b.%d-%H:%M:%S") ss_cp /var/www/ss-config /var/www/backups/config/ss-config.bak.${CURRENT_TIME} #################################################################################################### #### G. SS-Update-Config: Validate Active SS-Config Before Proceeding ############################## #################################################################################################### VALIDATE_SS_CONFIG=$(grep 'EOF' "$PATH_SS_CONFIG") ## change to "$SS_EOF" later ## validate ss-config ## if [[ -z "${VALIDATE_SS_CONFIG}" ]]; then ss_echo "${COLOR_ERROR}Exiting ss-update-config: Your current ss-config file is missing or corrupt so update was skipped... ${NOCOLOR}" exit 1 fi #################################################################################################### #### H. SS-Update-Config: Retrieve Latest SS-Config Boilerplate #################################### #################################################################################################### ## variables will only be copied over from the previous ss-config file if they are defined ## ## otherwise default (recommended) options will be used from the new boilerplate ## ## retrieve ss-config-sample ## ss_wget "${TMP_SS_CONFIG_UPDATE}" "${GITHUB_SS_CONFIG_SAMPLE}" VALIDATE_TMP_SS_CONFIG_UPDATE=$(grep 'SS_EOF' "${TMP_SS_CONFIG_UPDATE}" 2> /dev/null) if [[ -z "${VALIDATE_TMP_SS_CONFIG_UPDATE}" ]]; then ss_wget "${TMP_SS_CONFIG_UPDATE}" "${GITLAB_SS_CONFIG_SAMPLE}" fi ## snippet variables ## SS_BUILD_LATEST=$(source "${TMP_SS_CONFIG_UPDATE}"; echo "${SS_BUILD}" 2> /dev/null) ## ensure latest (retrieved) ss-config build matches current ss-update build ## if [[ "${SS_BUILD_LATEST}" != "${SS_UPDATE_CONFIG_BUILD}" ]]; then ss_rm "${TMP_SS_CONFIG_UPDATE}" ss_echo "${LIGHTRED}Exiting ss-update-config: There is a version mismatch between this script and public mirrors... ${NOCOLOR}" exit 1 fi #################################################################################################### #### I. SS-Update-Config: Install Latest SS-Config Boilerplate (Copies Existing Settings) ########## #################################################################################################### ## this will update the existing ss-config file to latest boilerplate from our mirrors ## ## all existing options will be safely transferred to the new boilerplate ## ## ss lockdown ## ss_sed "s|\(^SS_LOCKDOWN=\).*|SS_LOCKDOWN=\"$SS_LOCKDOWN\"|g" "${TMP_SS_CONFIG_UPDATE}" ## access settings ## ss_sed "s|\(^SUDO_USER=\).*|SUDO_USER=\"$SUDO_USER\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^SUDO_PASSWORD=\).*|SUDO_PASSWORD=\"$SUDO_PASSWORD\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^SSH_KEYS=\).*|SSH_KEYS=\"$SSH_KEYS\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^SSH_RESTRICT_IP=\).*|SSH_RESTRICT_IP=\"$SSH_RESTRICT_IP\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^SSH_IPV4=\).*|SSH_IPV4=\"$SSH_IPV4\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^SFTP_USER=\).*|SFTP_USER=\"$SFTP_USER\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^SFTP_PASSWORD=\).*|SFTP_PASSWORD=\"$SFTP_PASSWORD\"|g" "${TMP_SS_CONFIG_UPDATE}" ## domain settings ## ss_sed "s|\(^SITE_TLD=\).*|SITE_TLD=\"$SITE_TLD\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^SITE_DOMAIN=\).*|SITE_DOMAIN=\"$SITE_DOMAIN\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^SITE_NOINDEX=\).*|SITE_NOINDEX=\"$SITE_NOINDEX\"|g" "${TMP_SS_CONFIG_UPDATE}" ## database settings ## ss_sed "s|\(^DB_NAME=\).*|DB_NAME=\"$DB_NAME\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^DB_USER=\).*|DB_USER=\"$DB_USER\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^DB_PASSWORD_ROOT=\).*|DB_PASSWORD_ROOT=\"$DB_PASSWORD_ROOT\"|g" "${TMP_SS_CONFIG_UPDATE}" ## should come before below line ss_sed "s|\(^DB_PASSWORD=\).*|DB_PASSWORD=\"$DB_PASSWORD\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^DB_HOST=\).*|DB_HOST=\"$DB_HOST\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^DB_PORT=\).*|DB_PORT=\"$DB_PORT\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^DB_PREFIX=\).*|DB_PREFIX=\"$DB_PREFIX\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^DB_CHARSET=\).*|DB_CHARSET=\"$DB_CHARSET\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^DB_COLLATE=\).*|DB_COLLATE=\"$DB_COLLATE\"|g" "${TMP_SS_CONFIG_UPDATE}" ## staging/dev settings ## if [[ -n "${DEV_SITE}" ]]; then ss_sed "s|\(^DEV_SITE=\).*|DEV_SITE=\"$DEV_SITE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${DEV_SITE_PROTECT}" ]]; then ss_sed "s|\(^DEV_SITE_PROTECT=\).*|DEV_SITE_PROTECT=\"$DEV_SITE_PROTECT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${STAGING_SITE}" ]]; then ss_sed "s|\(^STAGING_SITE=\).*|STAGING_SITE=\"$STAGING_SITE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${STAGING_SITE_PROTECT}" ]]; then ss_sed "s|\(^STAGING_SITE_PROTECT=\).*|STAGING_SITE_PROTECT=\"$STAGING_SITE_PROTECT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${GUEST_USER}" ]]; then ss_sed "s|\(^GUEST_USER=\).*|GUEST_USER=\"$GUEST_USER\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${GUEST_PASSWORD}" ]]; then ss_sed "s|\(^GUEST_PASSWORD=\).*|GUEST_PASSWORD=\"$GUEST_PASSWORD\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## remote backup settings ## if [[ -n "${RCLONE_TYPE}" ]]; then ss_sed "s|\(^RCLONE_TYPE=\).*|RCLONE_TYPE=\"$RCLONE_TYPE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_MODE}" ]]; then ss_sed "s|\(^RCLONE_MODE=\).*|RCLONE_MODE=\"$RCLONE_MODE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_REMOTE_PATH}" ]]; then ss_sed "s|\(^RCLONE_REMOTE_PATH=\).*|RCLONE_REMOTE_PATH=\"$RCLONE_REMOTE_PATH\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_CLIENT_ID}" ]]; then ss_sed "s|\(^RCLONE_CLIENT_ID=\).*|RCLONE_CLIENT_ID=\"$RCLONE_CLIENT_ID\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_CLIENT_SECRET}" ]]; then ss_sed "s|\(^RCLONE_CLIENT_SECRET=\).*|RCLONE_CLIENT_SECRET=\"$RCLONE_CLIENT_SECRET\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_USER}" ]]; then ss_sed "s|\(^RCLONE_USER=\).*|RCLONE_USER=\"$RCLONE_USER\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_PASSWORD}" ]]; then ss_sed "s|\(^RCLONE_PASSWORD=\).*|RCLONE_PASSWORD=\"$RCLONE_PASSWORD\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_TOKEN}" ]]; then ss_sed "s|\(^RCLONE_TOKEN=\).*|RCLONE_TOKEN=\"$RCLONE_TOKEN\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_BACKUP_PATH}" ]]; then ss_sed "s|\(^RCLONE_BACKUP_PATH=\).*|RCLONE_BACKUP_PATH=\"$RCLONE_BACKUP_PATH\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RCLONE_PARALLEL_TRANSFERS}" ]]; then ss_sed "s|\(^RCLONE_PARALLEL_TRANSFERS=\).*|RCLONE_PARALLEL_TRANSFERS=\"$RCLONE_PARALLEL_TRANSFERS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## rsync stuff ## if [[ -n "${RSYNC_REMOTE_HOST}" ]]; then ss_sed "s|\(^RSYNC_REMOTE_HOST=\).*|RSYNC_REMOTE_HOST=\"$RSYNC_REMOTE_HOST\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RSYNC_BACKUP_PATH}" ]]; then ss_sed "s|\(^RSYNC_BACKUP_PATH=\).*|RSYNC_BACKUP_PATH=\"$RSYNC_BACKUP_PATH\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RSYNC_USER}" ]]; then ss_sed "s|\(^RSYNC_USER=\).*|RSYNC_USER=\"$RSYNC_USER\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${RSYNC_PASSWORD}" ]]; then ss_sed "s|\(^RSYNC_PASSWORD=\).*|RSYNC_PASSWORD=\"$RSYNC_PASSWORD\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## general settings ## if [[ -n "${SS_APP}" ]]; then ss_sed "s|\(^SS_APP=\).*|SS_APP=\"$SS_APP\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_LANGUAGE}" ]]; then ss_sed "s|\(^SS_LANGUAGE=\).*|SS_LANGUAGE=\"$SS_LANGUAGE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## whitelabel settings ## if [[ -n "${WHITELABEL_BRAND}" ]]; then ss_sed "s|\(^WHITELABEL_BRAND=\).*|WHITELABEL_BRAND=\"$WHITELABEL_BRAND\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WHITELABEL_HOMEPAGE}" ]]; then ss_sed "s|\(^WHITELABEL_HOMEPAGE=\).*|WHITELABEL_HOMEPAGE=\"$WHITELABEL_HOMEPAGE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WHITELABEL_SUPPORT_URL}" ]]; then ss_sed "s|\(^WHITELABEL_SUPPORT_URL=\).*|WHITELABEL_SUPPORT_URL=\"$WHITELABEL_SUPPORT_URL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WHITELABEL_SUPPORT_EMAIL}" ]]; then ss_sed "s|\(^WHITELABEL_SUPPORT_EMAIL=\).*|WHITELABEL_SUPPORT_EMAIL=\"$WHITELABEL_SUPPORT_EMAIL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WHITELABEL_BILLING_METHOD}" ]]; then ss_sed "s|\(^WHITELABEL_BILLING_METHOD=\).*|WHITELABEL_BILLING_METHOD=\"$WHITELABEL_BILLING_METHOD\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## others general ## if [[ -n "${SS_ADMINER_PUBLIC}" ]]; then ss_sed "s|\(^SS_ADMINER_PUBLIC=\).*|SS_ADMINER_PUBLIC=\"$SS_ADMINER_PUBLIC\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_DATABASE_REMOTE}" ]]; then ss_sed "s|\(^SS_DATABASE_REMOTE=\).*|SS_DATABASE_REMOTE=\"$SS_DATABASE_REMOTE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_OBJECT_CACHE}" ]]; then ss_sed "s|\(^SS_OBJECT_CACHE=\).*|SS_OBJECT_CACHE=\"$SS_OBJECT_CACHE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_SYNC_DEVELOPMENT}" ]]; then ss_sed "s|\(^SS_SYNC_DEVELOPMENT=\).*|SS_SYNC_DEVELOPMENT=\"$SS_SYNC_DEVELOPMENT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_SYNC_STAGING}" ]]; then ss_sed "s|\(^SS_SYNC_STAGING=\).*|SS_SYNC_STAGING=\"$SS_SYNC_STAGING\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_TIMEZONE}" ]]; then ss_sed "s|\(^SS_TIMEZONE=\).*|SS_TIMEZONE=\"$SS_TIMEZONE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_REMOTE_BACKUPS}" ]]; then ss_sed "s|\(^SS_REMOTE_BACKUPS=\).*|SS_REMOTE_BACKUPS=\"$SS_REMOTE_BACKUPS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_REBOOT_MIN_UPTIME}" ]]; then ss_sed "s|\(^SS_REBOOT_MIN_UPTIME=\).*|SS_REBOOT_MIN_UPTIME=\"$SS_REBOOT_MIN_UPTIME\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_WORDPRESS_MU_PLUGINS}" ]]; then ss_sed "s|\(^SS_WORDPRESS_MU_PLUGINS=\).*|SS_WORDPRESS_MU_PLUGINS=\"$SS_WORDPRESS_MU_PLUGINS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_PILOT_FILE}" ]]; then ss_sed "s|\(^SS_PILOT_FILE=\).*|SS_PILOT_FILE=\"$SS_PILOT_FILE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## bash script settings ## if [[ -n "${SS_CLEAN_FILES_ROOT_PUBLIC}" ]]; then ss_sed "s|\(^SS_CLEAN_FILES_ROOT_PUBLIC=\).*|SS_CLEAN_FILES_ROOT_PUBLIC=\"$SS_CLEAN_FILES_ROOT_PUBLIC\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_CLEAN_FILES_ROOT_PRIVATE}" ]]; then ss_sed "s|\(^SS_CLEAN_FILES_ROOT_PRIVATE=\).*|SS_CLEAN_FILES_ROOT_PRIVATE=\"$SS_CLEAN_FILES_ROOT_PRIVATE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_INSTALL_NGINX_CONFIG_OVERWRITE_BLOCKS}" ]]; then ss_sed "s|\(^SS_INSTALL_NGINX_CONFIG_OVERWRITE_BLOCKS=\).*|SS_INSTALL_NGINX_CONFIG_OVERWRITE_BLOCKS=\"$SS_INSTALL_NGINX_CONFIG_OVERWRITE_BLOCKS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_INSTALL_WORDPRESS_PACKAGES_DELETE_PHP_FILES_ROOT}" ]]; then ss_sed "s|\(^SS_INSTALL_WORDPRESS_PACKAGES_DELETE_PHP_FILES_ROOT=\).*|SS_INSTALL_WORDPRESS_PACKAGES_DELETE_PHP_FILES_ROOT=\"$SS_INSTALL_WORDPRESS_PACKAGES_DELETE_PHP_FILES_ROOT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_INSTALL_WORDPRESS_PACKAGES_CLEANUP_OPTIONS}" ]]; then ss_sed "s|\(^SS_INSTALL_WORDPRESS_PACKAGES_CLEANUP_OPTIONS=\).*|SS_INSTALL_WORDPRESS_PACKAGES_CLEANUP_OPTIONS=\"$SS_INSTALL_WORDPRESS_PACKAGES_CLEANUP_OPTIONS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## ssl settings ## if [[ -n "${SSL_TYPE}" ]]; then ss_sed "s|\(^SSL_TYPE=\).*|SSL_TYPE=\"$SSL_TYPE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SSL_PROTOCOLS}" ]]; then ss_sed "s|\(^SSL_PROTOCOLS=\).*|SSL_PROTOCOLS=\"$SSL_PROTOCOLS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SSL_CIPHERS}" ]]; then ss_sed "s|\(^SSL_CIPHERS=\).*|SSL_CIPHERS=\"$SSL_CIPHERS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SSL_SESSION_TIMEOUT}" ]]; then ss_sed "s|\(^SSL_SESSION_TIMEOUT=\).*|SSL_SESSION_TIMEOUT=\"$SSL_SESSION_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SSL_SESSION_CACHE}" ]]; then ss_sed "s|\(^SSL_SESSION_CACHE=\).*|SSL_SESSION_CACHE=\"$SSL_SESSION_CACHE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SSL_BUFFER_SIZE}" ]]; then ss_sed "s|\(^SSL_BUFFER_SIZE=\).*|SSL_BUFFER_SIZE=\"$SSL_BUFFER_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ss_sed "s|\(^CSR_COUNTRY=\).*|CSR_COUNTRY=\"$CSR_COUNTRY\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^CSR_STATE=\).*|CSR_STATE=\"$CSR_STATE\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^CSR_CITY=\).*|CSR_CITY=\"$CSR_CITY\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^CSR_COMPANY=\).*|CSR_COMPANY=\"$CSR_COMPANY\"|g" "${TMP_SS_CONFIG_UPDATE}" ss_sed "s|\(^CSR_DEPT=\).*|CSR_DEPT=\"$CSR_DEPT\"|g" "${TMP_SS_CONFIG_UPDATE}" ## wordpress settings ## if [[ -n "${WP_CRON_METHOD}" ]]; then ss_sed "s|\(^WP_CRON_METHOD=\).*|WP_CRON_METHOD=\"$WP_CRON_METHOD\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_CRON_INTERVAL}" ]]; then ss_sed "s|\(^WP_CRON_INTERVAL=\).*|WP_CRON_INTERVAL=\"$WP_CRON_INTERVAL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_MULTISITE}" ]]; then ss_sed "s|\(^WP_MULTISITE=\).*|WP_MULTISITE=\"$WP_MULTISITE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_MULTISITE_SUBDOMAINS}" ]]; then ss_sed "s|\(^WP_MULTISITE_SUBDOMAINS=\).*|WP_MULTISITE_SUBDOMAINS=\"$WP_MULTISITE_SUBDOMAINS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_MULTISITE_DOMAIN_MAPPING}" ]]; then ss_sed "s|\(^WP_MULTISITE_DOMAIN_MAPPING=\).*|WP_MULTISITE_DOMAIN_MAPPING=\"$WP_MULTISITE_DOMAIN_MAPPING\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_POST_REVISIONS}" ]]; then ss_sed "s|\(^WP_POST_REVISIONS=\).*|WP_POST_REVISIONS=\"$WP_POST_REVISIONS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_AUTOSAVE_INTERVAL}" ]]; then ss_sed "s|\(^WP_AUTOSAVE_INTERVAL=\).*|WP_AUTOSAVE_INTERVAL=\"$WP_AUTOSAVE_INTERVAL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_HTTP_BLOCK_EXTERNAL}" ]]; then ss_sed "s|\(^WP_HTTP_BLOCK_EXTERNAL=\).*|WP_HTTP_BLOCK_EXTERNAL=\"$WP_HTTP_BLOCK_EXTERNAL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_ACCESSIBLE_HOSTS}" ]]; then ss_sed "s|\(^WP_ACCESSIBLE_HOSTS=\).*|WP_ACCESSIBLE_HOSTS=\"$WP_ACCESSIBLE_HOSTS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_DISALLOW_FILE_EDIT}" ]]; then ss_sed "s|\(^WP_DISALLOW_FILE_EDIT=\).*|WP_DISALLOW_FILE_EDIT=\"$WP_DISALLOW_FILE_EDIT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_DISALLOW_FILE_MODS}" ]]; then ss_sed "s|\(^WP_DISALLOW_FILE_MODS=\).*|WP_DISALLOW_FILE_MODS=\"$WP_DISALLOW_FILE_MODS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_ALLOW_UNFILTERED_UPLOADS}" ]]; then ss_sed "s|\(^WP_ALLOW_UNFILTERED_UPLOADS=\).*|WP_ALLOW_UNFILTERED_UPLOADS=\"$WP_ALLOW_UNFILTERED_UPLOADS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_PLUGIN_BLACKLIST}" ]]; then ss_sed "s|\(^WP_PLUGIN_BLACKLIST=\).*|WP_PLUGIN_BLACKLIST=\"$WP_PLUGIN_BLACKLIST\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WP_PLUGIN_BLACKLIST_SOURCE}" ]]; then ss_sed "s|\(^WP_PLUGIN_BLACKLIST_SOURCE=\).*|WP_PLUGIN_BLACKLIST_SOURCE=\"$WP_PLUGIN_BLACKLIST_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## nginx settings ## if [[ -n "${NGINX_WORKER_RLIMIT_NOFILE}" ]]; then ss_sed "s|\(^NGINX_WORKER_RLIMIT_NOFILE=\).*|NGINX_WORKER_RLIMIT_NOFILE=\"$NGINX_WORKER_RLIMIT_NOFILE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_WORKER_CONNECTIONS}" ]]; then ss_sed "s|\(^NGINX_WORKER_CONNECTIONS=\).*|NGINX_WORKER_CONNECTIONS=\"$NGINX_WORKER_CONNECTIONS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_SERVER_NAMES_HASH_BUCKET_SIZE}" ]]; then ss_sed "s|\(^NGINX_SERVER_NAMES_HASH_BUCKET_SIZE=\).*|NGINX_SERVER_NAMES_HASH_BUCKET_SIZE=\"$NGINX_SERVER_NAMES_HASH_BUCKET_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_SERVER_NAMES_MAX_HASH_SIZE}" ]]; then ss_sed "s|\(^NGINX_SERVER_NAMES_MAX_HASH_SIZE=\).*|NGINX_SERVER_NAMES_MAX_HASH_SIZE=\"$NGINX_SERVER_NAMES_MAX_HASH_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_TYPES_MAX_HASH_SIZE}" ]]; then ss_sed "s|\(^NGINX_TYPES_MAX_HASH_SIZE=\).*|NGINX_TYPES_MAX_HASH_SIZE=\"$NGINX_TYPES_MAX_HASH_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_CLIENT_MAX_BODY_SIZE}" ]]; then ss_sed "s|\(^NGINX_CLIENT_MAX_BODY_SIZE=\).*|NGINX_CLIENT_MAX_BODY_SIZE=\"$NGINX_CLIENT_MAX_BODY_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_CLIENT_BODY_BUFFER_SIZE}" ]]; then ss_sed "s|\(^NGINX_CLIENT_BODY_BUFFER_SIZE=\).*|NGINX_CLIENT_BODY_BUFFER_SIZE=\"$NGINX_CLIENT_BODY_BUFFER_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_CLIENT_HEADER_BUFFER_SIZE}" ]]; then ss_sed "s|\(^NGINX_CLIENT_HEADER_BUFFER_SIZE=\).*|NGINX_CLIENT_HEADER_BUFFER_SIZE=\"$NGINX_CLIENT_HEADER_BUFFER_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_LARGE_CLIENT_HEADER_BUFFERS}" ]]; then ss_sed "s|\(^NGINX_LARGE_CLIENT_HEADER_BUFFERS=\).*|NGINX_LARGE_CLIENT_HEADER_BUFFERS=\"$NGINX_LARGE_CLIENT_HEADER_BUFFERS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_CLIENT_BODY_TIMEOUT}" ]]; then ss_sed "s|\(^NGINX_CLIENT_BODY_TIMEOUT=\).*|NGINX_CLIENT_BODY_TIMEOUT=\"$NGINX_CLIENT_BODY_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_CLIENT_HEADER_TIMEOUT}" ]]; then ss_sed "s|\(^NGINX_CLIENT_HEADER_TIMEOUT=\).*|NGINX_CLIENT_HEADER_TIMEOUT=\"$NGINX_CLIENT_HEADER_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_KEEPALIVE_TIMEOUT}" ]]; then ss_sed "s|\(^NGINX_KEEPALIVE_TIMEOUT=\).*|NGINX_KEEPALIVE_TIMEOUT=\"$NGINX_KEEPALIVE_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_KEEPALIVE_REQUESTS}" ]]; then ss_sed "s|\(^NGINX_KEEPALIVE_REQUESTS=\).*|NGINX_KEEPALIVE_REQUESTS=\"$NGINX_KEEPALIVE_REQUESTS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_SEND_TIMEOUT}" ]]; then ss_sed "s|\(^NGINX_SEND_TIMEOUT=\).*|NGINX_SEND_TIMEOUT=\"$NGINX_SEND_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${NGINX_CLOUDFLARE_IPS}" ]]; then ss_sed "s|\(^NGINX_CLOUDFLARE_IPS=\).*|NGINX_CLOUDFLARE_IPS=\"$NGINX_CLOUDFLARE_IPS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## open file cache settings ## if [[ -n "${OPEN_FILE_CACHE_MAX}" ]]; then ss_sed "s|\(^OPEN_FILE_CACHE_MAX=\).*|OPEN_FILE_CACHE_MAX=\"$OPEN_FILE_CACHE_MAX\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPEN_FILE_CACHE_INACTIVE}" ]]; then ss_sed "s|\(^OPEN_FILE_CACHE_INACTIVE=\).*|OPEN_FILE_CACHE_INACTIVE=\"$OPEN_FILE_CACHE_INACTIVE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPEN_FILE_CACHE_MIN_USES}" ]]; then ss_sed "s|\(^OPEN_FILE_CACHE_MIN_USES=\).*|OPEN_FILE_CACHE_MIN_USES=\"$OPEN_FILE_CACHE_MIN_USES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPEN_FILE_CACHE_VALID}" ]]; then ss_sed "s|\(^OPEN_FILE_CACHE_VALID=\).*|OPEN_FILE_CACHE_VALID=\"$OPEN_FILE_CACHE_VALID\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPEN_FILE_CACHE_ERRORS}" ]]; then ss_sed "s|\(^OPEN_FILE_CACHE_ERRORS=\).*|OPEN_FILE_CACHE_ERRORS=\"$OPEN_FILE_CACHE_ERRORS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## fastcgi cache settings ## if [[ -n "${FCGI_CACHE}" ]]; then ss_sed "s|\(^FCGI_CACHE=\).*|FCGI_CACHE=\"$FCGI_CACHE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_CACHE_VALID}" ]]; then ss_sed "s|\(^FCGI_CACHE_VALID=\).*|FCGI_CACHE_VALID=\"$FCGI_CACHE_VALID\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_CACHE_INACTIVE}" ]]; then ss_sed "s|\(^FCGI_CACHE_INACTIVE=\).*|FCGI_CACHE_INACTIVE=\"$FCGI_CACHE_INACTIVE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_CACHE_MEMORY}" ]]; then ss_sed "s|\(^FCGI_CACHE_MEMORY=\).*|FCGI_CACHE_MEMORY=\"$FCGI_CACHE_MEMORY\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_CACHE_MAX_SIZE}" ]]; then ss_sed "s|\(^FCGI_CACHE_MAX_SIZE=\).*|FCGI_CACHE_MAX_SIZE=\"$FCGI_CACHE_MAX_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_CACHE_TMPFS}" ]]; then ss_sed "s|\(^FCGI_CACHE_TMPFS=\).*|FCGI_CACHE_TMPFS=\"$FCGI_CACHE_TMPFS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_CONNECT_TIMEOUT}" ]]; then ss_sed "s|\(^FCGI_CONNECT_TIMEOUT=\).*|FCGI_CONNECT_TIMEOUT=\"$FCGI_CONNECT_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_READ_TIMEOUT}" ]]; then ss_sed "s|\(^FCGI_READ_TIMEOUT=\).*|FCGI_READ_TIMEOUT=\"$FCGI_READ_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_SEND_TIMEOUT}" ]]; then ss_sed "s|\(^FCGI_SEND_TIMEOUT=\).*|FCGI_SEND_TIMEOUT=\"$FCGI_SEND_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_BUFFERS}" ]]; then ss_sed "s|\(^FCGI_BUFFERS=\).*|FCGI_BUFFERS=\"$FCGI_BUFFERS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_BUFFER_SIZE}" ]]; then ss_sed "s|\(^FCGI_BUFFER_SIZE=\).*|FCGI_BUFFER_SIZE=\"$FCGI_BUFFER_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_BUSY_BUFFERS_SIZE}" ]]; then ss_sed "s|\(^FCGI_BUSY_BUFFERS_SIZE=\).*|FCGI_BUSY_BUFFERS_SIZE=\"$FCGI_BUSY_BUFFERS_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FCGI_TEMP_FILE_WRITE_SIZE}" ]]; then ss_sed "s|\(^FCGI_TEMP_FILE_WRITE_SIZE=\).*|FCGI_TEMP_FILE_WRITE_SIZE=\"$FCGI_TEMP_FILE_WRITE_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## mysql settings ## if [[ -n "${SQL_MODE}" ]]; then ss_sed "s|\(^SQL_MODE=\).*|SQL_MODE=\"$SQL_MODE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SQL_MAX_ALLOWED_PACKET}" ]]; then ss_sed "s|\(^SQL_MAX_ALLOWED_PACKET=\).*|SQL_MAX_ALLOWED_PACKET=\"$SQL_MAX_ALLOWED_PACKET\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SQL_CONNECT_TIMEOUT}" ]]; then ss_sed "s|\(^SQL_CONNECT_TIMEOUT=\).*|SQL_CONNECT_TIMEOUT=\"$SQL_CONNECT_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SQL_WAIT_TIMEOUT}" ]]; then ss_sed "s|\(^SQL_WAIT_TIMEOUT=\).*|SQL_WAIT_TIMEOUT=\"$SQL_WAIT_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SQL_INTERACTIVE_TIMEOUT}" ]]; then ss_sed "s|\(^SQL_INTERACTIVE_TIMEOUT=\).*|SQL_INTERACTIVE_TIMEOUT=\"$SQL_INTERACTIVE_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SQL_NET_READ_TIMEOUT}" ]]; then ss_sed "s|\(^SQL_NET_READ_TIMEOUT=\).*|SQL_NET_READ_TIMEOUT=\"$SQL_NET_READ_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SQL_NET_WRITE_TIMEOUT}" ]]; then ss_sed "s|\(^SQL_NET_WRITE_TIMEOUT=\).*|SQL_NET_WRITE_TIMEOUT=\"$SQL_NET_WRITE_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INNODB_BUFFER_POOL_SIZE}" ]]; then ss_sed "s|\(^INNODB_BUFFER_POOL_SIZE=\).*|INNODB_BUFFER_POOL_SIZE=\"$INNODB_BUFFER_POOL_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INNODB_LOG_FILE_SIZE}" ]]; then ss_sed "s|\(^INNODB_LOG_FILE_SIZE=\).*|INNODB_LOG_FILE_SIZE=\"$INNODB_LOG_FILE_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INNODB_LOG_FILES_IN_GROUP}" ]]; then ss_sed "s|\(^INNODB_LOG_FILES_IN_GROUP=\).*|INNODB_LOG_FILES_IN_GROUP=\"$INNODB_LOG_FILES_IN_GROUP\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INNODB_FLUSH_LOG_AT_TRX_COMMIT}" ]]; then ss_sed "s|\(^INNODB_FLUSH_LOG_AT_TRX_COMMIT=\).*|INNODB_FLUSH_LOG_AT_TRX_COMMIT=\"$INNODB_FLUSH_LOG_AT_TRX_COMMIT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INNODB_FLUSH_METHOD}" ]]; then ss_sed "s|\(^INNODB_FLUSH_METHOD=\).*|INNODB_FLUSH_METHOD=\"$INNODB_FLUSH_METHOD\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## php settings ## if [[ -n "${PHP_EXTENSIONS}" ]]; then ss_sed "s|\(^PHP_EXTENSIONS=\).*|PHP_EXTENSIONS=\"$PHP_EXTENSIONS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_PRECISION}" ]]; then ss_sed "s|\(^PHP_PRECISION=\).*|PHP_PRECISION=\"$PHP_PRECISION\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_OUTPUT_BUFFERING}" ]]; then ss_sed "s|\(^PHP_OUTPUT_BUFFERING=\).*|PHP_OUTPUT_BUFFERING=\"$PHP_OUTPUT_BUFFERING\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_UNSERIALIZE_MAX_DEPTH}" ]]; then ss_sed "s|\(^PHP_UNSERIALIZE_MAX_DEPTH=\).*|PHP_UNSERIALIZE_MAX_DEPTH=\"$PHP_UNSERIALIZE_MAX_DEPTH\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_SERIALIZE_PRECISION}" ]]; then ss_sed "s|\(^PHP_SERIALIZE_PRECISION=\).*|PHP_SERIALIZE_PRECISION=\"$PHP_SERIALIZE_PRECISION\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_DISABLE_FUNCTIONS}" ]]; then ss_sed "s|\(^PHP_DISABLE_FUNCTIONS=\).*|PHP_DISABLE_FUNCTIONS=\"$PHP_DISABLE_FUNCTIONS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_DISABLE_CLASSES}" ]]; then ss_sed "s|\(^PHP_DISABLE_CLASSES=\).*|PHP_DISABLE_CLASSES=\"$PHP_DISABLE_CLASSES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_MAX_EXECUTION_TIME}" ]]; then ss_sed "s|\(^PHP_MAX_EXECUTION_TIME=\).*|PHP_MAX_EXECUTION_TIME=\"$PHP_MAX_EXECUTION_TIME\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_MAX_INPUT_TIME}" ]]; then ss_sed "s|\(^PHP_MAX_INPUT_TIME=\).*|PHP_MAX_INPUT_TIME=\"$PHP_MAX_INPUT_TIME\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_MAX_INPUT_NESTING_LEVEL}" ]]; then ss_sed "s|\(^PHP_MAX_INPUT_NESTING_LEVEL=\).*|PHP_MAX_INPUT_NESTING_LEVEL=\"$PHP_MAX_INPUT_NESTING_LEVEL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_MAX_INPUT_VARS}" ]]; then ss_sed "s|\(^PHP_MAX_INPUT_VARS=\).*|PHP_MAX_INPUT_VARS=\"$PHP_MAX_INPUT_VARS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_MEMORY_LIMIT}" ]]; then ss_sed "s|\(^PHP_MEMORY_LIMIT=\).*|PHP_MEMORY_LIMIT=\"$PHP_MEMORY_LIMIT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_POST_MAX_SIZE}" ]]; then ss_sed "s|\(^PHP_POST_MAX_SIZE=\).*|PHP_POST_MAX_SIZE=\"$PHP_POST_MAX_SIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_UPLOAD_MAX_FILESIZE}" ]]; then ss_sed "s|\(^PHP_UPLOAD_MAX_FILESIZE=\).*|PHP_UPLOAD_MAX_FILESIZE=\"$PHP_UPLOAD_MAX_FILESIZE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_MAX_FILE_UPLOADS}" ]]; then ss_sed "s|\(^PHP_MAX_FILE_UPLOADS=\).*|PHP_MAX_FILE_UPLOADS=\"$PHP_MAX_FILE_UPLOADS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_ALLOW_URL_FOPEN}" ]]; then ss_sed "s|\(^PHP_ALLOW_URL_FOPEN=\).*|PHP_ALLOW_URL_FOPEN=\"$PHP_ALLOW_URL_FOPEN\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${PHP_DEFAULT_SOCKET_TIMEOUT}" ]]; then ss_sed "s|\(^PHP_DEFAULT_SOCKET_TIMEOUT=\).*|PHP_DEFAULT_SOCKET_TIMEOUT=\"$PHP_DEFAULT_SOCKET_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## fpm settings ## if [[ -n "${FPM_EMERGENCY_RESTART_THRESHOLD}" ]]; then ss_sed "s|\(^FPM_EMERGENCY_RESTART_THRESHOLD=\).*|FPM_EMERGENCY_RESTART_THRESHOLD=\"$FPM_EMERGENCY_RESTART_THRESHOLD\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FPM_EMERGENCY_RESTART_INTERVAL}" ]]; then ss_sed "s|\(^FPM_EMERGENCY_RESTART_INTERVAL=\).*|FPM_EMERGENCY_RESTART_INTERVAL=\"$FPM_EMERGENCY_RESTART_INTERVAL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FPM_PROCESS_CONTROL_TIMEOUT}" ]]; then ss_sed "s|\(^FPM_PROCESS_CONTROL_TIMEOUT=\).*|FPM_PROCESS_CONTROL_TIMEOUT=\"$FPM_PROCESS_CONTROL_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FPM_PROCESS_MAX}" ]]; then ss_sed "s|\(^FPM_PROCESS_MAX=\).*|FPM_PROCESS_MAX=\"$FPM_PROCESS_MAX\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FPM_PROCESS_PRIORITY}" ]]; then ss_sed "s|\(^FPM_PROCESS_PRIORITY=\).*|FPM_PROCESS_PRIORITY=\"$FPM_PROCESS_PRIORITY\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FPM_RLIMIT_FILES}" ]]; then ss_sed "s|\(^FPM_RLIMIT_FILES=\).*|FPM_RLIMIT_FILES=\"$FPM_RLIMIT_FILES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FPM_RLIMIT_CORE}" ]]; then ss_sed "s|\(^FPM_RLIMIT_CORE=\).*|FPM_RLIMIT_CORE=\"$FPM_RLIMIT_CORE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${FPM_SYSTEMD_INTERVAL}" ]]; then ss_sed "s|\(^FPM_SYSTEMD_INTERVAL=\).*|FPM_SYSTEMD_INTERVAL=\"$FPM_SYSTEMD_INTERVAL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## www pool settings ## if [[ -n "${WWW_LISTEN_BACKLOG}" ]]; then ss_sed "s|\(^WWW_LISTEN_BACKLOG=\).*|WWW_LISTEN_BACKLOG=\"$WWW_LISTEN_BACKLOG\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_PM_MODE}" ]]; then ss_sed "s|\(^WWW_PM_MODE=\).*|WWW_PM_MODE=\"$WWW_PM_MODE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_PM_MAX_CHILDREN}" ]]; then ss_sed "s|\(^WWW_PM_MAX_CHILDREN=\).*|WWW_PM_MAX_CHILDREN=\"$WWW_PM_MAX_CHILDREN\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_PM_START_SERVERS}" ]]; then ss_sed "s|\(^WWW_PM_START_SERVERS=\).*|WWW_PM_START_SERVERS=\"$WWW_PM_START_SERVERS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_PM_MIN_SPARE_SERVERS}" ]]; then ss_sed "s|\(^WWW_PM_MIN_SPARE_SERVERS=\).*|WWW_PM_MIN_SPARE_SERVERS=\"$WWW_PM_MIN_SPARE_SERVERS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_PM_MAX_SPARE_SERVERS}" ]]; then ss_sed "s|\(^WWW_PM_MAX_SPARE_SERVERS=\).*|WWW_PM_MAX_SPARE_SERVERS=\"$WWW_PM_MAX_SPARE_SERVERS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_PM_MAX_SPAWN_RATE}" ]]; then ss_sed "s|\(^WWW_PM_MAX_SPAWN_RATE=\).*|WWW_PM_MAX_SPAWN_RATE=\"$WWW_PM_MAX_SPAWN_RATE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_PM_PROCESS_IDLE_TIMEOUT}" ]]; then ss_sed "s|\(^WWW_PM_PROCESS_IDLE_TIMEOUT=\).*|WWW_PM_PROCESS_IDLE_TIMEOUT=\"$WWW_PM_PROCESS_IDLE_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_PM_MAX_REQUESTS}" ]]; then ss_sed "s|\(^WWW_PM_MAX_REQUESTS=\).*|WWW_PM_MAX_REQUESTS=\"$WWW_PM_MAX_REQUESTS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_REQUEST_TERMINATE_TIMEOUT}" ]]; then ss_sed "s|\(^WWW_REQUEST_TERMINATE_TIMEOUT=\).*|WWW_REQUEST_TERMINATE_TIMEOUT=\"$WWW_REQUEST_TERMINATE_TIMEOUT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_RLIMIT_FILES}" ]]; then ss_sed "s|\(^WWW_RLIMIT_FILES=\).*|WWW_RLIMIT_FILES=\"$WWW_RLIMIT_FILES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${WWW_RLIMIT_CORE}" ]]; then ss_sed "s|\(^WWW_RLIMIT_CORE=\).*|WWW_RLIMIT_CORE=\"$WWW_RLIMIT_CORE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## opcache settings ## if [[ -n "${OPCACHE_MEMORY_CONSUMPTION}" ]]; then ss_sed "s|\(^OPCACHE_MEMORY_CONSUMPTION=\).*|OPCACHE_MEMORY_CONSUMPTION=\"$OPCACHE_MEMORY_CONSUMPTION\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPCACHE_INTERNED_STRINGS_BUFFER}" ]]; then ss_sed "s|\(^OPCACHE_INTERNED_STRINGS_BUFFER=\).*|OPCACHE_INTERNED_STRINGS_BUFFER=\"$OPCACHE_INTERNED_STRINGS_BUFFER\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPCACHE_MAX_ACCELERATED_FILES}" ]]; then ss_sed "s|\(^OPCACHE_MAX_ACCELERATED_FILES=\).*|OPCACHE_MAX_ACCELERATED_FILES=\"$OPCACHE_MAX_ACCELERATED_FILES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPCACHE_MAX_WASTED_PERCENTAGE}" ]]; then ss_sed "s|\(^OPCACHE_MAX_WASTED_PERCENTAGE=\).*|OPCACHE_MAX_WASTED_PERCENTAGE=\"$OPCACHE_MAX_WASTED_PERCENTAGE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPCACHE_REVALIDATE_FREQUENCY}" ]]; then ss_sed "s|\(^OPCACHE_REVALIDATE_FREQUENCY=\).*|OPCACHE_REVALIDATE_FREQUENCY=\"$OPCACHE_REVALIDATE_FREQUENCY\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPCACHE_HUGE_CODE_PAGES}" ]]; then ss_sed "s|\(^OPCACHE_HUGE_CODE_PAGES=\).*|OPCACHE_HUGE_CODE_PAGES=\"$OPCACHE_HUGE_CODE_PAGES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPCACHE_PRELOAD}" ]]; then ss_sed "s|\(^OPCACHE_PRELOAD=\).*|OPCACHE_PRELOAD=\"$OPCACHE_PRELOAD\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${OPCACHE_BLACKLIST_FILENAME}" ]]; then ss_sed "s|\(^OPCACHE_BLACKLIST_FILENAME=\).*|OPCACHE_BLACKLIST_FILENAME=\"$OPCACHE_BLACKLIST_FILENAME\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## interval settings ## if [[ -n "${INTERVAL_SS_CHECK}" ]]; then ss_sed "s|\(^INTERVAL_SS_CHECK=\).*|INTERVAL_SS_CHECK=\"$INTERVAL_SS_CHECK\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_CLEAN_DATABASE}" ]]; then ss_sed "s|\(^INTERVAL_SS_CLEAN_DATABASE=\).*|INTERVAL_SS_CLEAN_DATABASE=\"$INTERVAL_SS_CLEAN_DATABASE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_CLEAN_FILES}" ]]; then ss_sed "s|\(^INTERVAL_SS_CLEAN_FILES=\).*|INTERVAL_SS_CLEAN_FILES=\"$INTERVAL_SS_CLEAN_FILES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_DUMP_DATABASE}" ]]; then ss_sed "s|\(^INTERVAL_SS_DUMP_DATABASE=\).*|INTERVAL_SS_DUMP_DATABASE=\"$INTERVAL_SS_DUMP_DATABASE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_DUMP_FILES}" ]]; then ss_sed "s|\(^INTERVAL_SS_DUMP_FILES=\).*|INTERVAL_SS_DUMP_FILES=\"$INTERVAL_SS_DUMP_FILES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_EMPTY_LOGS}" ]]; then ss_sed "s|\(^INTERVAL_SS_EMPTY_LOGS=\).*|INTERVAL_SS_EMPTY_LOGS=\"$INTERVAL_SS_EMPTY_LOGS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_ENCRYPT_ACME}" ]]; then ss_sed "s|\(^INTERVAL_SS_ENCRYPT_ACME=\).*|INTERVAL_SS_ENCRYPT_ACME=\"$INTERVAL_SS_ENCRYPT_ACME\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_ENCRYPT_CERTBOT}" ]]; then ss_sed "s|\(^INTERVAL_SS_ENCRYPT_CERTBOT=\).*|INTERVAL_SS_ENCRYPT_CERTBOT=\"$INTERVAL_SS_ENCRYPT_CERTBOT\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_ENCRYPT_OPENSSL}" ]]; then ss_sed "s|\(^INTERVAL_SS_ENCRYPT_OPENSSL=\).*|INTERVAL_SS_ENCRYPT_OPENSSL=\"$INTERVAL_SS_ENCRYPT_OPENSSL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_ADMINER}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_ADMINER=\).*|INTERVAL_SS_INSTALL_ADMINER=\"$INTERVAL_SS_INSTALL_ADMINER\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_NGINX_CLOUDFLARE_IPS}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_NGINX_CLOUDFLARE_IPS=\).*|INTERVAL_SS_INSTALL_NGINX_CLOUDFLARE_IPS=\"$INTERVAL_SS_INSTALL_NGINX_CLOUDFLARE_IPS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UBUNTU_BASH}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UBUNTU_BASH=\).*|INTERVAL_SS_INSTALL_UBUNTU_BASH=\"$INTERVAL_SS_INSTALL_UBUNTU_BASH\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UBUNTU_CRONTAB}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UBUNTU_CRONTAB=\).*|INTERVAL_SS_INSTALL_UBUNTU_CRONTAB=\"$INTERVAL_SS_INSTALL_UBUNTU_CRONTAB\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UBUNTU_KERNEL}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UBUNTU_KERNEL=\).*|INTERVAL_SS_INSTALL_UBUNTU_KERNEL=\"$INTERVAL_SS_INSTALL_UBUNTU_KERNEL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UBUNTU_SSH}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UBUNTU_SSH=\).*|INTERVAL_SS_INSTALL_UBUNTU_SSH=\"$INTERVAL_SS_INSTALL_UBUNTU_SSH\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UBUNTU_SWAPFILE}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UBUNTU_SWAPFILE=\).*|INTERVAL_SS_INSTALL_UBUNTU_SWAPFILE=\"$INTERVAL_SS_INSTALL_UBUNTU_SWAPFILE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UBUNTU_USERS}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UBUNTU_USERS=\).*|INTERVAL_SS_INSTALL_UBUNTU_USERS=\"$INTERVAL_SS_INSTALL_UBUNTU_USERS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UBUNTU_UTILS}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UBUNTU_UTILS=\).*|INTERVAL_SS_INSTALL_UBUNTU_UTILS=\"$INTERVAL_SS_INSTALL_UBUNTU_UTILS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UFW_CONFIG}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UFW_CONFIG=\).*|INTERVAL_SS_INSTALL_UFW_CONFIG=\"$INTERVAL_SS_INSTALL_UFW_CONFIG\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_UFW_PACKAGES}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_UFW_PACKAGES=\).*|INTERVAL_SS_INSTALL_UFW_PACKAGES=\"$INTERVAL_SS_INSTALL_UFW_PACKAGES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_WORDPRESS_CLI}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_WORDPRESS_CLI=\).*|INTERVAL_SS_INSTALL_WORDPRESS_CLI=\"$INTERVAL_SS_INSTALL_WORDPRESS_CLI\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_WORDPRESS_CONFIG}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_WORDPRESS_CONFIG=\).*|INTERVAL_SS_INSTALL_WORDPRESS_CONFIG=\"$INTERVAL_SS_INSTALL_WORDPRESS_CONFIG\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_WORDPRESS_PACKAGES}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_WORDPRESS_PACKAGES=\).*|INTERVAL_SS_INSTALL_WORDPRESS_PACKAGES=\"$INTERVAL_SS_INSTALL_WORDPRESS_PACKAGES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_INSTALL_WORDPRESS_MU_PLUGINS}" ]]; then ss_sed "s|\(^INTERVAL_SS_INSTALL_WORDPRESS_MU_PLUGINS=\).*|INTERVAL_SS_INSTALL_WORDPRESS_MU_PLUGINS=\"$INTERVAL_SS_INSTALL_WORDPRESS_MU_PLUGINS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_OPTIMIZE_DATABASE}" ]]; then ss_sed "s|\(^INTERVAL_SS_OPTIMIZE_DATABASE=\).*|INTERVAL_SS_OPTIMIZE_DATABASE=\"$INTERVAL_SS_OPTIMIZE_DATABASE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_OPTIMIZE_FILES}" ]]; then ss_sed "s|\(^INTERVAL_SS_OPTIMIZE_FILES=\).*|INTERVAL_SS_OPTIMIZE_FILES=\"$INTERVAL_SS_OPTIMIZE_FILES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_PERMS}" ]]; then ss_sed "s|\(^INTERVAL_SS_PERMS=\).*|INTERVAL_SS_PERMS=\"$INTERVAL_SS_PERMS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_PURGE_NGINX}" ]]; then ss_sed "s|\(^INTERVAL_SS_PURGE_NGINX=\).*|INTERVAL_SS_PURGE_NGINX=\"$INTERVAL_SS_PURGE_NGINX\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_PURGE_OPCACHE}" ]]; then ss_sed "s|\(^INTERVAL_SS_PURGE_OPCACHE=\).*|INTERVAL_SS_PURGE_OPCACHE=\"$INTERVAL_SS_PURGE_OPCACHE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_PURGE_MEMCACHED}" ]]; then ss_sed "s|\(^INTERVAL_SS_PURGE_MEMCACHED=\).*|INTERVAL_SS_PURGE_MEMCACHED=\"$INTERVAL_SS_PURGE_MEMCACHED\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_PURGE_TRANSIENTS}" ]]; then ss_sed "s|\(^INTERVAL_SS_PURGE_TRANSIENTS=\).*|INTERVAL_SS_PURGE_TRANSIENTS=\"$INTERVAL_SS_PURGE_TRANSIENTS\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_REBOOT_MACHINE}" ]]; then ss_sed "s|\(^INTERVAL_SS_REBOOT_MACHINE=\).*|INTERVAL_SS_REBOOT_MACHINE=\"$INTERVAL_SS_REBOOT_MACHINE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_REMOTE_BACKUP}" ]]; then ss_sed "s|\(^INTERVAL_SS_REMOTE_BACKUP=\).*|INTERVAL_SS_REMOTE_BACKUP=\"$INTERVAL_SS_REMOTE_BACKUP\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_RESET_PASSWORD_SFTP}" ]]; then ss_sed "s|\(^INTERVAL_SS_RESET_PASSWORD_SFTP=\).*|INTERVAL_SS_RESET_PASSWORD_SFTP=\"$INTERVAL_SS_RESET_PASSWORD_SFTP\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_RESTART_MYSQL}" ]]; then ss_sed "s|\(^INTERVAL_SS_RESTART_MYSQL=\).*|INTERVAL_SS_RESTART_MYSQL=\"$INTERVAL_SS_RESTART_MYSQL\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_RESTART_NGINX}" ]]; then ss_sed "s|\(^INTERVAL_SS_RESTART_NGINX=\).*|INTERVAL_SS_RESTART_NGINX=\"$INTERVAL_SS_RESTART_NGINX\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_RESTART_PHP}" ]]; then ss_sed "s|\(^INTERVAL_SS_RESTART_PHP=\).*|INTERVAL_SS_RESTART_PHP=\"$INTERVAL_SS_RESTART_PHP\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_RESTART_MEMCACHED}" ]]; then ss_sed "s|\(^INTERVAL_SS_RESTART_MEMCACHED=\).*|INTERVAL_SS_RESTART_MEMCACHED=\"$INTERVAL_SS_RESTART_MEMCACHED\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_RESTART_UFW}" ]]; then ss_sed "s|\(^INTERVAL_SS_RESTART_UFW=\).*|INTERVAL_SS_RESTART_UFW=\"$INTERVAL_SS_RESTART_UFW\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_SYNC_STAGING}" ]]; then ss_sed "s|\(^INTERVAL_SS_SYNC_STAGING=\).*|INTERVAL_SS_SYNC_STAGING=\"$INTERVAL_SS_SYNC_STAGING\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_UPDATE_CONFIG}" ]]; then ss_sed "s|\(^INTERVAL_SS_UPDATE_CONFIG=\).*|INTERVAL_SS_UPDATE_CONFIG=\"$INTERVAL_SS_UPDATE_CONFIG\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${INTERVAL_SS_UPDATE_MODULES}" ]]; then ss_sed "s|\(^INTERVAL_SS_UPDATE_MODULES=\).*|INTERVAL_SS_UPDATE_MODULES=\"$INTERVAL_SS_UPDATE_MODULES\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ -n "${SS_INTERVAL_WORKER}" ]]; then ss_sed "s|\(^SS_INTERVAL_WORKER=\).*|SS_INTERVAL_WORKER=\"$SS_INTERVAL_WORKER\"|g" "${TMP_SS_CONFIG_UPDATE}" fi ## mu plugins ## if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_01_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_01_SOURCE=\).*|MU_PLUGIN_01_SOURCE=\"$MU_PLUGIN_01_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_01_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_01_DIR=\).*|MU_PLUGIN_01_DIR=\"$MU_PLUGIN_01_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_02_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_02_SOURCE=\).*|MU_PLUGIN_02_SOURCE=\"$MU_PLUGIN_02_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_02_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_02_DIR=\).*|MU_PLUGIN_02_DIR=\"$MU_PLUGIN_02_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_03_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_03_SOURCE=\).*|MU_PLUGIN_03_SOURCE=\"$MU_PLUGIN_03_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_03_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_03_DIR=\).*|MU_PLUGIN_03_DIR=\"$MU_PLUGIN_03_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_04_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_04_SOURCE=\).*|MU_PLUGIN_04_SOURCE=\"$MU_PLUGIN_04_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_04_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_04_DIR=\).*|MU_PLUGIN_04_DIR=\"$MU_PLUGIN_04_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_05_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_05_SOURCE=\).*|MU_PLUGIN_05_SOURCE=\"$MU_PLUGIN_05_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_05_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_05_DIR=\).*|MU_PLUGIN_05_DIR=\"$MU_PLUGIN_05_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_06_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_06_SOURCE=\).*|MU_PLUGIN_06_SOURCE=\"$MU_PLUGIN_06_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_06_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_06_DIR=\).*|MU_PLUGIN_06_DIR=\"$MU_PLUGIN_06_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_07_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_07_SOURCE=\).*|MU_PLUGIN_07_SOURCE=\"$MU_PLUGIN_07_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_07_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_07_DIR=\).*|MU_PLUGIN_07_DIR=\"$MU_PLUGIN_07_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_08_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_08_SOURCE=\).*|MU_PLUGIN_08_SOURCE=\"$MU_PLUGIN_08_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_08_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_08_DIR=\).*|MU_PLUGIN_08_DIR=\"$MU_PLUGIN_08_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_09_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_09_SOURCE=\).*|MU_PLUGIN_09_SOURCE=\"$MU_PLUGIN_09_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_09_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_09_DIR=\).*|MU_PLUGIN_09_DIR=\"$MU_PLUGIN_09_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_10_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_10_SOURCE=\).*|MU_PLUGIN_10_SOURCE=\"$MU_PLUGIN_10_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_10_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_10_DIR=\).*|MU_PLUGIN_10_DIR=\"$MU_PLUGIN_10_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_11_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_11_SOURCE=\).*|MU_PLUGIN_11_SOURCE=\"$MU_PLUGIN_11_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_11_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_11_DIR=\).*|MU_PLUGIN_11_DIR=\"$MU_PLUGIN_11_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_12_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_12_SOURCE=\).*|MU_PLUGIN_12_SOURCE=\"$MU_PLUGIN_12_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_12_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_12_DIR=\).*|MU_PLUGIN_12_DIR=\"$MU_PLUGIN_12_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_13_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_13_SOURCE=\).*|MU_PLUGIN_13_SOURCE=\"$MU_PLUGIN_13_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_13_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_13_DIR=\).*|MU_PLUGIN_13_DIR=\"$MU_PLUGIN_13_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_14_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_14_SOURCE=\).*|MU_PLUGIN_14_SOURCE=\"$MU_PLUGIN_14_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_14_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_14_DIR=\).*|MU_PLUGIN_14_DIR=\"$MU_PLUGIN_14_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_15_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_15_SOURCE=\).*|MU_PLUGIN_15_SOURCE=\"$MU_PLUGIN_15_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_15_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_15_DIR=\).*|MU_PLUGIN_15_DIR=\"$MU_PLUGIN_15_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_16_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_16_SOURCE=\).*|MU_PLUGIN_16_SOURCE=\"$MU_PLUGIN_16_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_16_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_16_DIR=\).*|MU_PLUGIN_16_DIR=\"$MU_PLUGIN_16_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_17_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_17_SOURCE=\).*|MU_PLUGIN_17_SOURCE=\"$MU_PLUGIN_17_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_17_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_17_DIR=\).*|MU_PLUGIN_17_DIR=\"$MU_PLUGIN_17_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_18_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_18_SOURCE=\).*|MU_PLUGIN_18_SOURCE=\"$MU_PLUGIN_18_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_18_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_18_DIR=\).*|MU_PLUGIN_18_DIR=\"$MU_PLUGIN_18_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_19_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_19_SOURCE=\).*|MU_PLUGIN_19_SOURCE=\"$MU_PLUGIN_19_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_19_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_19_DIR=\).*|MU_PLUGIN_19_DIR=\"$MU_PLUGIN_19_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_20_SOURCE}" ]]; then ss_sed "s|\(^MU_PLUGIN_20_SOURCE=\).*|MU_PLUGIN_20_SOURCE=\"$MU_PLUGIN_20_SOURCE\"|g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SS_WORDPRESS_MU_PLUGINS}" == "custom" || "${SS_MU_PLUGINS}" == "custom" ]] && [[ -n "${MU_PLUGIN_20_DIR}" ]]; then ss_sed "s|\(^MU_PLUGIN_20_DIR=\).*|MU_PLUGIN_20_DIR=\"$MU_PLUGIN_20_DIR\"|g" "${TMP_SS_CONFIG_UPDATE}" fi #################################################################################################### #### J. SS-Update-Config: Other Fixes Before Finalization #################################### #################################################################################################### ## innodb flush method fix for mysql 8.0 upgrades from 5.7 (etc) ## if [[ "${SYSTEM_UBUNTU_VERSION}" == "20.04" ]]; then ss_sed "s#INNODB_FLUSH_METHOD="O_DIRECT"#INNODB_FLUSH_METHOD="O_DIRECT_NO_FSYNC"#g" "${TMP_SS_CONFIG_UPDATE}" fi if [[ "${SYSTEM_UBUNTU_VERSION}" == "22.04" ]]; then ss_sed "s#INNODB_FLUSH_METHOD="O_DIRECT"#INNODB_FLUSH_METHOD="O_DIRECT_NO_FSYNC"#g" "${TMP_SS_CONFIG_UPDATE}" fi #################################################################################################### #### J. SS-Update-Config: Readiness SS-Config Boilerplate #################################### #################################################################################################### ## this snippet will ensure that the latest ss-config boilerplate appears intact ## ## then it will proceed to overwrite the current ss-config with the new one ## VALIDATE_TMP_SS_CONFIG_UPDATE=$(grep "${SS_EOF}" "${TMP_SS_CONFIG_UPDATE}") DB_NAME_NOW=$(source "${TMP_SS_CONFIG_UPDATE}"; echo "${DB_NAME}") SS_BUILD_ACTIVE=$(source /var/www/ss-config; echo "${SS_BUILD}" 2> /dev/null) if [[ -n "${VALIDATE_TMP_SS_CONFIG_UPDATE}" ]] && [[ -n "${DB_NAME_NOW}" ]]; then ss_mv "${TMP_SS_CONFIG_UPDATE}" "${PATH_SS_CONFIG}" ss_chown root:root "${PATH_SS_CONFIG}" ## must be root:root chmod 0700 "${PATH_SS_CONFIG}" ## must be 0700 ss_echo "${COLOR_INFO}ss-update-config: Your ss-config was successfully updated to latest version ${SS_BUILD_ACTIVE}... ${COLOR_RESET}" else ss_echo "${COLOR_ERROR}ss-update-config: The boilerplate appears corrupt so update was skipped... ${COLOR_RESET}" fi #################################################################################################### #### K. SS-Update-Config: Replace SS-Config Placeholders (If Exist) ################################ #################################################################################################### ## here we manually replace any remaining placeholders in ss-config to avoid conflicts ## ## this ensures a default value exists in case none has ever been specified ## ## replace placeholders with default values if exist ## ss_sed "s|@SSH_PORT|22|g" /var/www/ss-config ## deprecated ss_sed "s|@SSH_KEYS|false|g" /var/www/ss-config ss_sed "s|@SSH_RESTRICT_IP|false|g" /var/www/ss-config ss_sed "s|@SSH_IPV4|192.0.2.1|g" /var/www/ss-config ss_sed "s|@SITE_NOINDEX|false|g" /var/www/ss-config ss_sed "s|@DB_HOST|127.0.0.1|g" /var/www/ss-config ss_sed "s|@DB_PORT|3306|g" /var/www/ss-config ss_sed "s|@DB_PREFIX|wp_|g" /var/www/ss-config ss_sed "s|@DEV_SITE_STATUS|false|g" /var/www/ss-config ss_sed "s|@DEV_SITE_PROTECT|false|g" /var/www/ss-config ss_sed "s|@STAGING_SITE_STATUS|false|g" /var/www/ss-config ss_sed "s|@STAGING_SITE_PROTECT|false|g" /var/www/ss-config ss_sed "s|@GUEST_USER|guest|g" /var/www/ss-config ss_sed "s|@GUEST_PASSWORD|$(openssl rand -hex 12)|g" /var/www/ss-config ss_sed "s|@SS_APP|wordpress|g" /var/www/ss-config ss_sed "s|@SS_LANGUAGE|en_US|g" /var/www/ss-config ss_sed "s|@SS_PILOT_FILE||g" /var/www/ss-config ss_sed "s|@SS_DATABASE_REMOTE|false|g" /var/www/ss-config ss_sed "s|@SS_REMOTE_BACKUPS|none|g" /var/www/ss-config ss_sed "s|@SS_ADMINER_PUBLIC|true|g" /var/www/ss-config ss_sed "s|@SS_WORDPRESS_ADMIN_DASHBOARD|true|g" /var/www/ss-config ss_sed "s|@SS_WORDPRESS_PLUGIN_BLACKLIST|true|g" /var/www/ss-config ss_sed "s|@SSL_TYPE|openssl|g" /var/www/ss-config ss_sed "s|@WP_MULTISITE_STATUS|false|g" /var/www/ss-config ss_sed "s|@WP_MULTISITE_SUBDOMAINS|true|g" /var/www/ss-config ss_sed "s|@NGINX_CLOUDFLARE_IPS|false|g" /var/www/ss-config ## replace missing values ## ss_sed 's|DB_PORT=""|DB_PORT="3306"|g' /var/www/ss-config #################################################################################################### #### SlickStack: Reset Permissions (SlickStack Scripts) ############################################ #################################################################################################### ## we include this permissions reset in all cron jobs and bash scripts for redundancy ## ## chmod 0700 means only the root/sudo users can execute any SlickStack scripts ## ## THIS SNIPPET DOES NOT RELY ON SS-CONFIG OR SS-FUNCTIONS ## SNIPPET: ss bash scripts, ss cron jobs ## UPDATED: 02JUL2022 chown root:root /var/www/ss* ## must be root:root chown root:root /var/www/crons/*cron* ## must be root:root chown root:root /var/www/crons/custom/*cron* ## must be root:root chmod 0700 /var/www/ss* ## 0700 means only root/sudo can execute chmod 0700 /var/www/crons/*cron* ## 0700 means only root/sudo can execute chmod 0700 /var/www/crons/custom/*cron* ## 0700 means only root/sudo can execute #################################################################################################### #### SlickStack: External References Used To Improve This Script (Thanks, Interwebz) ############### #################################################################################################### ## Ref: https://linux.die.net/man/8/apt-get ## Ref: https://askubuntu.com/questions/1112555/is-apt-dist-upgrade-not-necessary-anymore ## Ref: https://unix.stackexchange.com/questions/467552/reboot-over-ssh/467996#467996 ## Ref: https://askubuntu.com/questions/254129/how-to-display-all-apt-get-dpkgoptions-and-their-current-values ## Ref: https://serverfault.com/questions/48724/100-non-interactive-debian-dist-upgrade ## Ref: https://askubuntu.com/questions/938359/apt-get-install-remove-update-upgrade-via-cron-job ## Ref: http://manpages.ubuntu.com/manpages/trusty/man8/apt.8.html ## Ref: https://www.debian.org/doc/manuals/apt-guide/index.en.html ## Ref: https://serverfault.com/questions/478461/how-to-install-packages-with-apt-without-user-interaction ## Ref: https://serverfault.com/questions/644180/what-does-qq-argument-for-apt-get-mean ## Ref: https://superuser.com/questions/1438031/ubuntu-18-command-apt-get-dist-upgrade-qq-force-yes-deprecated ## Ref: https://superuser.com/questions/1412054/non-interactive-apt-upgrade ## Ref: https://serverfault.com/questions/227190/how-do-i-ask-apt-get-to-skip-any-interactive-post-install-configuration-steps ## Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1253351 ## Ref: https://kb.cloudberrylab.com/backup-mac-linux/silent-install-macos-and-linux-builds ## Ref: https://unix.stackexchange.com/questions/32533/debian-how-to-delay-configuration-when-installing-upgrading ## Ref: https://raymii.org/s/tutorials/Silent-automatic-apt-get-upgrade.html ## Ref: https://unix.stackexchange.com/questions/138504/setting-path-vs-exporting-path-in-bash-profile ## Ref: https://askubuntu.com/questions/578568/path-error-in-ubuntu ## Ref: https://stackoverflow.com/questions/38977713/what-is-snap-bin-directory-in-path-can-i-remove-it-from-path ## Ref: https://askubuntu.com/questions/1121495/add-snap-bin-to-path-used-by-systemd ## Ref: https://askubuntu.com/questions/163200/e-dpkg-was-interrupted-run-sudo-dpkg-configure-a ## Ref: https://stackoverflow.com/questions/1305237/how-to-list-variables-declared-in-script-in-bash ## Ref: https://stackoverflow.com/questions/32739572/bash-search-and-replace-value-of-a-variable-inside-a-file ## Ref: https://askubuntu.com/questions/76808/how-do-i-use-variables-in-a-sed-command ## Ref: https://unix.stackexchange.com/questions/69112/how-can-i-use-variables-in-the-lhs-and-rhs-of-a-sed-substitution ## Ref: https://stackoverflow.com/questions/19151954/how-to-use-variables-in-a-command-in-sed ## Ref: https://unix.stackexchange.com/questions/47584/in-a-bash-script-using-the-conditional-or-in-an-if-statement ## Ref: https://stackoverflow.com/questions/11287861/how-to-check-if-a-file-contains-a-specific-string-using-bash ## Ref: https://stackoverflow.com/questions/25564051/how-to-compare-grep-result-with-a-variable ## Ref: https://stackoverflow.com/questions/26458121/grep-a-specific-string-from-bash-script-and-compare ## Ref: https://unix.stackexchange.com/questions/372733/get-output-and-return-value-of-grep-in-single-operation-in-bash ## Ref: https://stackoverflow.com/questions/18789907/read-values-from-configuration-file-and-use-in-shell-script ## Ref: https://stackoverflow.com/questions/38385963/sed-replacing-string-with-quotation-marks ## Ref: https://github.com/littlebizzy/slickstack/issues/36 ## Ref: http://manpages.ubuntu.com/manpages/bionic/man1/date.1.html ## Ref: https://crunchify.com/shell-script-append-timestamp-to-file-name/ ## Ref: https://stackoverflow.com/questions/6946677/grep-with-quotation-mark ## Ref: https://unix.stackexchange.com/questions/48535/can-grep-return-true-false-or-are-there-alternative-methods ## SS_EOF