#!/bin/bash # Helper function for easy sed usage function sedeasy { # Use sed -i '' for BSD systems sed -i "s/$(echo $1 | sed -e 's/\([[\/.*]\|\]\)/\\&/g')/$(echo $2 | sed -e 's/[\/&]/\\&/g')/g" $3 } # Move working directory to path of this bash script cd $(dirname "$0") # Download wordpress to /tmp/ folder echo "Download latest nl_NL wordpress" curl -s https://nl.wordpress.org/latest-nl_NL.tar.gz > /tmp/wordpress-latest.tar.gz # Extract Wordpress here tar -xvzf /tmp/wordpress-latest.tar.gz wordpress # Move wordpress files to current working root mv wordpress/* . rm -rf wordpress # Install WP Cli curl https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar > wp chmod +x wp # Setup wp-config mv wp-config-sample.php wp-config.php echo 'Domain name:' read domain_name echo 'Site title:' read site_title echo 'Database name:' read db_name echo 'Database username:' read db_user echo 'Database password:' read -s db_pass echo 'Database host:' read db_host # Setup right DB settings sedeasy localhost $db_host wp-config.php sedeasy database_name_here $db_name wp-config.php sedeasy username_here $db_user wp-config.php sedeasy password_here $db_pass wp-config.php # Setup Wordpress secret keys SALT=$(curl -L https://api.wordpress.org/secret-key/1.1/salt/) STRING='put your unique phrase here' printf '%s\n' "g/$STRING/d" a "$SALT" . w | ed -s wp-config.php # Convert Windows line endings to *nix style sed -i '' 's/\r//g' wp-config.php export BIJ1_SETTINGS=" define( 'LOGO_BIG_PATH', '/wp-content/themes/BIJ1/img/afdelingen/arnhem-nijmegen-breed.svg' ); define( 'LOGO_SMALL_PATH', '/wp-content/themes/BIJ1/img/afdelingen/arnhem-nijmegen.svg' ); define( 'IS_MAIN_SITE', false); " # Add custom BIJ1 settings to wp-config in the "custom values" block perl -0777 -pe 's/(.*custom values[^\n]*)/$1\n$ENV{BIJ1_SETTINGS}/s' wp-config.php > wp-config-new.php rm wp-config.php mv wp-config-new.php wp-config.php # Setup template git clone https://code.bij1.org/bij1/bij1-wp-theme.git tmp rm -rf wp-content/themes/twenty* mv tmp/src wp-content/themes/BIJ1 rm -rf tmp/ echo "Installing Wordpress, please note down the password" ./wp core install --url=$domain_name --title=$site_title --admin_name=bij1admin --admin_email=ict@bij1.org --allow-root echo -e "\n\n\n" echo "Installing plugins" ./wp plugin install acf.zip --activate --allow-root > /dev/null ./wp plugin install acf-options-for-polylang --activate --allow-root > /dev/null ./wp plugin install admin-menu-editor --activate --allow-root > /dev/null ./wp plugin install advanced-custom-fields-pro --activate --allow-root > /dev/null ./wp plugin install ajax-load-more --activate --allow-root > /dev/null ./wp plugin install gosign-gallery-box-block --activate --allow-root > /dev/null ./wp plugin install polylang --activate --allow-root > /dev/null ./wp plugin install simple-custom-post-order --activate --allow-root > /dev/null ./wp plugin install ics-calendar --activate --allow-root > /dev/null ./wp plugin install easy-wp-smtp --activate --allow-root ./wp plugin install opengraph --activate --allow-root echo "Activate BIJ1 theme" ./wp theme activate BIJ1 --allow-root echo "Create menus" ./wp menu create "Header menu" --allow-root ./wp menu create "Informatie" --allow-root ./wp menu create "Kom in actie" --allow-root ./wp menu create "Language" --allow-root ./wp menu create "Main" --allow-root ./wp menu create "Secondary" --allow-root