Introduction

Paraphrased from the JASig CAS Project Page:

  • Central Authentication Service, or CAS, is an authentication system originally created by Yale University to provide a trusted way for an application to authenticate a user. CAS provides enterprise single sign-on (SSO) service.

This document provides the steps for setting up different CAS Server implementations on Ubuntu Server. It does NOT cover the client side.

The procedures outlined here should work for other Linuxen including OSX, but YMMV.

Setting up the Server

All the server versions use mostly the same sequence of steps. Here's the general outline of what we're going to do here is:

  • get the latest CAS server code (as of this writing)
  • configure CAS to read users from in-memory database (default)
  • configure CAS to read users from a MySQL database
  • set up an server to which the CAS server can be deployed. This could be Ruby, Tomcat, JBoss, whatever. The server-specific configuration is detailed in the relevant sections below.
  • set up an automated deployment for the CAS server
  • configure CAS to store the ticketRegistry in-memory (default)
  • configure CAS to store ticketRegistry in MySQL
  • customize the CAS interface to make it better

Each server may have a specific further configuration, but that's in addition to the steps outlined here. Ok, let's get started.

JASig CAS Server on Tomcat

Custom configurations for the tomcat server are:

  • Maven deployment to create a WAR file to distribute to the tomcat server

Pre-Requisites

Tomcat. You can get it in one of two ways. Either through aptitude:

sudo aptitude install tomcat

OR downloading it from the tomcat project page

wget <need url>

Maven. CAS comes with a Project Object Model (POM) file, which tell Maven, the project build/management tool, how to compile the CAS project.

sudo apt-get install maven2

Optionally you can install maven-ant-helper in case you decide to use Ant to create deployment tasks:

sudo apt-get install ant
sudo apt-get install maven-ant-helper

Configuring CAS Server Build for Maven

Get the latest CAS server archive from JASig:

 wget http://www.ja-sig.org/downloads/cas/cas-server-3.3.5-release.tar.gz
 tar -xvzf cas-server-3.3.5-release.tar.gz
 cd cas-server-3.3.5

CAS uses Maven, which relies on the pom.xml file to define tasks.

Configure the pom.xml file

Configure WEB-INF/deployerContext. Note: Keep in mind that dependencies are downloaded from the maven site, and stored in ~/.m2/repository. You can check this out for the MySQL dependency that we've defined above.

Set up database sources

RubyCAS: Ruby-based Server

JASig CAS Server on JBoss

Revoking Sessions

Ubuntu Version Specific Configuration

Troubleshooting

References

CentralAuthenticationService (last edited 2011-05-11 07:19:33 by jengelh)