You're viewing old version number 16. - Current version
2 min
Installing Grebe - Jul 30, 2014
Documenting the steps, which will lead to additional programming changes to make it simpler.
- With the hosting provider, add DNS information, if necessary.
- Create a CNAME record if installing the code under a subdomain.
grebe CNAME @
- May have to wait a while before DNS updates in order to use the new subdomain website.
- Log onto remote server.
- Change to user
root.
or usesudo
ahead of each command.
- Change directory to web server config area. This example uses the Nginx web server, and it assumes that FastCGI has been installed.
cd /etc/nginx
- Need to create a server block config file to support Grebe.
- http://wiki.nginx.org/ServerBlockExample
- "VirtualHost" is an Apache term. Nginx does not have Virtual hosts, it has "Server Blocks" that use the server_name and listen directives to bind to tcp sockets.
- http://wiki.nginx.org/ServerBlockExample
- This is an example of using Grebe under a subdomain.
cd sites-available
vim grebe.yourdomain.com
- add the following and save the file:
########
# GREBE
########
server {
listen 80;
server_name grebe.yourdomain.com;
location ~ ^/(css/|javascript/|images/) {
root /home/grebe/Grebe/root;
access_log off;
expires max;
}
location /api/v1 {
root /home/grebe/Grebe/root/api/v1;
index grebeapi.pl;
rewrite ^/(.*)$ /grebeapi.pl?query=$1 break;
fastcgi_pass 127.0.0.1:8999;
fastcgi_index grebeapi.pl;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
root /home/grebe/Grebe/root;
index grebe.pl;
rewrite ^/(.*)$ /grebe.pl?query=$1 break;
fastcgi_pass 127.0.0.1:8999;
fastcgi_index grebe.pl;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
- Create a link to the new Nginx server block file.
ln -s /etc/nginx/sites-available/grebe.yourdomain.com /etc/nginx/sites-enabled/
- Restart Nginx.
/etc/init.d/nginx restart
- Create a home directory for Grebe.
mkdir /home/grebe
- Change to Grebe directory.
cd /home/grebe
- Within the
/home/grebe
directory, download or copy over the gzipped tar file that contains the Grebe code, and unpack it. Example file:Grebe-29Jul2014.tar.gz
- unpack in two steps:
gunzip Grebe-29Jul2014.tar.gz
tar -xvf Grebe-29Jul2014.tar
- or unpack in one step:
tar -zxvf Grebe-29Jul2014.tar.gz
- unpack in two steps:
- The unpacking creates a directory called
Grebe
.
- Change ownership of all contents under the Grebe directory to the owner (username) and group that Nginx operates under.
chown - R owner:group Grebe
- While in
/home/grebe
change directory toGrebe
.cd Grebe
- For curiosity sake, show a listing of all files and subdirectories under Grebe:
ls -lR
- The directory structure under Grebe:
- lib
- API
- Client
- Config
- CPAN
- Algorithm
- HTML
- JSON
- REST
- Text
- URI
- Escape
- XML
- YAML
- JRS
- nginx
- root
- api
- v1
- css
- images
- javascript
- splitscreen
- api
- sql
- t
- tmpl
- yaml
- lib
- While at
/home/grebe/Grebe
, change to the web root directory.cd root
- Edit the small file
grebe.pl
. Here is the entire file. Ensure of the proper directory structures after thelib
commands.
#!/usr/bin/perl -wT
use strict;
$|++;
use lib '/home/grebe/Grebe/lib';
use lib '/home/grebe/Grebe/lib/CPAN';
use Client::Dispatch;
Client::Dispatch::execute();
- While in
/home/grebe/Grebe/root
, change directory to the version one API directory. Since we're under the web root directory for the Nginx web server, this directory is part of the API URL.cd api/v1
- Edit the small file
grebeapi.pl
. Here is the entire file. Ensure of the proper directory structures after thelib
commands.
#!/usr/bin/perl -wT
use strict;
$|++;
use lib '/home/grebe/Grebe/lib';
use lib '/home/grebe/Grebe/lib/CPAN';
use API::DispatchAPI;
API::DispatchAPI::execute();
From JR's : articles
489 words - 4005 chars
- 2 min read
created on
updated on
- #
source
- versions