Jump to content
  • 0
Ronkhar

Serveur Openfire Sur Qnap (Xmpp / Jabber)

Question

Bonsoir,

Comme promis dans ma présentation, voilà déjà les questions qui arrivent.

Merci par avance à ceux qui me consacreront du temps. (J'apprends vite mais je pars d'assez bas : je n'avais jamais utilisé putty et le ssh avant aujourd'hui)

Après avoir configuré avec succès les parties http, ftps, et vu la concision des instructions d'installation d'openfire sur le forum officiel, je me croyais prêt à mettre en marche mon serveur jabber. J'ai vite déchanté. :blush:

[mode espoir]Est-ce qu'un des membres de ce fofo fait tourner Openfire (ou un autre serveur jabber) sur son QNAP ? Si oui, est-ce que qq'un a écrit une procédure d'installation/configuration quelque part ?[/mode espoir]

Sinon et si personne n'a d'idée sur le bug décrit ci-dessous, j'interrogerai l'auteur du qpkg sur le forum officiel. (http://forum.qnap.co...p?f=128&t=53047)

Infos (j'espère) utiles :

- Mon TS-219 II est branché sur une freebox v6 (ipv4+ipv6 fixes)

- Je lui ai attribué une ipv4 interne et une ipv6 fixes.

Enfin bref, voilà la démarche que j'ai suivie :

- téléchargement d'une version "obscure" du jre : ARMv5 Linux - Headless EABI, SoftFP, Little Endian**

- téléchargement d'un installeur jre qpkg (http://forum.qnap.co...p?f=163&t=47652)

- lancement de cet installeur

- vérification du bon fonctionnement du jre : Connexion SSH avec putty, commande java -version --> 1.7.0_04-ea ...

- installation du qpkg openfire (dans l'interface du qnap)

- http://[monipv6]:9089 (url de la console openfire ne répond pas : openfire est éteint)

- je le lance manuellement : Connexion SSH avec putty, cd share/MD0_DATA/.qpkg/Openfire puis sh openfire.sh start

- je rouvre http://[monipv6]:9089 : la configuration d'openfire apparaît :

---domaine = [monipv6]

--- Admin Console Port: 9089 (c'est rempli par défaut)

--- Secure Admin Console Port: 9090 (c'est rempli par défaut)

---choix entre base sql extérieure et Embedded Database. Je choisis embedded database parce que ça semble plus simple.

---je laisse l'option suivante par défaut : Default Store users and groups in the server database. This is the best option for simple deployments.

---je rentre mon adresse gmail dans le champ mail de l'admin, ainsi qu'un mot de passe

La configuration se termine après cette dernière étape.

http://[monipv6]:9089 mène désormais à l'administration console d'openfire

Je tente de me loguer et patatras, je me prends une insulte java. (je ne sais pas si les lignes sous la 1re ont un intérêt quelconque. Dans le doute, j'ai préféré copier l'intégralité)


java.lang.NoClassDefFoundError: Could not initialize class org.jivesoftware.admin.LoginLimitManager$LoginLimitManagerContainer

at org.jivesoftware.admin.LoginLimitManager.getInstance(LoginLimitManager.java:48)

at org.jivesoftware.openfire.admin.login_jsp._jspService(login_jsp.java:143)

at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:530)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1216)

at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)

at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:74)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)

at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)

at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:78)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)

at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:164)

at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1187)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:425)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)

at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:494)

at org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:182)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:933)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:362)

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:867)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:245)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:113)

at org.eclipse.jetty.server.Server.handle(Server.java:334)

at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:559)

at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1007)

at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:747)

at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:209)

at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:406)

at org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:462)

at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:436)

at java.lang.Thread.run(Thread.java:722)

PS : Si j'/on arrive à faire marcher ce truc, j'écrirai l'article openfire sur le wiki officiel.

Share this post


Link to post
Share on other sites

22 answers to this question

Recommended Posts

  • 0

Haaaaaalte !

Vous cassez plus/pas encore la tête.

