Aller au contenu

Messages recommandés

Bonjour !

Je viens de découvrir ce serveur de livres et BD. C'est en Java, donc pour l'installer il faut d'abord installer Java sur le NAS, puis installer le fichier .jar dans /var/packages/Ubooquity.

J'ai fait ça comme expliqué sur le site d'Ubooquity (ICI). Et tout avait l'air de marcher, sauf que normalement le serveur doit se lancer au démarrage du NAS, mais ce n'est pas le cas. Si je le démarre manuellement, pas de problème. Mais si je reboote mon NAS, le serveur n'est pas lancé.

Quelqu'un sait comment faire pour que ça démarre en même temps que mon NAS?

Merci d'avance !!

Lien vers le commentaire
Partager sur d’autres sites

C'est pas de ma faute!!! Quand DSM se met à jour, il redemarre le NAS...

Pour le script, c'est déjà ce que j'ai fait. J'ai mis un script qui fonctionne si je le lance manuellement, mais la ou je l'ai mis, ca fait rien. Soit le dossier n'est pas bon, soit le script n'est pas fait pour etre lancé automatiquement.

J'y connais pas grand chose moi, alors si quelqu'un pouvait me faire un bon petit script qui se lance tout seul comme un grand, eh bin, ça me ferait plaisir :)

Lien vers le commentaire
Partager sur d’autres sites

Bah je suis en 5.2 et ça fonctionne pas !!

J'ai mis dans le répertoire que tu m'as dit mais que dalle !

Pour démarrer le serveur manuellement il faut faire "sh ubooquity.sh start". Si j'essaie de lancer le serveur en tapant juste "sh ubooquity.sh" ça me répond "$Usage: ubooquity.sh {start|stop}". Je m'y connais pas trop en linux, mais je suppose que la commande attend un paramètre start ou stop. Comment faire pour l'intégrer au démarrage? Ou alors il faudrait changer le script?

Lien vers le commentaire
Partager sur d’autres sites

J'ai modifié le script :

#!/bin/bash

cd /var/packages/Ubooquity/
nohup java -jar /var/packages/Ubooquity/Ubooquity.jar -webadmin -headless -port 2202
esac
exit 0

Si je le lance manuellement, il démarre bien le serveur. Mais impossible de le faire démarrer automatiquement... J'ai fait des recherches et j'ai lu qu'il faut modifier les droits pour qu'il soit exécutable. Effectivement il n'était pas exécutable, mais même après avoir modifié, il fonctionne toujours pas.

Alors il y a une chose que je me demande. Vu que c'est une application java, et que java n'est pas installé par défaut sur le NAS, est-ce que ce serait possible que le script se lance avant que java soit démarré??

Lien vers le commentaire
Partager sur d’autres sites

est-ce que ce serait possible que le script se lance avant que java soit démarré??

​nop, java n'a pas être lancé "avant"

Regarde le bas de la page 59 de cette doc : https://global.download.synology.com/download/Document/DeveloperGuide/DSM_Developer_Guide.pdf

voici un exemple de script vite fait/mal fait :

#!/bin/sh

DAEMON_PATH='/var/packages/Ubooquity/'
DAEMON='Ubooquity.jar'
DAEMON_OPTS='-webadmin -headless -port 2202'
PWD=`pwd`

#remplace le chemin par le résultat de la commande "which java"
JAVA_BIN='/chemin/de/java'

#########
case "$1" in

  start)
    echo 'Lancement de ton programme'
    cd $DAEMON_PATH
    nohup $JAVA_BIN -jar $DAEMON_PATH$DAEMON $DAEMON_OPTS
    cd $PWD
    ;;

  stop)
    #ici la commande d’arrêt, par exemple avec un kill sur le pid ($!)
    ;;

  status)
    #ici la commande qui retourne l'état du programme
    ;;

  *)
    echo 'Usage: $0 {start|stop}
    ;;

esac

exit 0

Tu créés ce script dans le bon dossier, tu corriges/adaptes en fonction de tes besoins et tu le rends exécutable : chmod 755 /chemin/du/script/nomdufichier.sh

Ensuite tu peux le tester avec la commande : /chemin/du/script/nomdufichier.sh start

