Gears Components
While the architecture of COmanage Gears describes three separate components of COordinate (the backend system), COnsole (the web UI), and the REST COnnectors (for XML and JSON data transfers), the actual implementation is based on an MVC framework called CakePHP. As such, the technical implementation consists of one package, where the boundaries separating these three components is somewhat fuzzy. Roughly speaking, COnsole can be thought of as the HTML views and the REST COnnectors can be thought of as the XML and JSON views. While not strictly correct, this conceptualization is adequate for installation.
Prerequisites
While Comanage Gears is designed to work in a LAMP environment, the only required component is PHP. Other modern operating systems, web servers, and databases should all work. Configuration of these prerequisites is generally beyond the scope of this documentation.
PHP
PHP 5.2 or later is required. No special build options are currently required, other than support for whatever database you plan on using.
Install Source
Download the COmanage Gears source files to your selected directory.
$ svn co http://anonsvn.internet2.edu/svn/gears/tags/0.1 $ ln -s 0.1 gears
Web Server Setup
The web server should operate under SSL. Make sure the server is capable of rendering PHP.
Install the COmanage Gears directory wherever you like, and configure your web server to deliver it at a suitable URL (such as https://site.edu/gears
or https://gears.site.edu
). Specifically, set the web server to deliver gears/app/webroot
as the document root.
You should verify that the web server will not deliver unprocessed files, especially configuration files such as the database configuration file (ie: https://site.edu/gears/app/config/database.php
). By default, these files will not be delivered.
You'll most likely want to move gears/app/tmp
directory, since it is bad practice to have writable directories on the file system delivering web content. A reasonable alternative would be /var/cache/gears
. The easiest way to do this is to create a symlink to the new directory.
$ cd gears/app $ sudo cp -r tmp /var/cache/gears $ sudo chown -R apache /var/cache/gears $ sudo chmod 700 /var/cache/gears $ mv tmp tmp.not $ ln -s /var/cache/gears tmp
Database Server Setup
If you are using MySQL, use the InnoDB backend, not MyISAM.
Create a new database for COmanage Gears. You can name the new database whatever you like. Set the configuration information, including the password to connect to the database with, in app/config/database.php
.
Set up the database schema by XXX