Je viens de désinstaller et réinstaller en remplaçant dans le champ domaine [mon ipv6] par le nom réseau de mon qnap. (puisqu'il était demandé "nom réseau ou ip du serveur")

À la fin de la configuration précédemment décrite, le processeur du qnap a mouliné pendant 1 minute au lieu de 10 secondes la dernière fois.

Et là, la console d'administration s'ouvre.

C'est reparti :)

Me reste plus qu'à comprendre 2 choses :

- comment activer le démarrage automatique (placer sh openfire.sh dans l'autorun)

- comment faire fonctionner les transferts de fichier en autorun

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Visiblement tu as trouvé la solution pour activer le démarrage automatique...
Peux tu publier la solution ?

 

Merci d'avance,

 

Eric

Share this post


Link to post
Share on other sites
  • 0

Salut,

En fait, après avoir trouvé la solution, j'avais créé la page openfire (http://wiki.qnap.com/wiki/Openfire) sur le wiki officiel et indiqué la démarche que j'ai suivie en espérant que quelqu'un de plus qualifié que moi repasserait un jour derrière moi pour améliorer et corriger les éventuelles erreurs.

 

La ligne que tu cherches est la suivante :

Automatic launch at machine startup : add "sh /share/MD0_DATA/.qpkg/Openfire/openfire.sh start" in autorun.sh, following instructions provided in Running Your Own Application at Startup

 

N'hésite pas à poser d'autres questions en cas de besoin ; je devrais répondre sous 24 heures maintenant que je suis de retour en France.

Bonne chance pour ta configuration de NAS,

Ronkhar

Share this post


Link to post
Share on other sites
  • 0

Bonjour Ronkhar,

 

Merci pour ta réponse.

 

C'est en effet le script que je cherchais pour pouvoir avancer. Mais au final Openfire ne démarre toujours pas tout seul.. :cry:

 

J'ai utilisé la méthode 1 de ce tuto : http://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup

 

Exécuté ce code sous Putty : 

# mount -t ext4 /dev/sdx6 /tmp/config

# vi /tmp/config/autorun.sh

sh /share/MD0_DATA/.qpkg/Openfire/openfire.sh start

# chmod +x /tmp/config/autorun.sh

# umount /tmp/config

 

Redémarré mon Qnap 509... Rien... Openfire n'a pas démarré :mad:

 

Si tu as une idée...

 

Merci d'avance.

 

Eric

Share this post


Link to post
Share on other sites
  • 0

Le seul truc bizarre que je vois dans tes commandes, c'est le choix du système de fichiers :
D'après le wiki, c'est # mount -t ext2 /dev/sdx6 /tmp/config
Toi, tu utilises ext4 à la place. C'est volontaire ?

Sinon, j'ai oublié comment openfire se comportait en le lançant à la main.
1) Si tu désactives puis actives le qpkg, est-il fonctionnel ?
2) Même question si tu exécutes directement dans putty la commande "sh /share/MD0_DATA/.qpkg/Openfire/openfire.sh start"

Share this post


Link to post
Share on other sites
  • 0

