Revert InstallWP

main
Anthony 2024-09-21 03:12:33 +08:00
parent b8cd70cb22
commit db9ad801c6
1 changed files with 66 additions and 60 deletions

View File

@ -3,92 +3,98 @@ id: wordpress-core-installation
name: WordPress Core Installation
description: WordPress Core Installation
mixins:
- https://raw.githubusercontent.com/jelastic-jps/wordpress/master/configs/vers.yaml
globals:
WP_ADMIN_PASS: "${settings.wp_admin_pass}"
WP_TITLE: "${settings.wp_title}"
WP_ADMIN_USER: "${settings.wp_admin_user:admin}"
WP_ADMIN_EMAIL: "${settings.wp_admin_email:admin@example.com}"
DB_HOST: "${settings.db_host}"
DB_NAME: "wp_${fn.random}"
DB_USER: "${settings.db_user}"
DB_PASS: "${settings.db_pass}"
REDIS_HOST: "${settings.redis_host:/var/run/redis/redis.sock}"
REDIS_PORT: "${settings.redis_port:0}"
REDIS_USER: "${settings.redis_user:}"
REDIS_PSWD: "${settings.redis_pswd:}"
WP_URL: "${settings.wp_url}"
BASE_URL: "${globals.BASE_URL}"
VERSION_WORDPRESS: "${settings.version_wordpress:6.3.1}"
version_lscache: "${settings.version_lscache:5.6.4}"
TARGET_NODE_ID: "${settings.targetNodeID}"
SERVER_WEBROOT: "/var/www/webroot/ROOT" # Optional for consistency
WP_ADMIN_PASS: ${settings.wp_admin_pass}
WP_TITLE: ${settings.wp_title}
DB_HOST: ${settings.db_host}
DB_NAME: wp_${fn.random}
DB_USER: ${settings.db_user}
DB_PASS: ${settings.db_pass}
REDIS_HOST: ${settings.redis_host:}
REDIS_PORT: ${settings.redis_port:}
REDIS_USER: ${settings.redis_user:}
REDIS_PSWD: ${settings.redis_pswd:}
WP_URL: ${settings.wp_url}
CLUSTER: ${settings.cluster:true}
onInstall:
- deployWordPress
- installScripts
- installWordpress
- installWordPress
- setupWordPress
- installPlugins
- setupPlugins
actions:
deployWordPress:
- cmd[${globals.TARGET_NODE_ID}]: |-
echo "Deploying WordPress Version ${globals.VERSION_WORDPRESS}" >> /var/log/deploy_wordpress.log;
wget -qO /tmp/wordpress.tar.gz 'https://wordpress.org/wordpress-${globals.VERSION_WORDPRESS}.tar.gz';
- cmd[${nodes.cp.master.id}]: |-
wget -qO /tmp/wordpress.tar.gz 'https://wordpress.org/wordpress-${globals.version_wordpress}.tar.gz';
[ -d /tmp/wordpress/ ] && rm -rf /tmp/wordpress;
tar -xzf /tmp/wordpress.tar.gz -C /tmp/;
rsync -a /tmp/wordpress/ ${globals.SERVER_WEBROOT}/ >> /var/log/deploy_wordpress.log 2>&1;
rsync -a /tmp/wordpress/* /var/www/webroot/ROOT/;
rsync -a --checksum /tmp/wordpress/* /var/www/webroot/ROOT/;
- addContext [cp]:
name: ROOT
fileName: WordPress
type: ARCHIVE
installWordpress:
- cmd[${globals.TARGET_NODE_ID}]: |-
echo "Creating Database ${globals.DB_NAME}" >> /var/log/install_wordpress.log;
mysql -u${globals.DB_USER} -p${globals.DB_PASS} -h ${globals.DB_HOST} -e "CREATE DATABASE IF NOT EXISTS ${globals.DB_NAME};" >> /var/log/install_wordpress.log 2>&1;
echo "Configuring wp-config.php" >> /var/log/install_wordpress.log;
cd ${globals.SERVER_WEBROOT} && wp core config --dbhost=${globals.DB_HOST} --dbname=${globals.DB_NAME} --dbuser=${globals.DB_USER} --dbpass=${globals.DB_PASS} --path=${globals.SERVER_WEBROOT} >> /var/log/install_wordpress.log 2>&1;
echo "Installing WordPress Core" >> /var/log/install_wordpress.log;
cd ${globals.SERVER_WEBROOT} && wp core install --title="${globals.WP_TITLE}" --admin_user=${globals.WP_ADMIN_USER} --admin_password=${globals.WP_ADMIN_PASS} --url=${globals.WP_URL} --admin_email=${globals.WP_ADMIN_EMAIL} --skip-email --path=${globals.SERVER_WEBROOT} >> /var/log/install_wordpress.log 2>&1;
echo "Downloading favicon.ico" >> /var/www/webroot/ROOT/favicon.ico;
wget ${globals.BASE_URL}/images/favicon.ico -O ${globals.SERVER_WEBROOT}/favicon.ico >> /var/log/install_wordpress.log 2>&1;
installWordPress:
- if ('${globals.CLUSTER}' == 'true'):
cmd[${nodes.cp.master.id}]: |-
mysql -u${globals.DB_USER} -p${globals.DB_PASS} -h ${nodes.sqldb.master.intIP} -e "CREATE DATABASE IF NOT EXISTS ${globals.DB_NAME};"
cd /var/www/webroot/ROOT && wp core config --dbhost=${nodes.sqldb.master.intIP} --dbname=${globals.DB_NAME} --dbuser=${globals.DB_USER} --dbpass=${globals.DB_PASS} --path=/var/www/webroot/ROOT;
cd /var/www/webroot/ROOT && wp core install --title="${globals.WP_TITLE}" --admin_user=${user.email} --admin_password=${globals.WP_ADMIN_PASS} --url=${globals.WP_URL} --admin_email=${user.email} --skip-email --path=/var/www/webroot/ROOT;
mv /var/www/webroot/ROOT/wp-config.php /tmp; sed -i "s/${nodes.sqldb.master.intIP}/${globals.DB_HOST}/g" /tmp/wp-config.php; mv /tmp/wp-config.php /var/www/webroot/ROOT;
wget https://raw.githubusercontent.com/jelastic-jps/wordpress/v2.2.0/images/favicon.ico /var/www/webroot/ROOT/favicon.ico;
- else:
cmd[${nodes.cp.master.id}]: |-
mysql -u${globals.DB_USER} -p${globals.DB_PASS} -h ${globals.DB_HOST} -e "CREATE DATABASE IF NOT EXISTS ${globals.DB_NAME};"
cd /var/www/webroot/ROOT && wp core config --dbhost=${globals.DB_HOST} --dbname=${globals.DB_NAME} --dbuser=${globals.DB_USER} --dbpass=${globals.DB_PASS} --path=/var/www/webroot/ROOT;
cd /var/www/webroot/ROOT && wp core install --title="${globals.WP_TITLE}" --admin_user=${user.email} --admin_password=${globals.WP_ADMIN_PASS} --url=${globals.WP_URL} --admin_email=${user.email} --skip-email --path=/var/www/webroot/ROOT;
wget https://raw.githubusercontent.com/jelastic-jps/wordpress/v2.2.0/images/favicon.ico -O /var/www/webroot/ROOT/favicon.ico;
installScripts:
- cmd[cp]: |-
echo "Installing WP-CLI" >> /var/log/install_scripts.log;
[ ! -d $HOME/bin ] && mkdir $HOME/bin;
curl -o $HOME/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar && chmod +x $HOME/bin/wp;
echo "Configuring WP-CLI" >> /var/log/install_scripts.log;
echo "apache_modules:" > $HOME/bin/wp-cli.yml;
echo " - mod_rewrite" >> $HOME/bin/wp-cli.yml;
echo "export PATH=\$PATH:\$HOME/bin/" >> $HOME/.bash_profile;
echo "Downloading setupWP.sh" >> /var/log/install_scripts.log;
wget ${globals.BASE_URL}/scripts/setupWP.sh?_r=${fn.random} -O $HOME/bin/setupWP.sh &>> /var/log/install_scripts.log;
echo "apache_modules:" > ~/bin/wp-cli.yml;
echo " - mod_rewrite" >> ~/bin/wp-cli.yml;
echo "export PATH=$PATH:$HOME/bin/" >> $HOME/.bash_profile;
wget https://deploy-proxy.mightybox.io/kits/wp-mb-kit/raw/branch/main/scripts/setupWP.sh?_r=${fn.random} -O ~/bin/setupWP.sh &>> /var/log/run.log;
echo $HOME/bin;
- cmd[cp]:
echo "Updating redeploy.conf and installing jq" >> /var/log/install_scripts.log;
echo ${response.out} >> /etc/jelastic/redeploy.conf;
yum install jq -y &>> /var/log/install_scripts.log;
yum install jq -y &>> /var/log/run.log;
user: root
setupWordPress:
- cmd[${globals.TARGET_NODE_ID}]: |-
echo "Disabling WP Auto Update Core" >> /var/log/setup_wordpress.log;
grep -qE "(WP_AUTO_UPDATE_CORE)" ${globals.SERVER_WEBROOT}/wp-config.php || sed -i "/^\$table_prefix.*/a define( 'WP_AUTO_UPDATE_CORE', false );" ${globals.SERVER_WEBROOT}/wp-config.php;
echo "Updating Permalink Structure" >> /var/log/setup_wordpress.log;
wp option update permalink_structure '/%postname%/' --path=${globals.SERVER_WEBROOT} >> /var/log/setup_wordpress.log 2>&1;
echo "Setting Rewrite Structure" >> /var/log/setup_wordpress.log;
wp rewrite structure '/%postname%/' --hard --path=${globals.SERVER_WEBROOT} >> /var/log/setup_wordpress.log 2>&1;
- cmd[${nodes.cp.master.id}]: |-
grep -qE "(WP_AUTO_UPDATE_CORE)" /var/www/webroot/ROOT/wp-config.php || sed -i "/^\$table_prefix.*/a define( 'WP_AUTO_UPDATE_CORE', false );" /var/www/webroot/ROOT/wp-config.php;
cd ~/bin/ && wp option update permalink_structure '/%postname%/' --path=/var/www/webroot/ROOT;
cd ~/bin/ && wp rewrite structure '/%postname%/' --hard --path=/var/www/webroot/ROOT;
installPlugins:
- cmd[${globals.TARGET_NODE_ID}]: |-
echo "Installing LiteSpeed Cache Plugin Version ${globals.version_lscache}" >> /var/log/install_plugins.log;
wp plugin install litespeed-cache --version=${globals.version_lscache} --activate --path=${globals.SERVER_WEBROOT} &>> /var/log/install_plugins.log;
echo "Flushing WordPress Cache" >> /var/log/install_plugins.log;
wp cache flush --path=${globals.SERVER_WEBROOT} &>> /var/log/install_plugins.log;
- if (/lemp/.test("${nodes.cp.nodeType}") || /nginxphp/.test("${nodes.cp.nodeType}")):
cmd[${nodes.cp.master.id}]: |-
wget ${baseUrl}../configs/wordpress/wp-jelastic.php -O /var/www/webroot/ROOT/wp-jelastic.php
mv /var/www/webroot/ROOT/wp-config.php /tmp; sed -i "s/.*'wp-settings.php';.*/require_once ABSPATH . 'wp-jelastic.php';\n&/" /tmp/wp-config.php; mv /tmp/wp-config.php /var/www/webroot/ROOT;
wp plugin install w3-total-cache --version=${globals.version_w3total} --activate --path=/var/www/webroot/ROOT &>> /var/log/run.log;
wp cache flush --path=/var/www/webroot/ROOT &>> /var/log/run.log;
wp plugin install nginx-cache --activate --path=/var/www/webroot/ROOT &>> /var/log/run.log;
wp cache flush --path=/var/www/webroot/ROOT &>> /var/log/run.log;
wp db query "INSERT INTO wp_options(option_name,option_value,autoload) VALUES('nginx_cache_path','/var/www/webroot/ROOT/.cache','yes');" --path=/var/www/webroot/ROOT &>> /var/log/run.log;
wp db query "INSERT INTO wp_options(option_name,option_value,autoload) VALUES('nginx_auto_purge',1,'yes');" --path=/var/www/webroot/ROOT &>> /var/log/run.log;
wp cache flush --path=/var/www/webroot/ROOT &>> /var/log/run.log;
- if (/llsmp/.test("${nodes.cp.nodeType}") || /litespeed/.test("${nodes.cp.nodeType}")):
cmd[${nodes.cp.master.id}]: |-
wp plugin install litespeed-cache --version=${globals.version_lscache} --activate --path=/var/www/webroot/ROOT &>> /var/log/run.log;
wp cache flush --path=/var/www/webroot/ROOT &>> /var/log/run.log;
setupPlugins:
- cmd[${globals.TARGET_NODE_ID}]: |-
echo "Running setupWP.sh with Redis Configuration" >> /var/log/setup_plugins.log;
bash $HOME/bin/setupWP.sh --pgcache true --objectcache true --REDIS_HOST ${globals.REDIS_HOST} --REDIS_PORT ${globals.REDIS_PORT} --REDIS_USER ${globals.REDIS_USER} --REDIS_PSWD ${globals.REDIS_PSWD} >> /var/log/setup_plugins.log 2>&1;
- cmd[${nodes.cp.master.id}]: |-
bash ~/bin/setupWP.sh --pgcache true --objectcache true --REDIS_HOST ${globals.REDIS_HOST} --REDIS_PORT ${globals.REDIS_PORT} --REDIS_USER ${globals.REDIS_USER} --REDIS_PSWD ${globals.REDIS_PSWD};