-
Notifications
You must be signed in to change notification settings - Fork 0
/
WordpressEnv.sh
57 lines (50 loc) · 1.88 KB
/
WordpressEnv.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/bash
# Install Apache, MySQL/MariaDB, PHP, and phpMyAdmin
echo "Installing Apache, MySQL/MariaDB, PHP, and phpMyAdmin..."
sudo pacman -S apache mysql php php-apache phpmyadmin --noconfirm
# Start and enable Apache and MySQL/MariaDB services
echo "Starting and enabling Apache and MySQL/MariaDB services..."
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl start mysqld
sudo systemctl enable mysqld
# Reset the root password for MySQL/MariaDB
echo "Resetting the root password for MySQL/MariaDB..."
sudo systemctl stop mysqld
sudo mysqld_safe --skip-grant-tables &
sleep 5
echo "Enter the new root password for MySQL/MariaDB:"
read -s new_password
mysql -u root << EOF
ALTER USER 'root'@'localhost' IDENTIFIED BY '$new_password';
FLUSH PRIVILEGES;
EXIT;
EOF
sudo systemctl stop mysqld
# Create a new WordPress database and user
echo "Creating a new WordPress database and user..."
sudo mysql -u root -p"$new_password" << EOF
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
EOF
# Download and install WordPress
echo "Downloading and installing WordPress..."
cd /srv/http/
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz
sudo mv wordpress/* .
sudo rm -rf latest.tar.gz wordpress/
# Update the wp-config.php file with the database details
echo "Updating the wp-config.php file with the database details..."
DB_NAME='wordpress'
DB_USER='wordpressuser'
DB_PASSWORD='password'
DB_HOST='localhost'
WP_CONFIG='/srv/http/wp-config.php'
sed -i "/define('DB_NAME',/a define('DB_USER', '$DB_USER');" $WP_CONFIG
sed -i "/define('DB_NAME',/a define('DB_PASSWORD', '$DB_PASSWORD');" $WP_CONFIG
sed -i "/define('DB_NAME',/a define('DB_HOST', '$DB_HOST');" $WP_CONFIG
sed -i "/define('DB_NAME',/a define('DB_NAME', '$DB_NAME');" $WP_CONFIG
echo "WordPress has been installed successfully!"