install
This commit is contained in:
Executable
+76
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script d'installation et de configuration de MariaDB
|
||||
# Utilisation : source mariadb_config.sh && ./install_mariadb.sh
|
||||
|
||||
|
||||
ENV_FILE="../test_tube_scanner/.env"
|
||||
source $ENV_FILE
|
||||
|
||||
# Vérifie que le fichier de configuration est sourcé
|
||||
if [ -z "$DATABASE_ROOT_PASSWORD" ] || [ -z "$DATABASE_NAME" ] || [ -z "$DATABASE_USER" ] || [ -z "$DATABASE_PASSWORD" ]; then
|
||||
echo "Erreur : Les variables de configuration ne sont pas définies."
|
||||
echo "Sourcez le fichier de configuration avant d'exécuter ce script :"
|
||||
echo " source mariadb_config.sh && ./install_mariadb.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Mise à jour des paquets
|
||||
echo "[1/6] Mise à jour des paquets..."
|
||||
sudo apt update && sudo apt upgrade -y
|
||||
|
||||
# Installation de MariaDB
|
||||
echo "[2/6] Installation de MariaDB..."
|
||||
sudo apt install -y mariadb-server
|
||||
|
||||
|
||||
# Sécurisation de MariaDB (désactive l'accès root à distance, supprime les bases de test, etc.)
|
||||
echo "[3/6] Sécurisation de MariaDB..."
|
||||
sudo mariadb_secure_installation <<EOF
|
||||
|
||||
n
|
||||
y
|
||||
$DATABASE_ROOT_PASSWORD
|
||||
$DATABASE_ROOT_PASSWORD
|
||||
y
|
||||
y
|
||||
y
|
||||
y
|
||||
EOF
|
||||
|
||||
# Création de la base de données, de l'utilisateur et attribution des droits
|
||||
echo "[4/6] Configuration de la base de données '$DATABASE_NAME' et de l'utilisateur '$DATABASE_USER'..."
|
||||
sudo mariadb -u root -p"$DATABASE_ROOT_PASSWORD" <<EOF
|
||||
CREATE DATABASE IF NOT EXISTS $DATABASE_NAME;
|
||||
CREATE USER IF NOT EXISTS '$DATABASE_USER'@'localhost' IDENTIFIED BY '$DATABASE_PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON $DATABASE_NAME.* TO '$DATABASE_USER'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
EOF
|
||||
|
||||
# Autoriser l'accès à distance (optionnel, si nécessaire)
|
||||
# Remplace '%' par une IP spécifique pour plus de sécurité
|
||||
echo "[5/6] Autorisation de l'accès à distance pour '$DATABASE_USER' (optionnel)..."
|
||||
sudo mariadb -u root -p"$DATABASE_ROOT_PASSWORD" <<EOF
|
||||
CREATE USER IF NOT EXISTS '$DATABASE_USER'@'%' IDENTIFIED BY '$DATABASE_PASSWORD';
|
||||
GRANT ALL PRIVILEGES ON $DATABASE_NAME.* TO '$DATABASE_USER'@'%';
|
||||
FLUSH PRIVILEGES;
|
||||
EOF
|
||||
|
||||
# Redémarrage du service MariaDB
|
||||
echo "[6/6] Redémarrage du service MariaDB..."
|
||||
sudo systemctl restart mariadb
|
||||
sudo systemctl enable mariadb
|
||||
|
||||
# Vérification du statut
|
||||
echo "Statut du service MariaDB :"
|
||||
sudo systemctl status mariadb --no-pager
|
||||
|
||||
# Affichage des informations de connexion
|
||||
echo ""
|
||||
echo "=== Configuration terminée ==="
|
||||
echo "Base de données : $DATABASE_NAME"
|
||||
echo "Utilisateur : $DATABASE_USER"
|
||||
echo "Mot de passe : $DATABASE_PASSWORD"
|
||||
echo ""
|
||||
echo "Pour te connecter à MariaDB :"
|
||||
echo " mariadb -u $DATABASE_USER -p$DATABASE_PASSWORD $DATABASE_NAME"
|
||||
Reference in New Issue
Block a user