Last active
October 2, 2024 09:42
-
-
Save bgallagh3r/2853221 to your computer and use it in GitHub Desktop.
Wordpress: Bash Install Script -- Downloads latest WP version, updates wp-config with user supplied DB name, username and password, creates and CHMOD's uploads dir, copies all the files into the root dir you run the script from, then deletes itself!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash -e | |
clear | |
echo "============================================" | |
echo "WordPress Install Script" | |
echo "============================================" | |
echo "Database Name: " | |
read -e dbname | |
echo "Database User: " | |
read -e dbuser | |
echo "Database Password: " | |
read -s dbpass | |
echo "run install? (y/n)" | |
read -e run | |
if [ "$run" == n ] ; then | |
exit | |
else | |
echo "============================================" | |
echo "A robot is now installing WordPress for you." | |
echo "============================================" | |
#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 | |
#remove bash script | |
rm wp.sh | |
echo "=========================" | |
echo "Installation is complete." | |
echo "=========================" | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi pal! I think you must add a database host URL to the script. Usually, it's localhost in wp-config.php and not work for me.