#!/bin/bash # Vérifier si le script est lancé avec les droits sudo if [[ "$EUID" -ne 0 ]]; then # Afficher un message d'avertissement echo "Veuillez lancer ce script avec les droits sudo" # Quitter le script avec un code d'erreur exit 1 fi # Génération du mot de passe charset='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' password=$(openssl rand -base64 30 | tr -dc "$charset" | fold -w 30) # Question pour la création du site internet read -rp "Nom du site internet : " -e NAME_WEBSITE read -rp "Utilisateur de la BDD : " -e USER_BDD read -rp "Mot de passe de la BDD : " -e -i "${password}" PWD_BDD read -rp "Prefix que vous voulez utilisez : " -e PREFIX read -rp "Compte a utiliser pour wordpress : " -e LOGIN read -sp "Mot de passe : " -e PWD_USER read -rp "Mail pour le compte administrateur : " -e MAIL read -rp "URL du site internet sans le http/s: " -e URL # Création de la base de donnée mysql -e "CREATE DATABASE $NAME_WEBSITE;" mysql -e "CREATE USER '$USER_BDD'@'localhost' IDENTIFIED BY '$PWD_BDD';" mysql -e "GRANT ALL ON $NAME_WEBSITE.* TO '$USER_BDD'@'localhost';" mysql -e "FLUSH PRIVILEGES;" # Téléchargement et installation du Wordpress cd /var/www/html && wget https://fr.wordpress.org/latest-fr_FR.tar.gz > /dev/null 2>&1 tar -xvzf latest-fr_FR.tar.gz -C /var/www/html/ > /dev/null 2>&1 mkdir $NAME_WEBSITE cp -r wordpress/* /var/www/html/$NAME_WEBSITE chown -R apache:apache /var/www/html/$NAME_WEBSITE rm -rf wordpress latest-fr_FR.tar.gz # Création des clées de chiffrement du Wordpress AUTH_KEY=$(openssl rand -hex 64) SECURE_AUTH_KEY=$(openssl rand -hex 64) LOGGED_IN_KEY=$(openssl rand -hex 64) NONCE_KEY=$(openssl rand -hex 64) AUTH_SALT=$(openssl rand -hex 64) SECURE_AUTH_SALT=$(openssl rand -hex 64) LOGGED_IN_SALT=$(openssl rand -hex 64) NONCE_SALT=$(openssl rand -hex 64) # Création du fichier wp-config.php echo " /var/www/html/$NAME_WEBSITE/wp-config.php # Création du fichier HTTPD echo " ServerName $URL ServerAlias www.$URL ServerAdmin $MAIL DocumentRoot /var/www/html/$NAME_WEBSITE Options -Indexes +FollowSymLinks AllowOverride All ErrorLog /var/log/httpd/$NAME_WEBSITE-error.log CustomLog /var/log/httpd/$NAME_WEBSITE-access.log combined " > /etc/httpd/conf.d/$NAME_WEBSITE.conf # Création des fichiers LOG touch /var/log/httpd/$NAME_WEBSITE-access.log touch /var/log/httpd/$NAME_WEBSITE-error.log # Automatisation de l'install wordpress cd /var/www/html/$NAME_WEBSITE /usr/local/bin/wp core install --url=https://$URL/ --title=$NAME_WEBSITE --admin_user=$LOGIN --admin_password=$PWD_USER --admin_email=$MAIL --allow-root > /dev/null 2>&1 # Mettre le HTTPS dans le fichier de conf de WordPress read -p "Voulez-vous mettre le HTTPS ? (o/n) : " -e -i o answer if [[ $answer == "o" ]]; then echo "> /var/www/html/\$NAME_WEBSITE/wp-config.php fi # RESTART HTTPD SERVICE systemctl restart httpd echo "le site internet $NAME_WEBSITE est créer"