In this guide, I will lay out how to install and configure Babble.
Note: The installation and/or configuration of a node.js server is not covered here. This will be your responsibility to do and maintain.
1. install babble in the ACP like any other IPS application. if you have read/write restrictions, then you will need to extract the tar files and upload them via FTP or some other means if you can not install the .tar directly in the ACP.
2. After installing, edit applications/babble/sources/Node/babble.js (babble will attempt to set the values if it has write ability to the file, but it is always good to verify)
if it does not match what is in your ACP (go to Babble->Configuration->General Configuration->Node Settings tab->Private Key Field) or "blank", copy the Private Key from your ACP and place it in between the single quotes (do not use double quotes!).
after you are done, it should look something like this:
var privateKey = "?HDLMx:q;<NMvJx)DOkJC`~iXY~6;pJ*,OoSj@;f";
This key is used in validation, this is a private key this key should not be given out to any one and restrictions on babble's ACP should be restricted to those who are trusted.
3. Next verify port 3000 isn't blocked on your node.js server, if it is (you'll need to unblock it or use a different port) or you've been instructed to use a different port number, please change:
var port = 3000;
to reflect this. Once the private key and port have been configured in babble.js, you can save it.
4. If your node.js server exist on a different server you will need to copy the applications/babble/sources/Node folder over to that server (you will need the whole folder as it contains the node.js local libs that are required for babble.js). If it is on the same server, you can keep the folder there, or move it if you like (but you will need to remember if you do this). After you have moved/kept the Node folder, you can start node.js up. There are a few ways to do this, I use forever with a systemd startup script (so it auto starts when the server is restarted and if the script fails for any reason, the system will auto restart it). I will make the init script available, but installation of forever (a node.js lib) will be your responsibility and the installing/configuration of the init script will also be your responsibility. Note: I will only provide support for babble.js itself, not node.js or node server issues. any configuration, such as https or server configuration will not be provided.
You will need to start the babble.js app in node, you can do this a few ways, you can use forever (it is a node lib you can install npm, npm is typically installed when you install node.js, if it is not installed you will need to contact your host/system administrator for assistance in installing it);
starting up by forever:
[sudo] forever start /path/to/ips/applications/babble/sources/Node/babble.js
(some servers OS's like ubuntu, will alias node to nodejs)
It is recommended that you use forever to startup babble.js, if it crashes or stops running for whatever reason, forever will start it back up. it is however HIGHLY recommend that you create a init script and use it to startup node (this will allow the babble.js to start up when the server is restarted). In another tutorial, I'll provide a systemd script, you will be responsible for configuring it for your server, installing it, and setting it to run at startup. any other init system, I will not be providing a script (older versions of debian and centOS will be using sysV init system and older versions of ubuntu - pre-ubuntu 15.04 - will use upstart init system. any other server OS, like windows or macosx, I will not be of any help on creating init scripts for).
warn: --minUptime not set. Defaulting to: 1000ms warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
This error can be ignored if you receive it while starting it with forever.
5. Once your babble.js app is running on your node server. Go back to your ACP->Babble->Configuration->General->Node Settings tab. Enter in your node.js url, if this on the same server, it will most likely be http://mysite.com:3000 (if you used a different port than 3000, you should use this instead of the default). Hit save. Babble's basic configuration is setup.
if you are running SSL (HTTPS), you will need to setup a reverse proxy in your vhost (apache) or config file (nginx). There is a SSL configuration tab, incase you need to pass additional settings for SSL to babble (you will find a link to a php.net page, that will explain what options are available). If bots nor the online list is working for you after setting up a reverse proxy and babble is working (you don't get a popup that babble isn't connected), you are more than likely need to pass additional settings via the SSL tab, as to which settings your HOST or system admin will need to assist you in this. In my testing, on a few different servers with SSL, I didn't have to use these settings and everything worked as intended, but that might not always be the case. I will make note again, configuration of node.js and your server is beyond the scope of my support, I will answer questions to the best of my ability, and assist if i can, but I am not a system administrator, and my knowledge is limited on the matter.
6. Go to ACP->Babble->Manage->Rooms. Here you will see two default rooms, you will need to configure these, mainly the permissions. click on the lock icon, this will bring up a permission matrix for the room. set your permissions. You should now be able to view this room on the front end.
Edited by Michael