In general, you should download the latest release. This will make it easier to track where your deployment is versus the current development work for purposes of reporting bugs, diagnosing issues, and understanding available features.
Download the COmanage Registry source files somewhere into the file system. The location you put the files does not have to be the location from which the files are served by the web server. Create a symlink to the directory called registry-current
(or something similar):
$ mkdir /srv/comanage $ cd /srv/comanage $ wget https://github.com/Internet2/comanage-registry/archive/1.0.1.tar.gz $ tar xzf 1.0.1.tar.gz $ ln -s comanage-registry-1.0.1 registry-current |
The master
branch has the latest features that should be stable enough for use, but may not be feature complete. If you want the latest master, you can download it easily via svn:
$ svn co https://github.com/Internet2/comanage-registry/branches/master |
You can also download the develop
branch, which is usually more bleeding edge.
$ svn co https://github.com/Internet2/comanage-registry/branches/develop |
If you plan on mucking around with the code, you can also clone the git repo.
Deploy the COmanage Registry directory wherever you like. Note that the user that the web server runs as needs to be able to read all the files.
Configure your web server to deliver the registry at a suitable URL such as https://some-vo.org/registry
. A simple strategy to accomplish this when running under the Apache web server is to create a symlink in the DocumentRoot
named registry
that points to the directory .../registry-current/app/webroot
:
$ cd /var/www/html $ ln -s /path/to/registry-current/app/webroot registry |
The preferred path /var/www
or /var/www/html
may vary according to your operating system, distribution, or web server configuration.
COmanage Registry currently assumes it is installed at the URL path |
You should verify that the web server will not deliver unprocessed files, especially configuration files such as the database configuration file (ie: https://some-vo.org/registry/app/Config/database.php
). By default, these files will not be delivered.
As of v1.0.0, app/tmp
is a symlink to local/tmp
. You'll most likely want to make that a symlink to another location, since it is bad practice to have writable directories on the file system delivering web content. A reasonable alternative would be /var/cache/registry
. The easiest way to do this on a Unix-like system is to create a symlink to the new directory.
The basic required structure for the tmp
directory is included in app/tmp.dist
. Be sure to replicate this in the target location.
$ cd registry-current/app $ sudo cp -r tmp.dist /var/cache/registry $ sudo chown -R $HTTPUSER /var/cache/registry $ sudo chmod 700 /var/cache/registry $ cd registry-current/local $ ln -s /var/cache/registry tmp |
The CakePHP framework may write error and debugging logs to the |
For versions prior to v1.0.0, update |
In order to integrate COmanage Registry with your authentication system, configure your Web server to protect the directory registry/app/webroot/auth/login
. For example, under Apache your configuration may look something like
DocumentRoot /var/www <Directory /var/www/registry/auth/login> AuthType shibboleth ShibRequestSetting requireSession 1 require valid-user </Directory> |
For Apache, it is recommended that you place this configuration in httpd.conf
rather than .htaccess
, to simplify future upgrades.
If your authentication system supports a logout directive, create a similar configuration protecting auth/logout
.
If you choose to use a SAML2 service provider (SP) such as the Shibboleth Native SP or SimpleSAMLPhP for authentication you may find the COmanage Registry Shibboleth Embedded Discovery Service Plugin useful.