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
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/
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
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/
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 ~]#
4. Test
[root@PROD-SRV ~]# service ethercalc restart
Stopping EtherCalc...
done
Starting EtherCalc...
done
[root@PROD-SRV ~]#
Courage mon petit!!!
RépondreSupprimer