Last active
November 21, 2021 13:43
-
-
Save alexkorep/66b0de398426c98f862c9a2e55358f13 to your computer and use it in GitHub Desktop.
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/sh | |
| # to run: | |
| # bash <(curl -sL https://gist.github.com/alexkorep/66b0de398426c98f862c9a2e55358f13/raw/2ab974e4db402e202f9282b108a8b9200270013a/Install%2520LAMP+Wordpress) | |
| install_dir="/var/www/html" | |
| #Creating Random WP Database Credenitals | |
| db_name="wp`date +%s`" | |
| db_user=$db_name | |
| db_password=`date |md5sum |cut -c '1-12'` | |
| sleep 1 | |
| mysqlrootpass=`date |md5sum |cut -c '1-12'` | |
| sleep 1 | |
| apt update | |
| #### Install Packages for https and mysql | |
| apt -y install apache2 | |
| apt -y install mysql-server | |
| #### Start http | |
| rm /var/www/html/index.html | |
| systemctl enable apache2 | |
| systemctl start apache2 | |
| #### Start mysql and set root password | |
| systemctl enable mysql | |
| systemctl start mysql | |
| /usr/bin/mysql -e "USE mysql;" | |
| /usr/bin/mysql -e "UPDATE user SET Password=PASSWORD($mysqlrootpass) WHERE user='root';" | |
| /usr/bin/mysql -e "FLUSH PRIVILEGES;" | |
| touch /root/.my.cnf | |
| chmod 640 /root/.my.cnf | |
| echo "[client]">>/root/.my.cnf | |
| echo "user=root">>/root/.my.cnf | |
| echo "password="$mysqlrootpass>>/root/.my.cnf | |
| ####Install PHP | |
| apt -y install php | |
| apt -y install php-mysql | |
| apt -y install php-gd | |
| apt -y install libapache2-mod-php | |
| sed -i '0,/AllowOverride\ None/! {0,/AllowOverride\ None/ s/AllowOverride\ None/AllowOverride\ All/}' /etc/apache2/apache2.conf #Allow htaccess usage | |
| systemctl restart apache2 | |
| ####Download and extract latest WordPress Package | |
| if test -f /tmp/latest.tar.gz | |
| then | |
| echo "WP is already downloaded." | |
| else | |
| echo "Downloading WordPress" | |
| cd /tmp/ && wget "http://wordpress.org/latest.tar.gz"; | |
| fi | |
| /bin/tar -C $install_dir -zxf /tmp/latest.tar.gz --strip-components=1 | |
| chown www-data: $install_dir -R | |
| #### Create WP-config and set DB credentials | |
| /bin/mv $install_dir/wp-config-sample.php $install_dir/wp-config.php | |
| /bin/sed -i "s/database_name_here/$db_name/g" $install_dir/wp-config.php | |
| /bin/sed -i "s/username_here/$db_user/g" $install_dir/wp-config.php | |
| /bin/sed -i "s/password_here/$db_password/g" $install_dir/wp-config.php | |
| cat << EOF >> $install_dir/wp-config.php | |
| define('FS_METHOD', 'direct'); | |
| EOF | |
| cat << EOF >> $install_dir/.htaccess | |
| # BEGIN WordPress | |
| <IfModule mod_rewrite.c> | |
| RewriteEngine On | |
| RewriteBase / | |
| RewriteRule ^index.php$ – [L] | |
| RewriteCond %{REQUEST_FILENAME} !-f | |
| RewriteCond %{REQUEST_FILENAME} !-d | |
| RewriteRule . /index.php [L] | |
| </IfModule> | |
| # END WordPress | |
| EOF | |
| chown www-data: $install_dir -R | |
| ##### Set WP Salts | |
| grep -A50 'table_prefix' $install_dir/wp-config.php > /tmp/wp-tmp-config | |
| /bin/sed -i '/**#@/,/$p/d' $install_dir/wp-config.php | |
| /usr/bin/lynx --dump -width 200 https://api.wordpress.org/secret-key/1.1/salt/ >> $install_dir/wp-config.php | |
| /bin/cat /tmp/wp-tmp-config >> $install_dir/wp-config.php && rm /tmp/wp-tmp-config -f | |
| /usr/bin/mysql -u root -e "CREATE DATABASE $db_name" | |
| /usr/bin/mysql -u root -e "CREATE USER '$db_name'@'localhost' IDENTIFIED WITH mysql_native_password BY '$db_password';" | |
| /usr/bin/mysql -u root -e "GRANT ALL PRIVILEGES ON $db_name.* TO '$db_user'@'localhost';" | |
| ######Display generated passwords to log file. | |
| echo "Database Name: " $db_name | |
| echo "Database User: " $db_user | |
| echo "Database Password: " $db_password | |
| echo "Mysql root password: " $mysqlrootpass | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment