-
-
Save dimaguy/9229c8626edb757ba6c9bdc77afae843 to your computer and use it in GitHub Desktop.
Wordpress: Bash Install Script -- Downloads latest WP version AND it's dependencies(unlike the others), 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 it does NOT deletes itself(unlike the others), because so it can be re-u…
This file contains hidden or 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 and its dependencies | |
sudo apt-get update | |
sudo apt-get install apache2 mysql-server php-curl php-gd php-mbstring php-xml php-xmlrpc php-mysql | |
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment