Autostart openfire

  • Tach zusammen,


    ich hab mit openfire als tar.gz runtergeladen und nach /opt/ entpackt. Per /opt/openfire/bin/openfire start lässt dich der deamon ohne Probleme starten. Java und MySql hab ich als Qpkg installiert...wie gesagt mit nem manuellen Start läuft auch alles problemlos. Für den Autostart nach nem Reboot hab ich schon die wildestens Dinge in die Autorun.sh getippert aber irgendwas scheint da nicht zu passen.
    Unter anderem habe ich sowas hier in der Art versucht http://forum.qnap.com/viewtopic.php?f=35&t=10024&start=10 (ganz unten)


    /bin/ln -sf /opt/openfire/bin/openfirestart.sh /etc/rcS.d/QS999openfire


    Wobei bei es bei mir so aussah >
    /bin/ln -sf /opt/openfire/bin/openfire /etc/rcS.d/QS999openfire
    Leider ohne Erfolg, nach nem Reboot startet openfire nicht.


    Jetzt hab sich hier im Forum was gefunde, dass man ggf. erst /opt verlinken muss, weil der Dienst zu früh versucht zu starten.


    #Symlink Optware to /opt
    rm -rf /opt
    ln -sf /share/HDA_DATA/.qpkg/Optware /opt


    http://forum.qnapclub.de/viewtopic.php?f=208&t=6733


    mit einem rm -rf /opt tu ich mich noch etwas schwer, wenn ich nicht genau weiss, wann das ganze ins System eingreift und darum wollte ich mal hören, ob jmd. das Script ggf. schon am laufen hat.



    Vielen Dank und Gruß


    j0hN

  • Hi,


    das mit den Symlink Snippet ist schon einmal gut. :thumb:


    Kombiniere das mal mit den hier:
    http://forum.qnapclub.de/viewtopic.php?f=208&t=6734


    und dann kannst Du / wenn noch nicht vorhanden in der /opt/etc/init.d ein startup script für openfire reinschreiben.
    Es werden praktisch dabei alle Dienste der /opt/etc/init.d gestartet. :thumb:


    Der vorteil liegt auch darin, dass man nicht als an die autorun.sh im Flash dran muss. ;)


    Grüsse, David

  • Erstmal vielen Dank,


    ich bin zwar noch nicht wirklich weiter, da ich mir mit


    #Symlink Optware to /opt
    rm -rf /opt
    ln -sf /share/HDA_DATA/.qpkg/Optware /opt


    anscheind Optware/IPKG umgangen habe, heißt beispielweise nano - was schon durch Optware nach dem Reboot gestartet wurde - geht nicht mehr und selbst ipkg lässt sich nicht mehr aufrufen :(


    Da ich nur diesen einen Dienst im Autostart brauche ist es kein Problem diesen in die autorun.sh zu schreiben. Mit der /etc/init.d versteh ich gerade eh nicht...mir scheint das so, als läg hier alles, was mit Optware zutun hat in der /etc/rcS.d. Wobei ich noch mal festhalten muss ich hab openfire nicht als IPKG installiert. Ich habs leider nicht gefunden, weil die da installierten Dienste alle automatisch starten.
    Dabei wäre doch ein einfaches "rc-update add *** default" so einfach. Ok das wäre zu einfach aber ich verzweifel gerade echt an der Kiste.
    Btw.: zur Zeit ist es ein TS 259 Pro und nicht der angegebene 439...welcher übrigens ein 459 ist (ich glaub den gabs da noch nicht zur Auswahl).


    Vielleicht kann mir noch mal jmd. auf die Sprünge helfen.


    Gruß j0hN

  • Hi J0hn,


    ich fasse das mal kurz zusammen. ;)
    Openfire gibt's noch nicht in der Optware, dass ist right. :thumb:
    Dafür aber den ejabberd. (erl-ejabberd)
    Ist praktisch eine Lightweigt variante davon die sehr wenig CPU und RAM benötigt.


    Versuchen wir es aber ruhig mal mit den openfire und schauen mal wie der läuft. :thumb:


    Hier mal eine autorun:

    Bash
    #!/bin/sh#Symlink Optware to /optrm -rf /optln -sf /share/HDA_DATA/.qpkg/Optware /opt#export Optware PATHecho "export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/sbin" >> /etc/profile# Starting Optware daemonsfor optdaemon in `ls /opt/etc/init.d/S* | grep -v '~' | sort`do${optdaemon} startdone


    Ich sehe gerade dass Du ein RAID hast.
    Dann müsste der Pfad oben:

    Code
    ln -sf /share/HDA_DATA/.qpkg/Optware /opt


    so heissen:

    Code
    ln -sf /share/MD0_DATA/.qpkg/Optware /opt


    Schaue bei Dir mal nach ob es bei Dir den Pfad:

    Code
    /share/MD0_DATA/.qpkg/Optware


    gibt, wenn ja dann in der autorun (obiges) ändern.


    Mit der autorun.sh so wie oben würde das NAS jetzt Booten, /opt "Symlinken" und alle init.d Script's in

    Code
    /opt/etc/init.d


    durchstarten.


    Wenn Du praktisch z.B. noch openvpn installiert hättest, dann hättest Du schon ein ipkg installiert, dass auch mit einer init.d kommt.
    Dann bräuchtest Du das nicht mehr in der autorun. Weil es ja sowieso duchgestartet wird. Wichtig ist nur, wenn Du bereit's scripts in der init.d hast, mal nach den Verzeichnissen zu schauen ob die "passen".


    So. nun legen wir aber erst mal für openfire ein Startscript an.

    Code
    vi /opt/etc/init.d/S20openfire


    S20 == S20 bedeutet 20 sekunden warten dann ausführen. Sollte man ruhig so stehen lassen. ;)


    Bash
    #!/bin/sh
    /opt/openfire/bin/openfirestart.sh


    z.B.
    Wobei man den inhalt des openfirestart.sh script's eigentlich gerade hier mit reinschreiben könnte.


    Was genau macht das NAS jetzt?
    1) Booten
    2) autorun.sh ausführen
    3) Symlink /opt
    4) /opt/etc/init.d/ (Script's starten)
    5) Warten bis welches Script "dran ist -- z.B. S20)
    6) Die Dienste starten


    voila. :thumb:


    Grüsse, David

  • Hallo Terz,


    ich hab jetzt folgendes gemacht.


    Bash
    #!/bin/sh#Symlink Optware to /optrm -rf /optln -sf /share/MD0_DATA/.qpkg/Optware /opt#export Optware PATHecho "export PATH=$PATH:/opt/bin:/opt/sbin:/usr/local/sbin" >> /etc/profile# Starting Optware daemonsfor optdaemon in `ls /opt/etc/init.d/S* | grep -v '~' | sort`do${optdaemon} startdone


    Also in MD0_DATA geändert, dann hab ich in die


    Code
    vi /opt/etc/init.d/S20openfire


    das hier geschrieben, weil es bei Openfire 3.6.4 anscheind keine openfirestart.sh mehr gibt.


    Bash
    #!/bin/sh/opt/openfire/bin/openfire


    zum Schluss hab ich noch


    Code
    chmod +x /opt/etc/init.d/S20openfire


    Ergebnis: die Optware Pakete, wie nano laufen wieder nach dem Reboot aber Openfire will noch immer nicht.


    Bash
    #!/bin/sh
    /opt/openfire/bin/openfire start


    hab ich auch versucht :(


    Vielen Dank und Gruß


    j0hN

  • Hi J0hn,


    machen wir es mal etwas schöner:


    Code
    S20openfire


    Bash
    #!/bin/sh## Startup script for openfire#case "$1" instart)  echo -n "Starting openfire"        /opt/openfire/bin/openfire start        echo "."        ;;stop)	echo -n "Stopping openfire"		/opt/openfire/bin/openfire stop*)      echo "Usage: /opt/etc/init.d/S20openfire start"        exit 1        ;;esacexit 0


    Du brauchst nicht zu rebooten um das script zu testen.
    Rufe es dann einfach mal mit:

    Code
    /opt/etc/init.d/S20openfire start


    auf.


    Was genau passiert, wenn Du die Binary manuell startest? Also:

    Code
    /opt/openfire/bin/openfire start


    Weil im 1. Post ging das noch... ;)
    So sollte das script nix anderes machen.


    Grüsse, David

  • mit der "neuen" S20openfire passiert das:

    Code
    [~] # /opt/etc/init.d/S20openfire start/opt/etc/init.d/S20openfire: line 13: syntax error near unexpected token `)'/opt/etc/init.d/S20openfire: line 13: `*)      echo "Usage: /opt/etc/init.d/S20openfire start"'


    mit der "alten" sieht es ähnlich aus, wie wenn ich den Dienst direkt starte:

    Code
    [~] # /opt/openfire/bin/openfire startStarting openfire[~] # nohup: appending output to `nohup.out'


    Heisst für mich die "alte" S20openfire konnte den Dienst starten, wird aber beim Start wohl nicht ausgeführt. Das Parameter "start" konnte ich bei

    Code
    /opt/etc/init.d/S20openfire

    alt weglassen, da das Script ja nur Start und nicht Stop oder Status kannte.


    Gruß j0hN

  • Der liebe david hat 2 ;; vor *) vergessen :

  • Dankeschön, so funktiert das Script manuell...leider noch nicht nach nem reboot.



    Gruß j0hN

  • Sehr schön Stefan :D Danke :thumb:
    Da war die Zwischenablage mal wieder schneller als die lokale Datei hier :D :roll:


    Was sagt dann die nohup.out? Oder ist die sogar noch leer?


    Grüsse, David

  • Code
    [/opt/openfire/bin] # cat nohup.outThe daemon seems to be running. Exiting. Id file: /tmp/i4jdaemon__share_MD0_DATA_.qpkg_Optware_openfire_bin_openfireThe daemon seems to be running. Exiting. Id file: /tmp/i4jdaemon__share_MD0_DATA_.qpkg_Optware_openfire_bin_openfireThe daemon seems to be running. Exiting. Id file: /tmp/i4jdaemon__share_MD0_DATA_.qpkg_Optware_openfire_bin_openfire


    aber wie gesagt manuell startet der deamon sowohl mit

    Code
    /opt/openfire/bin/openfire start


    als auch mit

    Code
    /opt/etc/init.d/S20openfire start


    Das einzige was noch fehlt ist der Autostart und da steig ich nicht wirklich durch. Ich find auch keine boot log, sonst würd ich ja mal schauen, was er macht bzw. nicht macht.


    Gruß j0hN