http-bind configuration for SparkWeb and JWchat with only 80 or 443 from outside access

Version 3

    This document pretends to help the openfire admins out there that are fighting to get httpd-bind working.  I've went thorugh that path and it was really painful, besides i've posted the solution in the forums but it seemed to went undercover because a lot of people keep asking the same. So i've recopilated the config needed and i'm publishing it here:









    NOTE: This was done with enterprise version  but it should work with Opensource version too, just adjust the paths.











    1. Copying sparkweb to an apache subdir.





    cp  -r   /opt/openfire/plugins/enterprise/web/sparkweb   /var/www/html/





    2.Obtain an index.html file





    Go to  http://youropenfireserver:9090/webchat





    Select the option that brings you the source code from the page in your browser





    Copy this code and paste it in a file called index.html at your  /var/www/html/sparkweb





    3. Modify your getConfig function within your index.html file







    function jive_sparkweb_getConfig()


    return {

    server: "yourpublichostnamesite",

    location: window.location.href,

    connectionType : "http",

    port: "80",

    bindPath: "/http-bind/",

    autologin: "false",

    policyFileURL: "http://yourpublichostnamesite/crossdomain.xml"











    The trick is the port number.  If you use anything else than 80 or 443 (both publicy accesible from outside and rarely blocked by firewalls or proxies) you'd have trouble with outside clients without complete internet access.







    As apache is configured to make the proxypass or rewrite magic  the bindPath  line should make work sparkweb from outside.





    5. Crossdomain file


    Note that the crossdomain file is accessible at the same site, this is needed by sparkweb




















    <allow-access-from domain="*" to-ports="5222"/>








    6. configure your apache virtual host





    <VirtualHost  yourlocalip:80>

    ServerAdmin webmaster@yourdomain

    DocumentRoot /var/www/html/sparkweb/

    ServerName yourpublichostnamesite







    ErrorLog logs/ourpublichostnamesite-error_log

    CustomLog logs/ourpublichostnamesite-access_log common

    <Directory /var/www/html/sparkweb/>

    Options +Multiviews


    AddDefaultCharset UTF-8

    ProxyPass /http-bind/

    ProxyPassReverse /http-bind/

    ProxyRequests Off

    <Proxy *>

    Order deny,allow

    Allow from all









    7. Openfire console configuration







    Enable   http binding and bosch scripting and add the client requests properties to the server properties menu











    8. Https configuration





    If you're using 443 you should redirect to the https binding port instead. the getConfig file, also be sure that your ssl host is working ok.





    9. JWChat configuration


    Download jwchat from sourceforge. and unpacking it in /var/www/html/jwchat










    The config.js file should have this:





    var SITENAME = "mychatserver";





    var BACKENDS =










    11. jsjacs.js





    The  jsjacs.jsshould look like this





    var JSJACHBC_USE_BOSH_VER  = false;





    12. UTF-8





    NOTE: Not truly sure about if this is needed, but i'm putting it anyway. If you can verify if this is not really need it please say so or better yet edti the document to reflect the change.





    Remove all the charset='utf-8´ instances for the jsjacs.js file.





    13. Remove the language files not needed by your install, at the jwchat root directory.





    14. jwchat.html





    Look in jwchat.html file the line with






    and add just the oArg.authtype line just before the con.connect string. Like this:





    oArg.authtype = 'nonsasl';








    15. Do further testing and it should -theoretically- work just fine





    hope this helps






    Andres Mauricio Mujica

















    This document was generated from the following thread: Openfire 3.4.5 with JWChat





    This document was generated from the following thread: 3.5.0 enable http-bind?