S'il est dans le bon dossier, il devrait se lancer avec le syno, sinon, tu peux le lancer depuis une crontab à la condition d'ajouter quelques tests afin de ne pas lancer la commande si elle tourne déjà (existence du process, du pid, ouverture du port, ...).

Mais normalement, même si c'est loin d'être propre, tu devrais pouvoir créer un simple script comme suit :

#!/bin/sh

PWD=`pwd`

cd /var/packages/Ubooquity/
nohup java -jar /var/packages/Ubooquity/Ubooquity.jar -webadmin -headless -port 2202

cd $PWD

exit 0

En passant, bash n'est pas installé sur les Syno et ne doit de toute façon pas être utilisé pour lancer un daemon

Lien vers le commentaire
Partager sur d’autres sites

Je comprends mieux l'histoire du start | stop, je pensais que justement c'etait ca qui bloquait le lancement du script. C'est pour ça que je l'avais modifié...

Voila le script original :

#!/bin/bash
cd /var/packages/Ubooquity/
echo "I have been told to $1 this server.";
UBOOQUITY_PID=$(ps | grep java | grep Ubooquity | awk '{ print $1 }')
case "$1" in
        start)
                echo "Starting the Ubooquity server";
                nohup java -jar /var/packages/Ubooquity/Ubooquity.jar -webadmin -headless -port 2202
                echo "The server has been started.";
                ;;
        stop)
                echo "Stopping the Ubooquity server";
                kill $UBOOQUITY_PID
                ;;
        *)
                echo $"Usage: $0 {start|stop}"
                exit 1
esac
exit 0

J'ai modifié le #!/bin/bash en #!/bin/sh, je l'ai mis dans /usr/local/etc/rc.d et je l'ai rendu exécutable. Et la...

Bon j'ai redémarré mon NAS pour tester, j'ai attendu un peu, j'ai essayé de me connecter au serveur Ubooquity, et ça marche. Visiblement il s'est bien lancé au démarrage tout seul. Sauf que maintenant, mon NAS est toujours en cours de démarrage. Impossible d'accéder à DSM, il y a quelque chose qui l'empeche d'aller au bout...

Lien vers le commentaire
Partager sur d’autres sites

Ton process n'a peut être pas rendu la main, mais ça ne devrait pas bloquer le démarrage.

Quel nom as tu donné au script ? (le nom est important pour la séquence de démarrage)

Sinon, tu as encore accès au nas d'une manière ou d'une autre ? (ssh, lecteur réseau, ...)

Lien vers le commentaire
Partager sur d’autres sites

Renomme ton script en S99ubooquity.sh et modifie la ligne de démarrage :

nohup java -jar /var/packages/Ubooquity/Ubooquity.jar -webadmin -headless -port 2202

=>

nohup java -jar /var/packages/Ubooquity/Ubooquity.jar -webadmin -headless -port 2202 &

Ajoute aussi un case status

En passant, ton stop n'est pas très safe, pour récupérer le PID, tu peux utiliser $! pour récupérer le PID de la dernière commande

Lien vers le commentaire
Partager sur d’autres sites

C'est bon !!! Ca marche !!! Je n'ai pas eu à renommer le fichier, juste rajouter le & à la fin de la ligne de démarrage et ça a marché.

Sinon petite précision que j'avais oublié de dire, il a fallu que je rajoute le chemin complet vers java pour que ça marche. La ligne de démarrage ressemble à ca :

nohup /var/packages/JavaManager/target/Java/bin/java -jar /var/packages/Ubooquity/Ubooquity.jar -webadmin -headless -port 2202 &

En tout cas, merci pour ton aide !!!

Si je laisse le script comme ça c'est bon? Ou est-ce qu'il vaut mieux faire la modification pour le stop et rajouter le case status?

Lien vers le commentaire
Partager sur d’autres sites

J'ai écrit ça à la volée, pas testé, mais ça devrait être bon ou pas loin, s'il y a des bugs que tu ne trouve pas, prends juste les morceaux dont tu as besoin

#!/bin/sh

