Now it is simply a name for the lowly artificial agent that is rocking your world.
There are two ways to get a gebo server up and running:
But before all that, there are a few things you'll need...
Setting the stage
Install your database (MongoDB)
You're going to need MongoDB on your system, if you haven't got it already:
Start MongoDB by executing this at the command line:
sudo service mongodb start
If you don't have Node, you're not going anywhere:
sudo apt-get install nodejs
gebo-server requires the bcrypt package, which is compiled with g++:
sudo apt-get install g++
Node Package Manager is needed to install all of gebo-server's dependencies. It should be installed automatically along with Node (see above). If, for some reason, it wasn't, run:
sudo apt-get install npm
Install the Bower package manager globally with the
sudo npm install -g bower
Clone or npm?
As stated, there are two ways to obtain a gebo server...
1. Clone it
If you want to experiment or better understand gebo's inner workings, this is the option for you:
git clone https://github.com/RaphaelDeLaGhetto/gebo-server.git cd gebo-server
Once downloaded, install your npm modules:
sudo npm install
Then, install your UI dependencies:
2. Get it with npm
The gebo server offers all of the basic functionality expected of a communicative artificial agent. Your gebo's behaviour may be modified or supplemented without messing around with his basic skill set (yes, I said his).
This will get you up and running in no time:
mkdir myGebo cd myGebo npm init
Follow npm's setup instructions and then:
sudo npm install gebo-server --save
TO BE CONTINUED...
your SSL certificates
There are a couple of files already set up, but it's best that you create your own self-signed certificate:
cd cert rm * openssl genrsa -out key.pem openssl req -new -key key.pem -out csr.pem openssl x509 -req -days 9999 -in csr.pem -signkey key.pem -out cert.pem rm csr.pem cd ..
Seed the database
This step is for quick setup and development purposes. It creates a registered user, admin, and establishes a friendoship between them.
You may need to install grunt-cli first:
sudo npm install -g grunt-cli
This inserts a couple of test users into your database to confirm that authentication is working.
When you want to start adding your own users, you can erase the existing database like this:
Run your server
Agent-specific settings can be adjusted in
gebo.json. The properties are self-descriptive, and all are required.
logLevel currently takes one of three values:
trace: for development and debugging. This is the verbose logging mode.
info: for production. All basic server interactions will be logged.
off: no output will be written to the log files
From the project directory...
This is mostly for human agents who need traditional username/password access through some human-agent interface. A friendo does not need to be a registered agent, though a registered agent does need to be a friendo with permissions set to access any given gebo resource (unless that registered agent is an administrator, that is).
A friendo is an agent to whom you may assign an access token.
The someaction parameter may also specify a database collection name.
This token allows an agent access to all the resources to which he's already been granted permission.
Hit me with it.