2021-09-22 09:27:28 +02:00
|
|
|
# src : https://gist.github.com/rjekic/2d04423bd167f8e7afd26f8982609378
|
|
|
|
|
|
|
|
#!/bin/bash -e
|
|
|
|
clear
|
|
|
|
echo "============================================"
|
|
|
|
echo "WordPress Install Script"
|
|
|
|
echo "============================================"
|
|
|
|
|
|
|
|
# Gathering database login credentials from user input
|
|
|
|
read -p "Database Host: " dbhost
|
|
|
|
read -p "Database Name: " dbname
|
|
|
|
read -p "Database User: " dbuser
|
|
|
|
read -sp "Database Password: " dbpass
|
|
|
|
echo
|
|
|
|
|
2021-09-22 11:16:54 +02:00
|
|
|
echo
|
|
|
|
|
2021-09-22 09:27:28 +02:00
|
|
|
# Starting the Wordpress installation process
|
|
|
|
clear
|
2021-09-22 11:16:54 +02:00
|
|
|
echo "==================================="
|
|
|
|
echo "Choose Wordpress installation mode:"
|
|
|
|
echo "==================================="
|
|
|
|
echo
|
|
|
|
echo "1. Install Wordpress using wp-cli"
|
|
|
|
echo "2. Install Wordpress without wp-cli"
|
|
|
|
echo
|
|
|
|
read -p "Choose install method: " install_method
|
|
|
|
|
|
|
|
if [ "$install_method" == 1 ]; then
|
2021-09-22 09:27:28 +02:00
|
|
|
|
2021-09-22 11:16:54 +02:00
|
|
|
# Starting the Wordpress installation process using wp-cli
|
2021-09-22 09:27:28 +02:00
|
|
|
# echo "==================================="
|
|
|
|
# echo "Please wait while we install wp-cli"
|
|
|
|
# echo "==================================="
|
|
|
|
# curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
|
|
|
|
# chmod +x wp-cli.phar
|
|
|
|
# cp wp-cli.phar /usr/bin/wp
|
|
|
|
#
|
|
|
|
# echo "=========================="
|
|
|
|
# echo "Finished installing wp-cli"
|
|
|
|
# echo "=========================="
|
2021-09-22 11:16:54 +02:00
|
|
|
|
|
|
|
echo
|
|
|
|
read -p "Install wordpress in a new directory (y/n): " new
|
|
|
|
|
|
|
|
if [ "$new" == y ] ; then
|
|
|
|
read -p "Name of the wordpress directory: " dir_name
|
|
|
|
mkdir -p $dir_name
|
|
|
|
cd $dir_name
|
|
|
|
fi
|
2021-09-22 09:27:28 +02:00
|
|
|
|
|
|
|
# Download the latest wordpress package using wp-cli
|
2021-09-22 11:16:54 +02:00
|
|
|
wp core download
|
2021-09-22 09:27:28 +02:00
|
|
|
# Creating wp-config file using credentials defined on lines 8-11
|
|
|
|
wp core config --dbhost=$dbhost --dbname=$dbname --dbuser=$dbuser --dbpass=$dbpass
|
2021-09-22 11:16:54 +02:00
|
|
|
chmod 644 wp-config.php
|
2021-09-22 09:27:28 +02:00
|
|
|
|
|
|
|
# Entering details of the new Wordpress site
|
|
|
|
clear
|
|
|
|
echo "======================================================="
|
|
|
|
echo "Ready to install Wordpress. Just enter few more details"
|
|
|
|
echo "======================================================="
|
|
|
|
read -p "Website url: " url
|
|
|
|
read -p "Website title: " title
|
|
|
|
read -p "Admin username: " admin_name
|
|
|
|
read -sp "Admin password: " admin_pass
|
|
|
|
echo
|
|
|
|
read -p "Admin email: " admin_email
|
|
|
|
echo
|
|
|
|
read -p "Run install? (y/n): " run_wp_install
|
|
|
|
|
|
|
|
if [ "$run_wp_install" == n ] ; then
|
|
|
|
exit
|
|
|
|
else
|
|
|
|
echo "============================================"
|
|
|
|
echo "A robot is now installing WordPress for you."
|
|
|
|
echo "============================================"
|
|
|
|
echo
|
|
|
|
# Installing Wordpress site using credentials defined on lines 71-76
|
|
|
|
wp core install --url=$url --title="$title" --admin_name=$admin_name --admin_password=$admin_pass --admin_email=$admin_email --allow-root
|
|
|
|
fi
|
2021-09-22 11:16:54 +02:00
|
|
|
else
|
|
|
|
# download wordpress
|
|
|
|
curl -O https://wordpress.org/latest.tar.gz
|
|
|
|
# unzip wordpress
|
|
|
|
tar -zxvf latest.tar.gz
|
|
|
|
# change dir to wordpress
|
|
|
|
cd wordpress
|
|
|
|
# copy file to parent dir
|
|
|
|
cp -rf . ..
|
|
|
|
# move back to parent dir
|
|
|
|
cd ..
|
|
|
|
# remove files from wordpress folder
|
|
|
|
rm -R wordpress
|
|
|
|
# create wp config
|
|
|
|
cp wp-config-sample.php wp-config.php
|
|
|
|
# set database details with perl find and replace
|
|
|
|
perl -pi -e "s/database_name_here/$dbname/g" wp-config.php
|
|
|
|
perl -pi -e "s/username_here/$dbuser/g" wp-config.php
|
|
|
|
perl -pi -e "s/password_here/$dbpass/g" wp-config.php
|
|
|
|
|
|
|
|
# set WP salts
|
|
|
|
perl -i -pe'
|
|
|
|
BEGIN {
|
|
|
|
@chars = ("a" .. "z", "A" .. "Z", 0 .. 9);
|
|
|
|
push @chars, split //, "!@#$%^&*()-_ []{}<>~\`+=,.;:/?|";
|
|
|
|
sub salt { join "", map $chars[ rand @chars ], 1 .. 64 }
|
|
|
|
}
|
|
|
|
s/put your unique phrase here/salt()/ge
|
|
|
|
' wp-config.php
|
|
|
|
|
|
|
|
# create uploads folder and set permissions
|
|
|
|
mkdir wp-content/uploads
|
|
|
|
chmod 775 wp-content/uploads
|
|
|
|
echo "Cleaning..."
|
|
|
|
# remove zip file
|
|
|
|
rm latest.tar.gz
|
|
|
|
echo "========================="
|
|
|
|
echo "Installation is complete."
|
|
|
|
echo "========================="
|
|
|
|
fi
|
2021-09-22 09:27:28 +02:00
|
|
|
|
|
|
|
# Themes
|
2021-09-22 11:16:54 +02:00
|
|
|
#wget --user username --ask-password -O path/to/output.zip https://bitbucket.org/path/to/file.zip
|
2021-09-22 09:27:28 +02:00
|
|
|
#wp theme install https://github.com/Automattic/_s/archive/master.zip --activate
|
|
|
|
#wp scaffold child-theme sample-theme --parent_theme=twentysixteen
|