Ergebnis 1 bis 10 von 271

Baum-Darstellung

  1. #1
    Anwender Avatar von itari
    Registriert seit
    15.05.2008
    Beiträge
    21.945
    Blog-Einträge
    25

    Daumen hoch Init_3rdparty Skript und Sammlung von 3rd-Party Erweiterungen

    Um die vielen hier im Forum beschriebenen 3rd-party-applications auch per spk-Paketmanagement nutzen zu können, müssen Vorarbeiten erledigt werden. Diese Vorarbeiten bereiten den sys-Apache-Web-Server darauf vor, die (administrativen) Zugriffe auf Dateien und Programme zu ermöglichen, die von einzelnen 3rd-party-applications verwendet werden.

    Dies kann man manuell durchführen, gemäß der Anleitungen aus dem Wiki oder aus folgendem Thread.

    Alternativ gibt es aber auch jetzt auch das Init_3rdparty.spk-Paket, welches diese Vorarbeiten durchführt (siehe Anhang).

    Das Paket kann im Paket-Manager 'gestartet' werden, dann wird die Konfiguration des sys-Apache und der PHO-ini vorgenommen. Beim ersten Mal wird eine Sicherung (.bak) dieser beiden Dateien angefertigt. Nach der Änderung der Konfiguration wird der sys-Apache neu gestartet und der Paket-Manager meldet einen Fehler. Das ist richtig so!

    Warum? Weil wenn der sys-Apache gerade nicht läuft, dann kann der Status nicht abgefragt werden, was zu dieser Fehlermeldung führt.

    1 Minute warten und dann im Paket-Manager die Info abrufen -> Protokoll anschauen! Und da steht dann, dass der sys-Apache neu gestartet wurde (sonst hätte man die Info und das Protokoll auch gar nicht mehr aufrufen können).

    Man kann das 'Starten' noch öfters vornehmen. Es werden jedesmal die Dateien neu geändert und der sys-Apache-Web-Server neu gestartet. Das ist möglicherweise bei einem Firmware-Update sinnvoll, weil da die Konfigurations-Dateien wieder im originalen Zustand sind.

    Stoppen macht eigentlich nichts weiter, außer, dass der der Status sich ändert.

    Das Paket installiert zudem einen 3rd-party-apps-Eintrag für das Skript phpinfo.php, den man nach 'Refresh' der DS-Manager-Seite auch unter den Third-party applications sehen kann. Das Skript phpinfo.php zeigt die PHP-Konfiguration sowohl für den sys-Apache als auch den user-Apache an (beide Web-Server verwenden die gleiche PHP-Konfigurationsdatei).

    Hintergrund-Infos:

    Was wird im Skript ausgeführt, wenn ich auf 'Starten' klicke?

    Code:
    #!/bin/sh
    LOG="/var/packages/${SYNOPKG_PKGNAME}/log"
    STR1="AddType application/x-httpd-php .php"
    STR2="LoadModule php5_module /lib/libphp5.so"
    STR3="Options ExecCGI FollowSymLinks MultiViews"
    PATH1="/usr/syno/apache/conf/httpd.conf-sys"
    STR4="safe_mode = Off"
    STR5="safe_mode_exec_dir ="
    STR6="safe_mode_include_dir ="
    STR7="open_basedir ="
    STR8="doc_root ="
    STR9="allow_url_fopen = On"
    STRA="magic_quotes_gpc = Off"
    PATH2="/usr/syno/etc/php.ini"
    case $1 in
    start)
    test -f ${PATH1}.bak || cp $PATH1 ${PATH1}.bak
    grep "$STR1" $PATH1 >/dev/null || (echo "$STR1" >>$PATH1 && echo "$STR1 added" >>$LOG)
    grep "$STR2" $PATH1 >/dev/null || (echo "$STR2" >>$PATH1 && echo "$STR2 added" >>$LOG)
    grep "$STR3" $PATH1 >/dev/null || (sed "s/ *Options.*/$STR3/" <$PATH1 >${PATH1}.new && mv ${PATH1}.new $PATH1 && echo "$STR3 changed" >>$LOG)
    test -f ${PATH2}.bak || cp $PATH2 ${PATH2}.bak
    for i in "$STR4" "$STR5" "$STR6" "$STR7" "$STR8" "$STR9" "$STRA"; do
    grep -E "^${i}$" $PATH2 >/dev/null || (echo "$i" >>$PATH2 && echo "$i added" >>$LOG)
    done
    /usr/syno/etc/rc.d/S97apache-sys.sh restart 2>&1 >>$LOG
    date +'%c started' >>$LOG ;;
    stop)  date +'%c stopped' >>$LOG ;;
    status) if tail -1 $LOG | grep started; then exit 0; else exit 1; fi ;;
    log) 
    LAST_STATUS=$(tail -1 $LOG)
    echo >>$LOG
    for i in "$STR4" "$STR5" "$STR6" "$STR7" "$STR8" "$STR9" "$STRA"; do
    grep -E "^${i}$" $PATH2 >>$LOG
    done
    echo $LAST_STATUS >>$LOG
    echo "$LOG" ;;
    esac
    (aktuelle Fassung)

    Was ist eigentlich das Paket-Management?

    Antworten und Erläuterungen gibt es in diesem Thread.

    Wo finde ich die Paket-Informationen auf der Platte, insbesondere für eine 3rd-party application?

    Die Installation durch das Paket-Management produziert folgende Strukturen:

    Code:
    /volume1/@appstore/xyz_irgendwas/application.cfg
    /volume1/@appstore/xyz_irgendwas/ico16.ico
    /volume1/@appstore/xyz_irgendwas/ico32.ico
    /volume1/@appstore/xyz_irgendwas/xyz_irgendwas.php oder .cgi
     
    /var/packages/xyz_irgendwas/INFO
    /var/packages/xyz_irgendwas/scripts/preinst
    /var/packages/xyz_irgendwas/scripts/preuninst
    /var/packages/xyz_irgendwas/scripts/postinst
    /var/packages/xyz_irgendwas/scripts/postuninst
    /var/packages/xyz_irgendwas/scripts/start-stop-status
    /var/packages/xyz_irgendwas/target -> /volume1/@appstore/xyz_irgendwas)
     
    /usr/syno/synoman/webman/3rdparty/xyz_irgendwas -> /volume1/@appstore/xyz_irgendwas/xyz_irgendwas.php oder .cgi
    Die beiden Einträge mit einem -> sind symbolische Links.


    Selbstverständlich geht alles wieder auf eigene Kappe . Das Init_3rdparty.spk-Paket steht auch unter GPL3.

    itari

    Aktualisierung!!! Im Skript waren Fehler, die dazu führten, dass die php.ini nicht aktualisiert wurden. Dies ist nun bereinigt. Anbei hängt nun die aktuellste Version des Init_3rdparty.spk-Pakets. Nun kann man auch jederzeit über 'Info abrufen'->'Protokoll' sehen, ob die Veränderungen der php.ini erfolgt sind.

    Die aktuellste Version ist angehangen.

    Es gibt bei der neusten Firmware ein Verhalten (Shell-Variablen werden nicht besetzt), welches bei der Protokollierung etwas Probleme macht. Hierzu gibt es jetzt die Version 1.5. Allerdings hat diese eine Einschränkung: Man kann sie sinnvoll nur auf dem /volume1 installieren (wegen dem Protokoll-Pfad).

    .
    Angehängte Dateien Angehängte Dateien
    Geändert von itari (24.02.2010 um 14:37 Uhr) Grund: Link mit aktuellster Version des Codes eingefügt
    207+ Basic(2x500) [1618] | 509+ Basic(1x500,4x2000) [2166] | 2411+ Basic-SSD(50), Raid-5(4x2000), SHR(3x750+1x1000+2x1500) [2166]

    Synology-Kontakt-Formular
    Come to the dark side, we have cookies!

Ähnliche Themen

  1. Download von 3rd-Party Anwendungen
    Von PAPPL im Forum Andere 3rd Party Anwendungen
    Antworten: 1
    Letzter Beitrag: 20.12.2008, 21:48
  2. Wiki-Beitrag: Absichern von 3rd Party Applications
    Von jahlives im Forum Wiki-Forum
    Antworten: 4
    Letzter Beitrag: 03.12.2008, 22:20
  3. 3rd Party Apps
    Von mike59999 im Forum Andere 3rd Party Anwendungen
    Antworten: 8
    Letzter Beitrag: 09.10.2008, 17:49
  4. Schutz von 3rd Party Applications
    Von jahlives im Forum Andere 3rd Party Anwendungen
    Antworten: 4
    Letzter Beitrag: 13.09.2008, 22:21
  5. 3rd-party´s
    Von Daniela im Forum Andere 3rd Party Anwendungen
    Antworten: 7
    Letzter Beitrag: 08.08.2008, 22:26

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •