wordpress_install/test.sh

43 lines
1.2 KiB
Bash

#!/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
mysql_secure_installation
systemctl restart apache2
# ====== Create WordPress Database and User ======
mysql <<MYSQL_SCRIPT
CREATE DATABASE ${DB_NAME};
CREATE USER '${DB_USER}'@'localhost' IDENTIFIED BY '${DB_PASSWORD}';
GRANT ALL PRIVILEGES ON ${DB_NAME}.* TO '${DB_USER}'@'localhost';
FLUSH PRIVILEGES;
MYSQL_SCRIPT
# ====== Download and Configure WordPress ======
cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
# Replace DB credentials in wp-config.php
nano /tmp/wordpress/wp-config.php
# ====== 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."