PWD=`pwd`
JAVA_BIN='/var/packages/JavaManager/target/Java/bin/java'
UBOOQUITY_PATH='/var/packages/Ubooquity'
UBOOQUITY_PKG='Ubooquity.jar'
UBOOQUITY_OPT='-webadmin -headless -port 2202'
PID_FILE='/var/run/ubooquity.pid'

cd $UBOOQUITY_PATH

case "$1" in
	start)
		#en toute rigueur, il faudrait ajouter un test pour vérifier que le process ne tourne pas déjà, mais j'ai la flemme
		echo "Starting the Ubooquity server";
		nohup $JAVA_BIN -jar $UBOOQUITY_PATH/$UBOOQUITY_PKG $UBOOQUITY_OPT &
		UBOOQUITY_PID=$!
		echo UBOOQUITY_PID > $PID_FILE
		echo "The server has been started with pid $UBOOQUITY_PID ."
	;;
	stop)
		if [ -f $PID_FILE ];
		then
			echo "Stopping the Ubooquity server"
			$UBOOQUITY_PID=`cat $PID_FILE`
			kill $UBOOQUITY_PID
			exit 0
		else
			echo "Ubooquity server should be stopped"
			exit 1
		fi
		kill -0 $UBOOQUITY_PID
		if [ "$?" = "0" ];
		then
			"Won't die !!"
			kill -9 $UBOOQUITY_PID
		fi
		rm $PID_FILE
	;;
	status)
		if [ -f $PID_FILE ];
		then
			echo "Ubooquity server is running"
			exit 0
		else
			echo "Ubooquity server is stopped"
			exit 1
		fi
	;;
	*)
		echo $"Usage: $0 { start | stop | status }"
		exit 1
	;;
esac
cd $PWD
exit 0
Modifié par Fenrir
Lien vers le commentaire
Partager sur d’autres sites

SSL activé !!! J'ai pas eu trop de problème on m'a filé un bon tuto.

Sinon pour le script j'ai fait quelques modifs, il y avait des erreurs sur celui que tu m'as donné, donc si ça peut intéresser quelqu'un je le mets la :

#!/bin/sh

PWD=`pwd`
PID_FILE='/var/run/ubooquity.pid'

cd /var/packages/Ubooquity

case "$1" in
	start)
		#en toute rigueur, il faudrait ajouter un test pour vérifier que le process ne tourne pas déjà, mais j'ai la flemme
		echo "Starting the Ubooquity server";
		nohup /var/packages/JavaManager/target/Java/bin/java -jar /var/packages/Ubooquity/Ubooquity.jar -webadmin -headless -port 2202 &
		UBOOQUITY_PID=$!
		echo $UBOOQUITY_PID > $PID_FILE
		echo "The server has been started with pid $UBOOQUITY_PID ."
	;;
	stop)
		if [ -f $PID_FILE ];
		then
			echo "Stopping the Ubooquity server"
			UBOOQUITY_PID=`cat $PID_FILE`
			kill $UBOOQUITY_PID
			rm $PID_FILE
			exit 0
		else
			echo "Ubooquity server should be stopped"
			exit 1
		fi
		kill -0 $UBOOQUITY_PID
		if [ "$?" = "0" ];
		then
			"Won't die !!"
			kill -9 $UBOOQUITY_PID
		fi
		rm $PID_FILE
	;;
	status)
		if [ -f $PID_FILE ];
		then
			echo "Ubooquity server is running"
			exit 0
		else
			echo "Ubooquity server is stopped"
			exit 1
		fi
	;;
	*)
		echo $"Usage: $0 { start | stop | status }"
		exit 1
	;;
esac
exit 0

Et voila !

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

bonjour à tous

avant la mise à jour de ce matin de mon dsm, j arrivais à lancer en manuel le serveur et cela marchait très bien

depuis la mise à jour, ça marche plus

je lance dans putty le fameux sh ubooquity.sh start et ca me repond  que le serveur has been started ... super

mais lorsque je veux me connecter en 192.168.0.x:2202/admin ou 192.168.0.x:2202/comics et bien j ai une belle page internet cette page ne peut pas s afficher

 

quelqu'un aurait il une idée ?

merci

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.