formations/cesi/securite_entreprise/ressources/intranet-demo/provisioning/wordpress/configure_wordpress.sh

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