Difference between revisions of "Analytics"

From CoGepedia
Jump to: navigation, search
m (*In the case of a common dependency issue with iplant-clojure-commons:)
m (*In the case of a common dependency issue with iplant-clojure-commons)
Line 95: Line 95:
 
----
 
----
  
=== *In the case of a common dependency issue with iplant-clojure-commons ===
+
=== *In the case of a common dependency issue with iplant-clojure-commons ===
  
 
We need to point to the missing dependency manually: Run:  
 
We need to point to the missing dependency manually: Run:  
  
   `$ git clone https://github.com/iPlantCollaborativeOpenSource/iplant-clojure-commons.git`
+
   $ git clone https://github.com/iPlantCollaborativeOpenSource/iplant-clojure-commons.git
  
 
In the iplant-clojure-commons directory, run:  
 
In the iplant-clojure-commons directory, run:  
  
   `$ lein uberjar`
+
   $ lein uberjar
  
 
In lein 2.0 this will create a file at "<PATH>/iplant-clojure-commons/clojure-commons-1.3.3-SNAPSHOT-standalone.jar"  
 
In lein 2.0 this will create a file at "<PATH>/iplant-clojure-commons/clojure-commons-1.3.3-SNAPSHOT-standalone.jar"  
Line 109: Line 109:
 
Replacing with appropriate <PATH>, run:  
 
Replacing with appropriate <PATH>, run:  
  
   `$ mvn install:install-file -DgroupId=org.iplantc -DartifactId=clojure-commons -Dversion=1.3.3-SNAPSHOT -Dpackaging=jar -Dfile=<PATH>/iplant-clojure-commons/clojure-commons-1.3.3-SNAPSHOT-standalone.jar`
+
   $ mvn install:install-file -DgroupId=org.iplantc -DartifactId=clojure-commons -Dversion=1.3.3-SNAPSHOT -Dpackaging=jar -Dfile=<PATH>/iplant-clojure-commons/clojure-commons-1.3.3-SNAPSHOT-standalone.jar
  
 
Now try  
 
Now try  
  
   `$ lein clean`
+
   $ lein clean
  
 
and then  
 
and then  
  
   `$ lein run`
+
   $ lein run
  
 
The dependency issue should be resolved.
 
The dependency issue should be resolved.

Revision as of 16:08, 13 February 2013

CoGe - Analytics

CoGe Analytics is a metrics and analytics engine for the CoGe platform written on Clojure's web framework Noir.


How To: Deploy on a Server via Apache Webserver

Prerequisites:

(You can install these CLI tools using your linux distributions preferred package manager)

Configuring Analytics to the Database

Once you have all the prerequisites installed, you need to get the Greentea (Analytics) repo from Github. Run:

 `$ git clone https://github.com/LyonsLab/Greentea.git`

TODO: Create a method of loading settings into Analytics from a configuration file so there's no need to unsafely fudge with the code.

Open "Greentea/src/greentea/db.clj" in your favorite text editor.

Modify from line 9:

 defdb cogedb                                                                   
 (mysql {:db "<DB>"                                                            
         :user "<DB USER>"                                                          
         :host "<DB HOST (probably localhost)>"                                                     
         :port "<DB PORT (remove this line if default)>"                                                          
         :password "<DB PASSWORD>"})

Write to the file. Make sure not to push any sensitive information back to Github!

Get Analytics Running:

Inside the cloned directory run:

 `$ lein run &`

it should pull in all the required dependencies* and start a Jetty servlet running on port 3456.

Check localhost:3456 to verify that the analytics platform is running.

Configure Apache to Proxy the Servlet Port to the /analytics Endpoint

Now to setup apache to point localhost/analytics/ to port 3456. Open '/etc/apache2/apache.conf' (or another conf location) in your favorite editor and add these lines:

RewriteEngine On 
NameVirtualHost *:90 
Listen 90

<VirtualHost *:90> 
ServerAdmin coge.genome@gmail.com ServerName localhost 
#ServerAlias geco.com.analytics
ErrorLog /home/rchasman/logs/error.log CustomLog <PATH>/logs/access.log combined LogLevel warn

<Directory <PATH>/Greentea/resources/public/>                    
AllowOverride All                                                        
Order Allow,Deny                                                         
Allow from all                                                           
</Directory>                                                                 
                                                      
DocumentRoot <PATH>/Greentea/resources/public                    
                                                      
ProxyPass /analytics/ http://localhost:3456/analytics/                       
ProxyPassReverse /analytics/ http://localhost:3456/analytics/                
                                                      
ProxyPass /analytics http://localhost:3456/analytics/                        
ProxyPassReverse /analytics http://localhost:3456/analytics/                 
                                                      
ProxyPass /greentea/ http://localhost:3456/greentea/                         
ProxyPassReverse /greentea/ http://localhost:3456/greentea/                  
                                                      
ProxyPass /greentea http://localhost:3456/greentea/                          
ProxyPassReverse /greentea http://localhost:3456/greentea/                   
</VirtualHost> 

These lines proxy calls to /analytics and /analytics/ to port 3456/analytics so that we don't have to type any ugly numbers to reach our site.

Finally:

 `sudo services apache2 restart`

If it says OK, it means the server should be started and you should be able to point a browser at it.

If everything was configured properly point your browser to <DNS>/analytics and Analytics should be up and running!


*In the case of a common dependency issue with iplant-clojure-commons

We need to point to the missing dependency manually: Run:

 $ git clone https://github.com/iPlantCollaborativeOpenSource/iplant-clojure-commons.git

In the iplant-clojure-commons directory, run:

 $ lein uberjar

In lein 2.0 this will create a file at "<PATH>/iplant-clojure-commons/clojure-commons-1.3.3-SNAPSHOT-standalone.jar"

Replacing with appropriate <PATH>, run:

 $ mvn install:install-file -DgroupId=org.iplantc -DartifactId=clojure-commons -Dversion=1.3.3-SNAPSHOT -Dpackaging=jar -Dfile=<PATH>/iplant-clojure-commons/clojure-commons-1.3.3-SNAPSHOT-standalone.jar

Now try

 $ lein clean

and then

 $ lein run

The dependency issue should be resolved.