PHP Module XML-RPC fehlt

  • Hallo,


    ich mochte eine Web-Application (KnowledgeTree v-3.7) auf dem QNAP NAS 430-Pro installieren.
    Beim Setup per WEB wird eine Überprüfung durch alle benötigten Module durchlaufen.
    Alle PHP-Extensions wie IconV, MySQL, curl, Multi Byte Strings, LDAP, JSON, OpenSSL sind passenden Versionen vorhanden.
    Einzig XMLRPC fehlt.
    Mit "ipkg" habe ich das Module "php-xmlrpc_5.2.12-1" installiert und auch "xmlrpc-c" installiert.
    Aber es geht immer noch nicht.
    Woran kann das liegen?


    Grüße,
    Obelix

  • Um alle PHP Module zu haben, müsstest Du dir den Apache 2 und PHP manuell auf das NAS installieren.
    http://forum.qnapclub.de/viewtopic.php?f=45&t=398&start=0


    Der vorhandene Apache und PHP dient nur dazu, mal "etwas" kleines laufen zu lassen und Knowledgetree ist schon sehr umfangreich:


    Die Indizierung der Dokumente auf dem NAS kannst Du vergessen... Das sage ich Dir mal Direkt im Vorraus. Oder Du müsstest dann Dir die Pakete und Abhängigkeiten selbst kompilieren. Z.B. pstotext, pdftotext. Je nachdem was Du noch Indizieren möchtest, auch wieder Abhängigkeiten... Ein Kreis der sich im wahrsten sinne Dreht... (Über Jahre, damit es was Stabiles gib) Und bei OpenOffice ist das Kompilieren nicht wirklich witzig... ;)



    Grüsse, David

  • Hallo Terz,


    danke für die schnelle Antwort.
    Speziell den Hinweis, das das volle Paket auf dem NAS wohl nicht geht.
    Wobei unter Linux der Indizierungsprocess per cronjobs gestartet wird.
    Das sollte wohl auf der 439-Pro auch gehen (reine Vermutung).
    Das Hauptproblem denke ich ist: OpenOffice müßte als "Service" gestartet werden.
    Die PDF und PS tools sind simple. Habe noch nicht im ipkg Repository nachgesehen, ob sie vorhanden sind.


    Aber ich wollte nur das KnowledgeTree Source-Install-Paket au dem NAS installieren.
    Keine weiteren Tools.
    Damit hat man eine einfache Dokumentenverwaltung. Ordnung durch eine Kombination aus Verzeichnissen und Tags.
    Checkin, Checkout, Search, ...
    Das langt für mich.


    Dazu muß ich nur wissen wie ich das PHP-Module für XMLRPC aktiviert bekomme.
    Nach meinem Verständnis muß das irgendwo in die php.ini. Aber wo und mit welcher Syntax?
    Ein "find / | fgrep php.ini" gibt mir mehrere Treffer. 3x in /etc/ und tiefer, 1x /HD0_data, 1x MD0_data.
    Letzte ist ~30kB. Die anderen ~4.5kB und identisch (Verlinkt, Copy von default).


    Grüße,
    Obelix

  • Hi Obelix, das funktioniert so leider nicht. Da die PHP Versionen sowie Module, die als "Dependencies" verwendet werden unterschiedlich sind. Darum müsste der Apache 2 mit der php version aus dem QPKG installiert werden.


    Wenn es nix grosses werden soll, dann installiere Dir entweder das KT auf dem Lokalen Rechner und Backupe die Daten auf den NAS, oder greife zu einen anderen Tool...


    So etwas wie hier:
    http://maclawstudents.com/blog…k-kit-soho-notes-yojimbo/
    wird es garantiert auch für Windows / Linux geben. ;)


    Grüsse, David

  • Hi David,


    lokaler Rechner ist keine Option. Ich habe mehrere und das NAS habe ich mir zugelegt um 1 gemeinsames Repository zu haben.
    Anderes Tool, hmm, eigentlich auch nicht. KnowledgeTree, aka KT, habe ich für gut empfunden. Vorher auf einem einzelnen Rechner ausprobiert und mit OpenKM und Alfresco verglichen. Das sind die einzigen DMS-Applikationen, die für mich prinzipiell in Frage kommen. KT hat dabei am besten abgeschnitten. Verzeichnisse, Tags, Tag-Cloud, Search, Rechte, Versionskontrolle, ...
    Das Apache, php und die Module zusammenspielen müssen kann ich nachvollziehen und verstehen. Hier PHP mit einem weiteren Modul - XMLRPC. Eventuell ein Kandidat für die nächste Firmware.
    Andererseits, mit "find" und "grep" habe ich rausgefunden, Joomla verwendet auch XMLRPC und funktioniert mit der aktuellen Firmware V-3.2.1.
    :arrow: Warum geht Joomla und KnwoledgeTree nicht? Beides sind reine WEB-Applikationen.


    Grüße,
    Thomas

  • Hi Thomas,


    das was Du über KT sagst ist schon richtig, ist auch am einfachsten zum Customzien.
    Ohne jetzt mal selbst auf den NAS zu schauen denke ich, dass Du eine xmlrpc.php gefunden hast.
    Eine Web Applikation ist ja nicht gleich Web Applikation.


    Joomla nutzt eine PHP Implemention des XML-RPC Modules.
    Diese schimpft sich:PHPXMLRPC
    Und KT nutzt die Library XML-RPC


    Es gibt viele Vorteile bei der "originalen" XML-RPC, die Joomla Entwickler haben sich jedoch für eine php Implementierung entschieden.
    Wahrscheinlich um eine Installation auf einem WebSpace und nicht gerade root Server zu ermöglichen. Bei einem Webspace kann sich der Benutzer ja
    nicht einfach mal gerade so Pakete nachinstallieren.
    KT wäre definitiv nix für einen WebSpace, sondern eher was für 'nen angepassten "Web-Server". E.g. Nur weil es auf dem NAS ein PHP LDAP Modul gibt, ist noch lange nicht der LDAP Server nicht auf den NAS. Informiere Dich erst einmal über die Abhängigkeiten und die Zeit, die Du in ein solches Projekt stecken möchtest, denn KT ist nicht innerhalb von Minuten installiert, wenn man es richtig angeht.


    Ein NAS ist und bleibt eine Speicherlösung, darum denke ich nicht, dass QNAP oder andere Hersteller den WebServer mit zig Modulen belasten, sondern sich eher mit den wesentlichen Dingen des NAS befassen. Also alles aus dem Storage Bereich.
    Was man inoffiziell damit macht bleibt jedem selbst überlassen. Ebenfalls müsstest Du bei einer neueren Firmware an all Deinen modifizierten Sachen denken und es kann durchaus wieder von vorne Anfangen.


    Grüsse, David

  • Hallo David,


    deine Aussage


    Zitat

    Joomla nutzt eine PHP Implemention des XML-RPC Modules.
    Diese schimpft sich:PHPXMLRPC
    Und KT nutzt die Library XML-RPC


    habe gleich mal verifiziert und mich mit find, grep, diff in KT umd Joomla schlau gemacht.


    In beiden Fällen endet man bei PHP-Code. Der Library Code vom XMLRPC stammt sogar vom gleichen Autor.
    Da ich das Source-Paket von KT habe (ohne die ganzen Add-ons) kann ich sagen, ich finde keine Zeile C, C++, was eine Compiler benötigt. In Makefile auch nicht. Alles nur PHP und Includes. In beiden Fällen gibt's einen Wrapper phpxmlrpc, der die .inc-Files reinzieht und die Funtionen aufruft. Joomla und KT ergänzen jeweils den Suchpfad für PHP-Code und -Includes, nur auf verschiedene Weise.


    Also sollte das in beiden Fällen funktionieren.


    Grüße,
    Thomas

  • Hi Thomas,


    also da hattest Du mich Falsch verstanden.
    Joomla nutzt PHPXMLRPC, das ist eine XML-RPC Implementierung in PHP (benötigt daher kein XML-RPC PHP Modul).
    KT nutzt die XML-RPC Library (Das PHP Modul)


    Kompilieren müsstest Du für KT nix. Nur eben einen Apache, mit PHP aufsetzen, und dann auch das Modul XML-RPC in der PHP.ini laden. Kompiliert ist es ja schon im PHP Paket.
    Wenn Du die Sourcen selbst kompilieren möchtest, dann müsstest Du Dir den PHP Quellcode herunterladen, und dies selbst kompilieren (zum Glück gibt es deshalb ja schon das vorkompilierte Paket via ipkg). ;)


    Das hier ist übrigens die Seite des XML-RPC's, welche Du in KT bräuchtest: http://www.xmlrpc.com/
    Zumindest informieren darüber was es ist, könntest Du da mal. ;)


    Das beide Webapplikationen in PHP Geschrieben sind, iss klar. Das hat aber nix mit den Abhängigkeiten zu tun, die ja Differenzen aufweisen.


    Du hättest Praktisch 2 Chancen:
    1) Entweder Du installierst Dir den Apache mit PHP und dessen module via Optware (ipkg feed)
    2) oder Du kompilierst Dir alle quellen Selbst.


    Grüsse, David

  • Hallo David,


    danke für deine Antwort. Ich denke da haben wir beide ein bisschen aneinander vorbei "geredet".
    Alles neu kompilieren will ich natürlich nicht sondern Pakete verwenden.


    Bisher war ich auf http://phpxmlrpc.sourceforge.net/
    Soll PHP-Ersatz für die in C/C++ geschriebene xmlrpc-library sein.
    Werde die von dir genannte Seite durchlesen.

    Ich habe die QNAP Firmware drauf und mit ipkg einige Pakete nachinstalliert.
    zile (emacs like editor), coreutils, findutils, grep, diffutils, texinfo, cpio, indent, less, postgresql, perl, php, curl, phpxmlrpc, xmlrpc-c, ...


    Damit gibt es php.ini
    in /etc/config/php.ini mit ~ 4.5kB
    include_path = ".:/etc/config/php"
    extension_dir = /usr/local/apache/modules
    in /opt/etc/php.ini mit ~ 37.9 kB
    sieht nach einer Beispiel-config aus; das meiste ist auskommentiert und jede Zeile hat eine Beschreibung.
    und
    xmlrpc.ini liegt in /opt/etc/php.d
    xmlrpc.so liegt in /opt/lib


    Irgendwie habe ich den Verdacht, das xmlrpc.ini von php nicht gefunden wird.


    Joomla hat
    xmlrpc.php, xmlrpc_wrappers.php, xmlrpcs.php
    KT hat
    xmlrpc.inc, xmlrpc_wrappers.inc, xmlrpcs.inc
    Ist alles identisch.


    Grüße,
    Thomas

  • Hi Thomas,


    genau, das ist ein PHP Ersatz für das PHP Modul XML-RPC.


    Die PHP Module (die Du via ipkg installiert hast)

    Code
    ipkg install php-xmlrpc


    die werden von KT benötigt.


    Das PHP Modul aus dem Paket: php-xmlrpc
    läuft allerdings nur im Zusammenhang, mit PHP aus der Optware. Und diese PHP Version läuft im Zusammenhang mit den Apache 2 aus der Optware.
    Deshalb sagte ich, dass es notwendig ist, php und apache aus der Optware zu installieren. Dann kannst Du Dir auch die weiteren php module aus der Optware laden und schon funkt's. ;)


    Die php Module aus der Optware kann man halt leider nicht aus Versions- / PHP-Kompatibitätsgrunden im zusammenhang mit dem auf den NAS installierten Apache und PHP betreiben.


    Grüsse, David

  • Hi David,


    OK, Danke. Jetzt habe ich es hoffentlich verstanden.
    Werde ich zum Wochende versuchen.


    Da war mir die NAS-Doku niocht klar genug. Heißt das dann der apache der mit ipkg installiert wird ersetzt den apache von der firmware? Oder laufen dann 2 web-server mit verschiedenen URLs? KT habe ich analog zu Joomla in Qweb-Verzeichnis entpackt.


    Nochmal wegen der URL zu XMLRPC von dir:
    Die beschreibt die Standards und vieles geht nicht (mehr) oedr mein Firefox mag die Seiten nicht.


    Die XMLRPC Shared-Lib in C/C++ gibt es unter der URL:
    http://xmlrpc-c.sourceforge.net/


    Grüße,
    Thomas

  • Den vorhandenen WebServer musst Du dann im AdminCP nur deaktivieren (einer reicht ja) ;)
    Die Pakete und alles kannst Du aber auch nach wie vor nutzen (Joomla z.B.), wenn Du das Qweb als Standard Verzeichnis nutzt.. Was ja sowieso sinnvoll ist. :thumb: