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. 
** <code>grebe CNAME @</code>
* 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 use @sudo@ ahead of each command.
** https://help.ubuntu.com/community/RootSudo

* 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._
* This is an example of using Grebe under a subdomain.
** @cd sites-available@
** @vim grebe.yourdomain.com@
** add the following and save the file:

code.
########
# 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;
        }
}
code..

* 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@
* The unpacking creates a directory called @Grebe@.