44 lines
1.6 KiB
Bash
44 lines
1.6 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -x
|
|
|
|
function gen_passwd() {
|
|
< /dev/urandom tr -dc _A-Za-z0-9 | head -c${1:-16};echo;
|
|
}
|
|
|
|
apt-get update
|
|
|
|
if [ ! -f /root/.mysql_root_password ]; then
|
|
MYSQL_ROOT_PASSWORD="$(gen_passwd)"
|
|
echo "$MYSQL_ROOT_PASSWORD" > /root/.mysql_root_password
|
|
else
|
|
MYSQL_ROOT_PASSWORD="$(cat /root/.mysql_root_password)"
|
|
fi
|
|
|
|
if [ ! -f /root/.mysql_wordpress_password ]; then
|
|
MYSQL_WORDPRESS_PASSWORD="$(gen_passwd)"
|
|
else
|
|
MYSQL_WORDPRESS_PASSWORD="$(cat /root/.mysql_wordpress_password)"
|
|
echo "$MYSQL_WORDPRESS_PASSWORD" > /root/.mysql_wordpress_password
|
|
fi
|
|
|
|
debconf-set-selections <<< "mysql-server mysql-server/root_password password $MYSQL_ROOT_PASSWORD"
|
|
debconf-set-selections <<< "mysql-server mysql-server/root_password_again password $MYSQL_ROOT_PASSWORD"
|
|
sudo apt-get -y install mysql-server
|
|
|
|
apt-get install -y wordpress mysql-server
|
|
|
|
ln -s /usr/share/wordpress /var/www/html/wordpress
|
|
|
|
echo "CREATE DATABASE wordpress;" | mysql -p"$MYSQL_ROOT_PASSWORD"
|
|
echo "GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY '$MYSQL_WORDPRESS_PASSWORD';" | mysql -p"$MYSQL_ROOT_PASSWORD"
|
|
echo "FLUSH PRIVILEGES;" | mysql -p"$MYSQL_ROOT_PASSWORD"
|
|
|
|
CONFIG_FILE=/etc/wordpress/config-default.php
|
|
cp /usr/share/wordpress/wp-config-sample.php "$CONFIG_FILE"
|
|
sed -i "s/^define('DB_NAME',.*$/define('DB_NAME', 'wordpress');/" "$CONFIG_FILE"
|
|
sed -i "s/^define('DB_USER',.*$/define('DB_USER', 'wordpress');/" "$CONFIG_FILE"
|
|
sed -i "s/^define('DB_PASSWORD',.*$/define('DB_PASSWORD', '$MYSQL_WORDPRESS_PASSWORD');/" "$CONFIG_FILE"
|
|
|
|
systemctl restart apache2
|