Files
slic/install_elog.sh
T
tligui_y 27bcf80ed9
Run CI Tests / test (push) Has been cancelled
Update install_elog.sh
2025-08-07 13:49:37 +02:00

73 lines
1.7 KiB
Bash

#!/bin/bash
echo "📦 Installation de ELOG..."
sudo apt update
sudo apt install -y make gcc wget tar curl apache2-utils
# Télécharger ELOG
wget https://downloads.sourceforge.net/project/elog/elog/2.7.1/elog-2.7.1-1.tar.gz
tar -xvzf elog-2.7.1-1.tar.gz
cd elog-2.7.1
make
cd ..
# Installer dans ~/.local/bin
mkdir -p ~/.local/bin
cp elog-2.7.1/elogd ~/.local/bin
export PATH="$HOME/.local/bin:$PATH"
echo "$HOME/.local/bin" >> $GITHUB_PATH
# Créer une instance ELOG
mkdir -p elog_instance/logbooks/demo
# Générer le fichier mot de passe
htpasswd -cb elog_instance/elog.passwd robot testpassword
# Configuration avec accès restreint
cat > elog_instance/elogd.cfg <<EOF
[global]
port = 8080
logdir = logbooks
allowposting = 1
allowhtml = 1
List after submit = 0
[demo]
dir = logbooks/demo
allow = robot
passwdfile = elog.passwd
Required Attributes = Author
Data dir = /usr/local/elog/demo
EOF
# Lancer le serveur
~/.local/bin/elogd -c elog_instance/elogd.cfg &
sleep 3
# Vérification version
echo "✅ elogd version:"
~/.local/bin/elogd -h | head -n 1
# Vérification lecture
echo "📬 Accès test au logbook :"
curl http://localhost:8080/demo/ || echo "Pas encore de logbook 'demo'"
# Test d'insertion d'une entrée (PUT)
echo "📝 Test elog.put (via curl)..."
response=$(curl -s -o /dev/null -w "%{http_code}" -u robot:testpassword \
-F "Author=robot" \
-F "Subject=Test via script" \
-F "Category=General" \
-F "Type=Note" \
-F "Text=Message envoyé automatiquement depuis le script install_elog.sh" \
"http://localhost:8080/demo/?cmd=Submit")
if [ "$response" == "200" ]; then
echo "✅ Insertion réussie dans le logbook demo"
else
echo "❌ Échec de l'insertion (code HTTP: $response)"
fi
echo "✅ ELOG setup terminé"