#!/bin/bash set -e # On vérifie que le script est bien exécuté avec l'utilisateur root if [[ $EUID -ne 0 ]]; then echo "[Erreur] L'installation doit être exécutée en tant que root." 1>&2 exit 1 fi # On ajoute le dépôt de MariaDB à notre liste de paquets ( https://downloads.mariadb.org/mariadb/repositories/#mirror=cnrs&distro=Debian&distro_release=jessie--jessie&version=10.1 ) echo "Ajout du dépôt MariaDB..." touch /etc/apt/sources.list.d/mariadb.list || (echo "[Erreur] Impossible de créer le fichier mariadb.list" && exit 1) echo -e 'deb http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.1/debian jessie main\ndeb-src http://ftp.igh.cnrs.fr/pub/mariadb/repo/10.1/debian jessie main' > /etc/apt/sources.list.d/mariadb.list || (echo "[Erreur] Impossible d'écrire dans le fichier mariadb.list" && exit 1) # On ajoute la clé GPG correspondante au dépôt echo "Récupération et installation de la clé GPG..." apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db > /dev/null 2>&1 || (echo "[Erreur] Impossible de récupérer ou d'installer la clé GPG !" && exit 1) # On met à jour la liste des paquets echo "Mise à jour de la liste des paquets..." apt-get -qq update || (echo "[Erreur] La mise à jour des paquets a échouée !" && exit 1) # On procède à l'installation, sans interaction, de MariaDB echo "Installation de MariaDB Server 10.1..." { \ echo mariadb-server mysql-server/root_password password 'root'; \ echo mariadb-server mysql-server/root_password_again password 'root'; \ } | debconf-set-selections \ && apt-get install -yqq --no-install-recommends mariadb-server > /dev/null || (echo "[Erreur] L'installation de MariaDB Server 10.1 a échouée !" && exit 1) # On fait écouter le SGBD sur toutes les interfaces echo "Modification de la configuration du SGBD..." sed -i 's,bind-address\t\t= 127.0.0.1,# bind-address\t\t= 127.0.0.1,g' /etc/mysql/my.cnf || (echo "[Erreur] Impossible de modifier la configuration !" && exit 1) service mysql restart # On ajoute les données SQL fournis par GSB sur notre serveur echo "Insertion des données SQL fournis par SGB..." mysql -u root -proot -e "CREATE DATABASE gsb_frais; create user 'gsb'@'%' identified by 'gsbppe2'; grant all privileges on gsb_frais.* to 'gsb'@'%' with grant option; flush privileges;" || (echo "[Erreur] Impossible de créer la base de données et/ou l'utilisateur !" && exit 1) mysql -u root -proot gsb_frais < ./gsb_frais.sql || (echo "[Erreur] Impossible d'importer les données !" && exit 1) echo "[OK] L'installation s'est déroulée correctement. Le serveur est prêt à fonctionner !"