jpsType: update 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} 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 - setupWordPress - installPlugins - setupPlugins actions: deployWordPress: - cmd[${nodes.cp.master.id}]: |- #wget -qO /tmp/wordpress.tar.gz 'https://wordpress.org/wordpress-${globals.version_wordpress}.tar.gz'; wget -qO /tmp/wordpress.tar.gz 'https://wordpress.org/latest.tar.gz'; [ -d /tmp/wordpress/ ] && rm -rf /tmp/wordpress; tar -xzf /tmp/wordpress.tar.gz -C /tmp/; 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[${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 ${baseUrl}../images/favicon.ico -O /var/www/webroot/ROOT/favicon.ico; installScripts: - cmd[cp]: |- [ ! -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 "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-performance-cluster/raw/branch/main/scripts/setupWP.sh?_r=${fn.random} -O ~/bin/setupWP.sh &>> /var/log/run.log; echo $HOME/bin; - cmd[cp]: echo ${response.out} >> /etc/jelastic/redeploy.conf; yum install jq -y &>> /var/log/run.log; user: root setupWordPress: - 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: - 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[${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};