This guide is intended to help you install babble 2.4+. this guide is only applicable to the self hosted version, if you have the chat service, check this out.
requirements for this guide:
- nodejs v4.x+ (v0.10 and v0.12 do not ship with ECMAScript 2015 enabled by default and might have other version related issues with third party libs in use for babble) and npm to be installed. (forever is optional)
- a terminal application such as putty to be able to connect to your server via SSH.
- text editor (such as notepad++)
- if you will be using SSL you will need the full paths for the location of your SSL's .key and .crt file (if you have a ca.cert file, you will need its full path too, this is not always required).
this guide will assume you have a understanding of how to use a terminal application and connecting to your server via SSH. I do offer a installation service for babble (just babble and configuring the babble.js, i will not install nor configure node.js itself or do anything related to server maintenance, etc). this service is $75 for the first hour, then an additional $50 per hour after this, i will require the $75 to paid before i will begin. the installation will also need to be scheduled, please contact me via PM (Michael) if you are interested in this service and/or to schedule an installation.
Notice: the installation of Nodejs/forever/npm are not covered here. nodejs and npm are requirements to install and run babble. the installation/configuration/maintenance of nodejs/npm are not covered in support for this application. these are server level software like apache/nginx/php/mysql, you will need to contact your host for assistance with these programs.
- in your zip file, you will find babble.tar, extract it it from the zip.
- Babble will install in the ACP of IPS like any other IPS application. if you have read/write restrictions, you will need to extract the contents of the babble.tar and upload them to your server via FTP or you will need to disable said restrictions to be able to install babble.
after installing you will see babble in the left hand menu:
Go to Configuration->General and click on the "Node Settings" Tab:
- fill in the Node url (this could be your servers URL without the trailing slash, a server IP, etc) it will need to be a full URL, so it will need to include https:// or http://. (note: the URL field might already be populated here with the URL and port number, if this is the case remove the port number from the URL.)
- fill in the port number you will wish to use. by default this is 3000. you will need to check with your host to see which ports are available.
- you don't need to do anything with the node private key setting, it should already be populated if not, it will populate after save.
- save, once saved navigate back to the Node Settings Tab.
- you will notice a new section has appeared. it will contain a download link for babble.js and package.json, both are required to finish the installation of babble.
- once you have downloaded the babble.js, and if you do not require SSL to be configured, skip to step 14 if not open up babble.js in a plain text editor such as notepad++ (notepad in windows will also work, but not wordpad).
once opened, please locate these two variabls in babble.js:
var sslPrivateKey = ''; var sslCertificate = '';
and place the full path to the location of your SSL key and crt. they should look something like this when done:
var sslPrivateKey = '/etc/ssl/certs/mysite_com.key'; var sslCertificate = '/etc/ssl/certs/mysite_com.crt';
if you have a ca.cert, you can add it to the (this is not always required as some cert companies do not issue them, auto-ssl in cpanel will not contain a ca.cert/bundle):
var sslBundle = '';
- now upload babble.js and package.json to your server, to any folder you like. i would suggest making this folder not accessible via the browser, and if it is, you are responsible for taking steps to making sure the contents of babble.js are not viewable and/or downloadable.
- connect to your server via ssh. navigate to the folder where you uploaded babble.js and package.json.
once you have done that, we will need to install the node modules that babble.js uses. execute this command:
- this could take a few minutes as it has to retrieve and install the modules that are required for babble.js to run. once they are done installing (ignore the error about babble.js not having a licenses or repo field).
- once they have been installed, we can start up babble.js. there are a few ways to do this, i suggest using forever or creating a init script for your servers OS (each OS is different, most linux distro's will use systemd, i will provide a tutorial on how to create one, but i will offer no support on it, as each linux distro has their own way of doing things and i am frankly not a sysadmin).
you can install forever with this command (the following will require super user privileges, so if you are not logged into SSH with an account with super user privileges please switch accounts to install this):
npm install forever -g
- on some versions of NPM, will throw an error about out of date or depecrated dependencies, this can be safely ignored.
once it is install you can start the babble.js with the following command:
forever start babble.js
to restart babble.js:
forever restart babble.js
to stop or stop all scripts started with forever:
this is the end of this guide. if you started babble.js with forever or a init script, it will continue to run after ssh has been disconnected. if the server is restarted and you only started babble.js with forever, you will need to start it again after the server has been rebooted. if you used the init script, it will start with the server.
Edited by Michael