Démarrer un serveur Domino en tant que service
Créé le : 19 février 2012
Catégorie: Logiciel
Mise à jour : 11 juillet 2013
Démarrer un serveur Domino en tant que service
Cette page décrit comment lancer un serveur Domino en tant que service mais il est possible de l’adapter pour n’importe quel autre programme (il suffit de faire le script qui va bien avec un start et un stop)
Nous avons vu ici comment installer un serveur Domino sur Ubuntu.
Pour l’executer il faut ouvrir une session et lancer quelques commandes à la main ou un script ce qui n’est pas très pratique pour un serveur.
Nous allons donc voir comment lancer notre serveur Domino en tant que service (sur Linux on dit lancer en tant que Daemon)
Pour les pressés…
Pour ceux qui ne veulent pas tout lire et qui s’en tape de « comment ça marche » voici la procédure rapide pour créer son service Domino
1° Télécharger le script
Le script permet de lancer (start) et d’arrêter (stop) le service. Il permet en plus de lancer la java console pour voir la console en live.
2° Enregister le script
- Adapter le script à votre configuration (les chemins notamment)
- copier le script dans votre home (changer eventuellement le nom en « domino » : ça sera le nom du service)
- copier le script dans init.d avec la commande suivante (NE PAS OUBLIER LE POINT À LA FIN)
sudo cp /home/notes/Téléchargements/domino /etc/init.d/.
- Mettre les droits d’execution avec la commande suivante :
sudo chmod 0755 /etc/init.d/domino
3° Test du script
Démarrage du service
sudo /etc/init.d/domino start
Pour être sûr que le domino démarre, ouvrez le moniteur système pour voir les processus. Vous devriez voir les processus propre à Domino du genre server, router, adminp, event, etc…
Arrêt du service
sudo /etc/init.d/domino stop
C’est hyper long à s’éteindre (c’est normal), mais à la fin vous devriez avoir « Server shutdown complete »
4° Ajout du service au démarrage
Maintenant qu’on a testé le démarrage et l’arrêt du service on peut l’automatiser pour qu’il démarre en même temps que le système
sudo update-rc.d domino defaults
Si jamais vous voulez désactiver le service c’est cette commande ci
sudo update-rc.d -f domino remove
Redémarrer votre Ubuntu, le service devrait se lancer tout seul
5° Création du « raccourci » pour lancer la java console
Sur le bureau faire un document vierge et coller ça:
cd ~/data /opt/ibm/lotus/bin/jconsole
Rendre le fichier executable (clic droit > propriété > permissions > cocher la case « Autoriser l’exécution… »)
Il vous reste juste à cliquer sur ce mini script pour lancer la console Domino qui tourne en fond
Vous pouvez fermer la console, le Domino continu à tourner, mais NE PAS COCHER LA CASE « arrêter aussi le Domino » sinon, ben…comment dire, ben vous arrêtez le domino quoi!)
Il suffit maintenant de se rappeler de ces 2 commandes :
- sudo /etc/init.d/domino start
- sudo /etc/init.d/domino
Voilà, pour les fenéants c’est terminé ici…
Pour ceux que ça intéresse y’a ci dessous quelques explications sur ce qu’on a fait et comment ça marche !!!!
Fonctionnement des « services » Linux
Un service est un programme qui tourne en tâche de fond, qui se lance et s’arrête tout seul sans intervention utilisateur. Pour lancer le serveur Domino nous avons vu qu’un petit script peut faire l’affaire, le but est de lancer ce script automatiquement au démarrage de la machine, même sans être loggué avec un utilisateur.
Ubuntu (comme les autres distribution Linux) fonctionne en niveau d’exécution (ou runlevels en anglais)
Il existe 6 niveaux d’executions sur Linux (hérités d’Unix)
- Runlevel 0 : Arrêt de la machine
- Runlevel 1 : Mode maintenance (mono-utilisateur en ligne de commande)
- Runlevel 2 à 5 : Mode multi-utilisateur complet avec serveur graphique si installé (le niveau 2 est le mode par défaut)
- Runlevel 6 : Redémarrage de la machine
Les niveaux 2 à 5 sont par défaut identique, on peut les configurer différements pour reconfigurer sa session selon nos usages (par exemple le runlevel 3 est un mode ultra optimisé pour faire serveur apache, etc…)
~~ Fin du mini cours ~~
Notre but est donc de lancer notre script pour les niveaux d’execution 3,4 et 5 mais il faut déjà créer ce fameux script
Création du script
Pour lancer le serveur Domino on a vu qu’à la main il suffit de lancer 3 petites commandes
su notes (ou ouvrir une session directement avec l'utilisateur notes) cd data /opt/ibm/lotus/bin/server
Le script est un petit plus complexe car il faut, avec le même script, pouvoir démarrer et eteindre le domino
Ci dessous il y a le code du script mais vaut mieux télécharger le script tout fini car il est écrit avec les tabulations etc… (n’oublier pas tout de même à l’adapter à votre configuration)
- Script (j’avoue ce n’est pas moi qui l’ai fait, mais juste un peu modifié)
#!/bin/sh # # domino Start/stop the Lotus Domino server # description: This script is used to start and stop the domino \ # server as a background process. It will send \ # the serverID password from a file to the server.\ # Communication with the server has to be done through \ # console, Notes Administrator or webadmin.\ # # Usage: /etc/rc.d/init.d/domino start|stop|restart|condrestart # # process name: server, ... # # Version 1.1, by LB, 2005-01-07, updated by Cyberscooty 2012-02-19 # Change the USER, GROUP, DATA_DIR and BIN_DIR for your server DOMINO_USER="notes" DOMINO_GROUP="notes" DOMINO_DATA_DIR="/home/notes/data" DOMINO_BIN_DIR="/opt/ibm/lotus/bin" LOCKFILE="/home/notes/data/lock" # See if the user that runs this script is root if [ `id -u` != 0 ]; then echo "Ce script doit être lancer en root" exit 1 fi start() { # Check we're not already running if [ -f $LOCKFILE ] ; then echo "Le serveur Domino est déjà en cours d'exécution." exit 1 fi # Two ways to run the server (comment one of them out) # 1. With the output of the console redirected to /var/log/domino.log # Be sure to change the logrotate daemon. # 2. With the output of the console redirected to /dev/null echo -n "Démarrage du serveur Domino..." # Version with logfile # su - ${DOMINO_USER} -c "cd ${DOMINO_DATA_DIR};\ # ${DOMINO_BIN_DIR}/server" \ # >> /var/log/domino 2>&1 & # RETVAL=$? # if [ "$RETVAL" = "0" ] ; then # touch $LOCKFILE > /dev/null 2>&1 # fi # Version without logfile su - ${DOMINO_USER} -c "cd ${DOMINO_DATA_DIR};\ ${DOMINO_BIN_DIR}/server -jc" > /dev/null 2>&1 & echo "done." } stop() { echo -n "Arrêt du serveur Domino... " su - ${DOMINO_USER} -c "cd ${DOMINO_DATA_DIR}; ${DOMINO_BIN_DIR}/server -q" RETVAL=$? # RETVAL is 38 on normal shutdown - what does *that* mean? # Users should test this on their own systems . . . # if [ $RETVAL -lt 50 ] ; then # rm $LOCKFILE # fi } restart() { stop start } # See how we were called. case $1 in start) start ;; stop) stop ;; restart) stop start ;; condrestart) [ -f $LOCKFILE ] && restart ;; *) echo "Usage: domino {start|stop|restart|condrestart}" exit 1 ;; esac # End of the domino script exit 0
sources : http://www.generation-linux.fr/index.php?post/2009/01/22/Cours-Linux-%3A-les-runlevels http://www.lesbell.com.au/Home.nsf/b8ec57204f60dfcb4a2568c60014ed0f/ac3934bc047107bcca2569f1000f4f78?OpenDocumenthttp://doc.ubuntu-fr.org/tutoriel/comment_transformer_un_programme_en_service
Laissez un commentaire