#!/bin/bash # ====== CONFIGURATION ====== DB_NAME="wordpress" DB_USER="wordpressuser" DB_PASSWORD="Change-me123@!" DB_ROOT_PASSWORD="RootSecure123!@#" # ====== Update & Install Packages ====== apt update && apt upgrade -y apt install -y apache2 mysql-server php libapache2-mod-php php-mysql curl rsync unzip expect # ====== Secure MySQL Installation ====== mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${DB_ROOT_PASSWORD}'; FLUSH PRIVILEGES;" mysql_secure_installation # ====== Create WordPress Database and User ====== mysql -u root -p"${DB_ROOT_PASSWORD}" < /dev/null else echo "⚠️ Failed to fetch salts from WordPress API." fi # ====== Deploy WordPress ====== rsync -avP /tmp/wordpress/ /var/www/html/ chown -R www-data:www-data /var/www/html/ chmod -R 755 /var/www/html/ rm -f /var/www/html/index.html # ====== Restart Apache ====== systemctl restart apache2 echo "✅ WordPress installation completed successfully."