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 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@. * Change ownership of all contents under the Grebe directory to the owner (username) and group that Nginx operates under. ** @chown - R owner:group Grebe@ * 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 ** sql ** t ** tmpl ** yaml