Automatiser EtherCalC sur Centos 6.0

EtherCalC est un Web Spreadsheet qui vous permet de mettre en ligne vos tableurs Excels ainsi que vos CSV

L'installation de EtherCalC en elle même est aisée.

La première étape consiste à installer Node,Js qui est une plateforme construite sur Chrome qui permet de développer des applications de manière plus rapide
Par expérience je vous recommande de compiler à partir des sources, utilisez une version récente du compilateur gcc au moins la version 4.8 voir plus

Ensuite vous pouvez installer EtherCalc en lui même


npm install ethercalc
./node_modules/ethercalc/bin/ethercalc

Ensuite vous pouvez vous positionnez dans le répertoire courant et exécuter la commande ethercalc et vous verrez le serveur démarrer

Connectez vous actuellement dans votre navigateur en utilisant http://@IP_serveur:8000/

ethercalc interface web

Au démarrage, Ethercalc sollicite le serveur redis pour la gestions des fichiers, vous pouvez l'installer en exécutant la commande

root# yum install redis

Vous avez donc EtherCalc fonctionnel, mais le boulot n'est pas encore achevé, vous devez maintenant l'automatiser au démarrage

1.  Permettre l'utilisation de stop-start-daemon sous centos

En principe c'est une commande native des systèmes debian et ubuntu, sur Centos/ Redhat il faut l'installer

#yum install redhat-lsb
#yum install ncurses-devel ncurses
#wget http://blog.starcklin.com/files/dpkg_1.17.6.tar.xz
#tar -xf dpkg_1.17.6.tar.xz
#cd dpkg-1.17.6/
#./configure
#make
#cd utils/
#make
#cc start-stop-daemon.c -o start-stop-daemon
#cp start-stop-daemon /usr/local/bin


2. Installer le script

#vi /etc/rc.d/init.d/ethercalc

coller ceci

#!/bin/sh

### BEGIN INIT INFO
# Provides:          ethercalc
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts ethercalc lite
# Description:       starts ethercalc lite using start-stop-daemon
### END INIT INFO

PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
EP_NODE="/usr/local/bin/node"
EP_ECOPT="/root/node-v5.4.1/node_modules/ethercalc/app.js --basepath /ethercalc/"
USER="pfs"
GROUP="pfs"
DESC="EtherCalc"
NAME="ethercalc"

set -e

. /lib/lsb/init-functions

start() {
  echo "Starting $DESC... "
  
start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec $EP_NODE -- $EP_ECOPT || true
  echo "done"
}

#Nous avons besoin de ce script pour nous rassurer que l'ensemble des processus fils va être tué
killtree() {
    local _pid=$1
    local _sig=${2-TERM}
    for _child in $(ps -o pid --no-headers --ppid ${_pid}); do
        killtree ${_child} ${_sig}
    done
    kill -${_sig} ${_pid}
}

stop() {
  echo "Stopping $DESC... "
  if [ -f /var/run/$NAME.pid ]; then
   while test -d /proc/$(cat /var/run/$NAME.pid); do
    killtree $(cat /var/run/$NAME.pid) 15
    sleep 0.5
   done
   rm /var/run/$NAME.pid
  fi
  echo "done"
}

status() {
  status_of_proc -p /var/run/$NAME.pid "" "$DESC" && exit 0 || exit $?
}

case "$1" in
  start)
 start
 ;;
  stop)
    stop
 ;;
  restart)
 stop
 start
 ;;
  status)
 status
 ;;
  *)
 echo "Usage: $NAME {start|stop|restart|status}" >&2
 exit 1
 ;;
esac

exit 0

#chmod a+x 


3. Automatisation 

#chkconfig ethercalc on

Merci d'avoir suivi et au prochain Post

4. Test

[root@PROD-SRV ~]# service ethercalc restart
Stopping EtherCalc... 
done
Starting EtherCalc... 
done
[root@PROD-SRV ~]# 





Commentaires

Enregistrer un commentaire

Posts les plus consultés de ce blog

Bloquer l'utilisation de Facebook sur un routeur Mikrotik V6.29

MIKROTIK Inter-VRF routing using VRF LITE

DMVPN EIGRP IPSEC