Fichiers
moodeaudio-usb-control/install.sh
T
2026-04-26 15:36:25 +02:00

69 lignes
1.6 KiB
Bash

#!/bin/bash
set -e
SRC_DIR="$(cd "$(dirname "$0")" && pwd)"
WEB_DIR="/var/www"
BIN_TARGET="/usr/local/bin/usb-bind-wrapper.sh"
SUDOERS_FILE="/etc/sudoers.d/010_www-data-nopasswd"
HEADER_FILE="/var/www/header.php"
echo "== Installation du plugin =="
cp -r "$SRC_DIR/js" "$WEB_DIR/js"
cp "$SRC_DIR/usb-toogle.php" "$WEB_DIR/"
# 2. Installer le script dans /usr/local/bin
echo "-- Installation du wrapper USB"
cp "$SRC_DIR/bin/usb-bind-wrapper.sh" "$BIN_TARGET"
chmod +x "$BIN_TARGET"
# 3. Vérifier sudo
echo "-- Vérification de sudo"
if ! command -v sudo >/dev/null 2>&1; then
echo "Erreur: sudo n'est pas installé"
exit 1
fi
# 4. Configurer sudoers
echo "-- Configuration sudoers"
if [ ! -f "$SUDOERS_FILE" ]; then
echo "Création du fichier sudoers"
echo "www-data ALL=(ALL) NOPASSWD: ALL" | sudo tee "$SUDOERS_FILE" > /dev/null
sudo chmod 440 "$SUDOERS_FILE"
else
echo "Le fichier sudoers existe déjà"
fi
echo "-- Modification de header.php"
if [ ! -f "$HEADER_FILE" ]; then
echo "Erreur: $HEADER_FILE introuvable"
exit 1
fi
if [ ! -f "$ADD_HEADER_FILE" ]; then
echo "Erreur: add-header.php introuvable"
exit 1
fi
# Vérifier si déjà présent
if grep -q 'usb-toggle.js' "$HEADER_FILE"; then
echo "Script déjà présent, on skip"
else
TMP_FILE=$(mktemp)
awk -v script="$SCRIPT_TAG" '
{
# On injecte juste avant </head>
if ($0 ~ /<\/head>/) {
print " " script
}
print
}' "$HEADER_FILE" > "$TMP_FILE"
sudo mv "$TMP_FILE" "$HEADER_FILE"
echo "Script injecté avec succès"
fi
echo "== Installation terminée =="