diff --git a/install_elog.sh b/install_elog.sh index 15cbca457..d6a23f964 100644 --- a/install_elog.sh +++ b/install_elog.sh @@ -2,21 +2,21 @@ set -e PREFIX="/usr/local" -ELOG_SRC="/tmp/elog-src" INSTANCE_DIR="$PREFIX/elog" +PASSWORD="testpassword" # ======================= # 1. Installer dépendances # ======================= sudo apt update -sudo apt install -y make gcc git curl openssl +sudo apt install -y make gcc git curl openssl whois # ======================= # 2. Télécharger et compiler ELOG # ======================= -rm -rf "$ELOG_SRC" -mkdir -p "$ELOG_SRC" -cd "$ELOG_SRC" +rm -rf /tmp/elog-src +mkdir -p /tmp/elog-src +cd /tmp/elog-src git clone --recursive https://bitbucket.org/ritt/elog cd elog make -j"$(nproc)" @@ -25,11 +25,20 @@ sudo mkdir -p "$PREFIX/sbin" "$INSTANCE_DIR/logbooks/demo" sudo cp elogd "$PREFIX/sbin/" # ======================= -# 3. Créer users.xml avec mot de passe SHA256 +# 3. Générer le hash SHA256-crypt trimmed # ======================= -PASSWORD="testpassword" -PASSWORD_HASH=$(printf "%s" "$PASSWORD" | openssl dgst -sha256 -binary | openssl base64) +# Génération en SHA256-crypt complet +HASH_FULL=$(mkpasswd -m sha-256 "$PASSWORD") +# Exemple: $5$$me1T.2jUUqQNa1wNuey9zNBOmOa4eILOaPb.ZSZjpn4 +# On coupe après le 3e '$' +PASSWORD_HASH=$(echo "$HASH_FULL" | cut -d'$' -f4) +echo "[DEBUG] Full hash : $HASH_FULL" +echo "[DEBUG] Trimmed : $PASSWORD_HASH" + +# ======================= +# 4. Créer users.xml +# ======================= sudo tee "$INSTANCE_DIR/users.xml" > /dev/null < @@ -48,7 +57,7 @@ EOF sudo chmod 644 "$INSTANCE_DIR/users.xml" # ======================= -# 4. Créer configuration elogd.cfg +# 5. Créer configuration elogd.cfg # ======================= sudo tee "$INSTANCE_DIR/elogd.cfg" > /dev/null < /dev/null <<'EOF' #!/bin/sh -# chkconfig: 3 90 10 -# description: ELOG is a weblog with integrated database -# processname: elogd -# config: /usr/local/elog/elogd.cfg -# pidfile: /var/run/elogd.pid - -[ -f /etc/init.d/functions ] && . /etc/init.d/functions - case "$1" in start) - if [ -f /var/run/elogd.pid ] ; then - pid=`cat /var/run/elogd.pid` - if [ -d /proc/$pid ] ; then - echo "elogd already running" - exit 1 - fi - fi - echo -n "Starting elogd: " - /usr/local/sbin/elogd -D -c /usr/local/elog/elogd.cfg > /dev/null 2>&1 & - echo $! > /var/run/elogd.pid - RETVAL=$? - [ $RETVAL -eq 0 ] && echo "OK" || echo "FAIL" - ;; + echo "Starting elogd..." + /usr/local/sbin/elogd -D -c /usr/local/elog/elogd.cfg > /dev/null 2>&1 & + echo $! > /var/run/elogd.pid + ;; stop) - if [ -f /var/run/elogd.pid ] ; then - echo -n "Stopping elogd: " - kill `cat /var/run/elogd.pid` - rm -f /var/run/elogd.pid - echo "OK" - else - echo "No elogd running" - fi - ;; - status) - if [ -f /var/run/elogd.pid ] && kill -0 `cat /var/run/elogd.pid` 2>/dev/null; then - echo "elogd is running" - else - echo "elogd is stopped" - fi - ;; - restart|reload) - $0 stop - sleep 1 - $0 start - ;; + echo "Stopping elogd..." + kill $(cat /var/run/elogd.pid) + rm -f /var/run/elogd.pid + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; *) - echo "Usage: $0 {start|stop|status|restart}" - exit 1 + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; esac - -exit 0 EOF sudo chmod +x /etc/init.d/elogd # ======================= -# 6. Lancer ELOG via init +# 7. Lancer ELOG # ======================= -sudo service elogd start +sudo service elogd restart +sleep 3 + echo "✅ ELOG démarré sur http://localhost:8080" echo " → Utilisateur : robot" echo " → Mot de passe : $PASSWORD" # ======================= -# 7. Test de connexion +# 8. Test connexion # ======================= COOKIEJAR=$(mktemp) curl -s -L --max-time 5 -c "$COOKIEJAR" \