Oui mon système de fichier est en ext4 (J'ai essayé aussi en ext2...)

 

Sinon en démarrage manuel, l'activation et désactivation du qpkg ainsi que le démarrage en ligne de commande via putty fonctionne très bien. 

 

Je suis à sec au niveau idée....

 

De plus, j'ai déployé une dizaine de client au travail... c'est contraignant de démarrer le serveur tous les matins...

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

A priori, si Openfire utilise Java ... utiliser tel que autorun.sh n'a aucun sens, puisque autorun.sh s’exécute AVANT toute validation de QPKG et des Path (chemins)  nécessaire ...

Utiliser autorun.sh dans ce cas, c'est vouloir démarrer la voiture avant d'être dedans ...

 

Si comme le suggère le chemin (.qpkg) c'est un QPKG comment se fait-il qu'il n'est pas son propre start ... ???

 

La solution peut être de :

lancer un shell par autorun.sh en background (&) qui va attendre un fichier crée par QNAP en fin de boot ... là vous serez sur que les QPKG et leur chemin sont Enable et disponible ...

 

Vérifiez aussi que vous n'utilisez QUE des chemins complets dans TOUS les shell ... car la variable PATH est TRÈS succincte à l'init ...

 

le fichier a attendre est : /tmp/.boot_done (ne pas oublier le point )  ... il est crée en toute fin de lancement du QNAP et des QPKG ...

 

Philippe.

NB VOTRE système de fichier est ext4 .... MAIS les partitions en Flash sont en ext2 si elle contiennent un système de fichier ... bon comme en limite basse ext4 contient ext2 ... a par la création de structures inutiles ... cela peut fonctionner ...

Share this post


Link to post
Share on other sites
  • 0

Bonjour Phiippe,

 

Je suis d'accord avec vous le qpkg aurait du avoir son propre start. Je vais le suggérer à Christian le mainteneur.

 

J'ai trouvé cette réponse sur le forum anglais. J'ai essayé d'appliquer des choses mais sans succès. Peut etre que saurez mieux que moi décrypter ce Maba du forum anglais à voulu dire.

http://forum.qnap.com/viewtopic.php?p=137291

 

J'ai essayé ça : sans succès

export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/jre/bin
sh /share/MD0_DATA/.qpkg/Openfire/openfire.sh start

 

Je confirme que le fichier openfire.sh est un raccourci

 

 

Merci d'avance Philippe pour vos lumières.

 

Je ne comprends toujours pas comment Ronkhar a réussit à faire démarrer Openfire automatiquement... :cry:

 

Eric

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

La solution de la variable d’environnement PATH est correcte SI Optware (le QPKG, que vous avez installé AVANT openfire, ordre dans le fichier /etc/config/qpkg.conf) est actif ... car /opt ne pointe sur les répertoires de Optware qu'après ... avant c'est un répertoire avec un fichier utilisé en primo installation dedans ...

Si vous avez bien lu ... Openfire.sh utilise la commande nohup de Optware, vérifiez qu'elle est bien présente ...

 

Sinon, essayez la méthode d'attente du fin de boot ... elle est sure ... car là vous éliminez tout risque qu'un élément utile ne soit pas encore validé ...

 

créez un shell exécutable (chmod) dans /share/Public/ par exemple (ou mieux en utilisant le chemin complet /share/MD0_DATA/Public nommé trucchose.sh

 

dans ce shell mettez quelque-chose comme :

 

#!/bin/sh

echo " start Openfire " > /tmp/myopenfire.log

while true

do

if [ -e /tmp/.boot_done ] ; then

echo " Hum boot is done" >> /tmp/myopenfire.log

sleep 3

export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/jre/bin

/share/MD0_DATA/.qpkg/Openfire/openfire.sh start

break

else

sleep 3

fi

done

echo " seems that aurtorun is finished" >> /tmp/myopenfire.log

 

Puis modifiez autorun.sh pour qu'il démarre ce shell en background

sh /share/MD0_DATA/Public/trucchose.sh &

 

Si par hasard vous ne sortez pas de la boucle ... un pt'i kill fera l'affaire ...

 

ATTENTION testez a vide ce shell ... car je l'ai juste "tapé" ici sans autre forme ...

 

Philippe.

Share this post


Link to post
Share on other sites
  • 0

J'aime pas quand father_mande montre que j'ai fait des trucs comme un gros sale :cry:

(edit suite au post ci-dessous : je ne le prends pas mal, hein. Au contraire, j'adore apprendre de mes erreurs. C'est juste la différence de niveau qui fait peur : je suis arrivé péniblement à grimper un rocher de 50 cm. alors que father_mande fait le poirier au sommet du Mont-Blanc. Encore quelques années et moi aussi, j'y serai)

 

N'étant pas 100% familier avec l'interface de vi, je viens de copier mon fichier autorun.sh dans le dossier data pour l'ouvrir avec notepad++ (cp /tmp/config/autorun.sh /share/MD0_DATA/Data/autorun.txt)

Voilà ce que j'ai depuis juillet dernier :

"sh /share/MD0_DATA/.qpkg/Openfire/openfire.sh start LF
sh /share/MD0_DATA/.qpkg/uMurmur/umurmurd-qpkg.sh start LF
"

Je note qu'il y a une 3me ligne vide, qu'il n'y a pas de caractères CR en fin de ligne et que l'encodage est en "UNIX". À part ça, ???

 

PS : j'essaierai de comprendre le code de father_mande quand je serai réveillé. Merci d'avoir pris le temps en tout cas :razz:

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

1 ... je suis désolé si cela parait "critique" ... je veux plutôt dire qu'il y a un tas d’interactions dans un QNAP qui ne sont pas explicites dans un simple shell ... et donc qu'il faut vraiment tout reprendre à chaque fois ... surtout pour moi, qui n'ai jamais utilisé Openfire ...

 

2 OUI les shell doivent être traité avec notepad++ si vous êtes plus à l'aise sous Windows

... en fichier Linux (donc séparateur de ligne LF et non CR/LF comme Dos/Windows)

menu édition / convertir les sauts de ligne / convertir en format Unix

... en encodage UTF-8 si vous voulez y mettre des accents (mauvaise idée a priori)

... Il y a un mode Shell dans langage/S/shell qui donnera un contrôle syntaxique et une coloration adéquate ...

 

Les lignes vides ou commençant par # sont ignorées (sauf la première avec #! qui désigne un shell explicite a utiliser ... un peu inutile sur QNAP ... mais bon prendre de bonne habitudes)  ...

 

Philippe.

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Bon je désespère un peu là... :cry:  J'ai essayé pas mal de choses, notamment les conseils de Philippe.... redémarré à chaque fois... Et Rien... :blush:

 

Je détaille :

 

J'ai créé un fichier sous /share/MD0_DATA/Public/demarrage_eric.sh avec le code suivant : (chmod +x)

#!/bin/sh
echo " start Openfire " > /tmp/myopenfire.log
while true
do
if [ -e /tmp/.boot_done ] ; then
echo " Hum boot is done" >> /tmp/myopenfire.log
sleep 3
export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/jre/bin
/share/MD0_DATA/.qpkg/Openfire/openfire.sh start
break
else
sleep 3
if
done
echo " seems that aurtorun is finished" >> /tmp/myopenfire.log

Ensuite créé le fichier suivant avec le méthode 1 : (http://wiki.qnap.com/wiki/Running_Your_Own_Application_at_Startup)

 

mount -t ext2 /dev/sdx6 /tmp/config
  
vi /tmp/config/autorun.sh
   
sh /share/MD0_DATA/Public/demarrage_eric.sh start
     
chmod +x /tmp/config/autorun.sh

umount /tmp/config

Ensuite j'ai fait : ipkg install coreutils (au cas où...) pour la commande Nohup :???:

 

J'ai aussi installé le package ipkg

 

Une question :

Quand je créé /tmp/config/autorun.sh en montant la partition, je ne retrouve pas le fichier avec filezilla en SFTP.

Si je comprends bien, ce fichier doit etre créé dans la mémoire flash.

Dois-je également ajouter le fichier avec filezilla en l'éditant avec notepad +++ ? Ou, est ce inutile ?

 

Philippe vous avez une idée... Merci d'avance.

 

Eric

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

1 Est-ce bien admin qui est le "propriétaire" de demarrage_eric.sh

 

2 "start" en paramètre n'est pas utile

 

3 avez-vous quelque chose dans /tmp/myopenfire.log ???

 

4 le fichier autorun.sh, n'est pas visible en mode "normal" c'est le script d'init qui monte sdx6 temporairement, le temps de récupérer autorun.sh ...

 

... d'ailleurs, vous montez sdx6 avant pour "voir" autorun.sh et démontez après ...

 

Philippe.

Share this post


Link to post
Share on other sites
  • 0

Boujour Phlippe,

 

1 : Admin est bien le propriétaire

2 : J'ai enlevé le "start" des paramètres

3 : le fichier /tmp/myopenfire.log est vide.

4 : Ca ne fonctionne toujours pas... :oops: :oops:

 

Eric

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Si vous n'avez rien dans le /tmp/myopenfire.log ... comme le shell commence par un echo ... dans le fichier, c'est qu'il ne s’exécute pas ...

 

donc :

soit le fichier n'est pas exécutable (x) quoique avec lancement avec sh il n'en ai pas besoin ...

soit c'est le fichier autorun.sh qui ne s’exécute pas ou se plante ...

 

1 essayez de remplacer sh par /bin/sh

2 essayez sans sh en début mais ajouté dans autorun.sh un

#!/bin/sh

... merci de nous lister le autorun.sh ...

3 si cela ne fonctionne pas (je parle juste du 1er message en echo dans /tmp/myopenfire.sh )

... il faudra ajouter un -x après /bin/sh pour obtenir une execution pas à pas avec trace ... et donc rediriger les sortie vers un fichier

/bin/sh -x /share/....etc... > /tmp/autorun.log

 

Philippe.

Share this post


Link to post
Share on other sites
  • 0

Bonjour Philippe,

 

Toujours pas mieux...

 

Fichier Autorun.sh : (testé avec /bin/sh)

[~] # mount -t ext2 /dev/sdx6 /tmp/config 
[~] # vi /tmp/config/autorun.sh 
#!/bin/sh
/share/MD0_DATA/Public/demarrage_eric.sh
[~] # chmod +x /tmp/config/autorun.sh 
[~] # umount /tmp/config

 

fichier : demarrage_eric.sh

#!/bin/sh -x
echo " start Openfire " > /tmp/myopenfire.log
while true
do
if [ -e /tmp/.boot_done ] ; then
echo " Hum boot is done" >> /tmp/myopenfire.log
sleep 3
export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/jre/bin
/share/MD0_DATA/.qpkg/Openfire/openfire.sh start
break
else
sleep 3
if
done
echo " seems that aurtorun is finished" >> /tmp/myopenfire.log

Liste autorun.sh :

[/tmp/config] # ls -l
-rw-r--r--    1 admin    administ        4 Nov 16 07:23 BOOT_COUNT
-rwxr-xr-x    1 admin    administ       52 Jan 22 22:35 autorun.sh*
-rw-r--r--    1 admin    administ      476 Nov  2  2009 board_level_test.cfg
-rw-r--r--    1 admin    administ       27 Jan  3  2010 customise.conf
drwx------    2 admin    administ    12288 Aug  9  2009 lost+found/
-rw-r--r--    1 admin    administ     9854 Dec 11 22:03 smb.conf
-rw-r--r--    1 admin    administ       10 Dec 11 22:03 smb.conf.cksum
-rw-r--r--    1 admin    administ       37 Dec 11 22:03 system.map.key
-rw-r--r--    1 admin    administ     8076 Jan 22 22:25 uLinux.conf

 

Donc, je suis obligé de redemarrer à la mano... (Si simple...) :cry:

[~] # sh /share/MD0_DATA/.qpkg/Openfire/openfire.sh status
testing JVM in /usr/local/jre ...
The daemon is stopped.
[~] # sh /share/MD0_DATA/.qpkg/Openfire/openfire.sh start
Starting openfire
Started.
[~] #

Impossible de voir le fichier myopenfire.log puisqu'il se supprime à chaque démarrage...

 

Si vous voyez quelque chose.... :oops:

 

Eric

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Mettez le dans /share/MD0_DATA/Public au lieu de /tmp ... il restera ...

 

Mais cela ne "plante" pas le QNAP donc après un reboot vous devriez le voir ???

 

Je fais un test (sans openfire) ... juste pour voir ... et isoler le problème ... car vous devriez avoir au moins le premier texte dans le log ...

 

Pouvez-vous me lister le début du fichier openfire.sh ...

 

Philippe.

Share this post


Link to post
Share on other sites
  • 0

Bonjour Philippe,

 

Début du fichier openfire.sh

 

#! /bin/sh
CONF=/etc/config/qpkg.conf
QPKG_NAME="Openfire"
PUBLIC_SHARE=`/sbin/getcfg SHARE_DEF defPublic -d Public -f /etc/config/def_share.info`

# Uncomment the following line to override the JVM search sequence
# INSTALL4J_JAVA_HOME_OVERRIDE=
# Uncomment the following line to add additional VM parameters
# INSTALL4J_ADD_VM_PARAMS=

# Determine BASE installation location according to smb.conf
BASE=
publicdir=`/sbin/getcfg $PUBLIC_SHARE path -f /etc/config/smb.conf`
if [ ! -z $publicdir ] && [ -d $publicdir ];then
        publicdirp1=`/bin/echo $publicdir | /bin/cut -d "/" -f 2`
        publicdirp2=`/bin/echo $publicdir | /bin/cut -d "/" -f 3`
        publicdirp3=`/bin/echo $publicdir | /bin/cut -d "/" -f 4`
        if [ ! -z $publicdirp1 ] && [ ! -z $publicdirp2 ] && [ ! -z $publicdirp3 ]; then
                [ -d "/${publicdirp1}/${publicdirp2}/${PUBLIC_SHARE}" ] && BASE="/${publicdirp1}/${publicdirp2}"
        fi
fi

# Determine BASE installation location by checking where the Public folder is.
if [ -z $BASE ]; then
        for datadirtest in /share/HDA_DATA /share/HDB_DATA /share/HDC_DATA /share/HDD_DATA /share/MD0_DATA; do
                [ -d $datadirtest/$PUBLIC_SHARE ] && BASE="/${publicdirp1}/${publicdirp2}"
        done
fi
if [ -z $BASE ] ; then
        echo "The Public share not found."
        exit 1
fi

QPKG_DIR=${BASE}/.qpkg/$QPKG_NAME

read_db_entry() {
  if [ -n "$INSTALL4J_NO_DB" ]; then
    return 1
  fi
  db_file=$HOME/.install4j
  if [ ! -f "$db_file" ]; then
    return 1
  fi
  if [ ! -x "$java_exc" ]; then

 Je teste la suite....

 

Eric

Share this post


Link to post
Share on other sites
  • 0

Suite :

 

Toujours rien... :oops: :oops:

 

Il y a un problème avec fichier demarrage_eric.sh

 

[~] # sh /share/MD0_DATA/Public/demarrage_eric.sh
/share/MD0_DATA/Public/demarrage_eric.sh: line 15: syntax error: unexpected end of file
[~] #

 

Le fichier myopenfire.log : (Curieusement il y a "^M" à la fin ...  :blush:  ) On voit bien qu'il y a bien le premier echo " start Openfire"

[~] # vi /share/MD0_DATA/Public/myopenfire.log^M
 start Openfire
~
~

 

Je remets le fichier demarrage_eric.sh

 

#!/bin/sh -x
echo " start Openfire " > /share/MD0_DATA/Public/myopenfire.log
while true
do
if [ -e /tmp/.boot_done ] ; then
echo " Hum boot is done" >> /share/MD0_DATA/Public/myopenfire.log
sleep 3
export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/jre/bin
sh /share/MD0_DATA/.qpkg/Openfire/openfire.sh
break
else
sleep 3
fi
done
echo " seems that autorun is finished " >> /share/MD0_DATA/Public/myopenfire.log

 

Si vous voyez quelque chose... :oops:

 

Eric.

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

N'auriez vous pas crée demarrage_eric.sh sous Windows ...

car le ^M c'est un retour chariot ... qui n'est pas pris comme limiteur en Linux / Unix mais comme caractère utilisable ...

 

Si vous êtes sous Windows

ouvrez le fichier avec notapad++ et changer le format de sortie en "Linux / Unix"

Si vous êtes sous Linux avec vim / vi

:set fileformat=unix

 

idem sis vous n'êtes pas en encodage UTF-8

dans Windows changez grâce a notepad++

sous linux vim / vi

:set fileencoding=utf-8

 

NB changer le lancement d'Openfire en ajoutant

/bin/sh au lieu de sh

et un espace puis & à la fin ... openfire.sh & pour le lancer en arrière plan .... et ne pas bloquer dessus ...

 

Philippe.

Share this post


Link to post
Share on other sites
  • 0

Bonjour Philippe,

 

Bon, j'ai fait pas mal de tests. Le mauvais format de fichier était la cause principale. J'arrive à faire démarrer openfire.sh en executant le fichier demarrage_eric.sh. C'est déjà pas mal. :razz:

 

Je réalise encore des tests et reviens vers vous ce we.

 

Bon we d'ailleurs. :roll:

 

Eric

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Bon ça fonctionne !! :cool: :cool: :razz: :razz:

 

Je vais essayer de détailler le plus possible mes actions.  (Applicable pour un Qnap TS-509 (Intel))

 

Via Putty :

mount -t ext2 /dev/sdx6 /tmp/config
vi /tmp/config/autorun.sh
#!/bin/sh
/share/MD0_DATA/Public/demarrage_eric.sh &
chmod +x /tmp/config/autorun.sh
umount /tmp/config

 

Créer le fichier "demarrage_eric.sh" dans le repertoire /share/MD0_DATA/Public (par exemple)

 

Commandes unix après " vi " : " a " pour éditer le fichier " ZZ " pour enregistrer et quitter le fichier.

vi /share/MD0_DATA/Public/demarrage_eric.sh

#!/bin/sh -x
echo " start Openfire " > /share/MD0_DATA/Public/myopenfire.log
while true
do
if [ -e /tmp/.boot_done ] ; then
echo " Hum boot is done" >> /share/MD0_DATA/Public/myopenfire.log
sleep 3
export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/jre/bin
/share/MD0_DATA/.qpkg/Openfire/openfire.sh start &
break
else
sleep 3
fi
done
echo " seems that autorun is finished" >> /share/MD0.DATA/Public/myopenfire.log

- S'assurer de pouvoir exécuter le fichier :

chmod +x /share/MD0_DATA/Public/demarrage_eric.sh

- Créer le fichier myopenfire.log dans le repertoire /share/MD0_DATA/Public (par exemple) pour écrire les logs :

 

vi /share/MD0_DATA/Public/myopenfire.log

- S'assurer de pouvoir exécuter et ecrire le fichier :

chmod 0775 /share/MD0_DATA/Public/myopenfire.log

Ensuite rebooter pour tester le tout.

 

Merci à Philippe pour son aide et sa patience ainsi que Ronkhar pour avoir initié le sujet.

 

Pages de référence :

http://wiki.qnap.com...tion_at_Startup

http://wiki.qnap.com/wiki/Openfire

 

 

Eric

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×