#!/bin/bash

# Script d'installation de WordPress sur Ubuntu
# À exécuter avec les droits root
# Argument 1 : nom de la base données 
# Argument 2 : nom de l'utilisateur ayant droit sur la base de données
# Argument 3 : mot de passe de l'utilisateur ayant acces a la Base de donnees wordpress : entre cotes
# Argument 4 : nom du dossier racine de wordpress
# Mettre à jour le système
# Usage: sudo ./wp-install.sh [db_name] [db_user] [db_pass]
# Exemple: sudo ./wp-install.sh wpdb wpuser secret123

# Paramètres
DB_NAME=${1:-wordpress}
DB_USER=${2:-wpuser}
DB_PASS=${3:-password123}
DIR_WP=${4:-wordpress}

# Mise à jour et installation
apt update && apt install -y mariadb-server php php-mysql libapache2-mod-php

# Services
systemctl start mariadb
systemctl enable mariadb

# Base de données
mysql -e "CREATE DATABASE $DB_NAME; \
          CREATE USER '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASS'; \
          GRANT ALL ON $DB_NAME.* TO '$DB_USER'@'localhost'; \
          FLUSH PRIVILEGES;"

# WordPress
cd /tmp
wget -q https://wordpress.org/latest.tar.gz
mkdir /tmp/$DIR_WP
tar -xzf latest.tar.gz -C /tmp/$DIR_WP
mv /tmp/$DIR_WP /var/www/
chown -R www-data:www-data /var/www/$DIR_WP

# Configuration
cd /var/www/$DIR_WP/wordpress
cp wp-config-sample.php wp-config.php
sed -i "s/database_name_here/$DB_NAME/" wp-config.php
sed -i "s/username_here/$DB_USER/" wp-config.php
sed -i "s/password_here/$DB_PASS/" wp-config.php

echo "<VirtualHost *:80>" >> /etc/apache2/sites-available/000-default.conf
echo "ServerName $DIR_WP.<votredomaine>.<tld>" >> /etc/apache2/sites-available/000-default.conf
echo "DocumentRoot /var/www/$DIR_WP/wordpress" >> /etc/apache2/sites-available/000-default.conf
echo "</VirtualHost>" >> /etc/apache2/sites-available/000-default.conf

# Redémarrage
systemctl restart apache2

echo "Installation terminee !"
echo "Accès: http://$(hostname -I | awk '{print $1}')"
echo "BDD: $DB_NAME | User: $DB_USER | Pass: $DB_PASS"
