Documentation about administering our CAS server infrastructure.
- 1 Application Deployment
- 2 Run-time Administration
- 3 To-Do list
Setting up a development environment
- Install Apache Tomcat
- Install the MySQL connector JDBC driver
- Install Maven 2
- Setting up CAS development on OS X - Adam's cheat-sheet for OS X.
Accessing the source code
Our CAS source-code is maintained as a "Maven overlay" that includes just our customized files. All other (non-customized) files are automatically downloaded as part of the Maven build process.
To get our CAS source code, clone from our central Git repository on chisel. (if you don't have access, send Adam Franco your ssh public key.)
git clone firstname.lastname@example.org:midd-cas.git
Once you have cloned the Git repository, you should have a directory called
This directory contains the following files:
pom.xml- The Maven configuration file. This tells Maven which version of CAS and each library to use and where to find them.
src/- contains our customized source-code and configuration files.
target/- the directory where maven will put the compiled
Update the configuration if needed
The configuration file committed to the Git repository on chisel is almost identical to the one in production. If you commit and push changes to this file, then update production, these changes will come through.
The current development configuration (in the source repository) refers to a database on chisel that holds the ticket registry and the services configuration. It is fine to continue to use this database if you wish. If not, you can configure another database. Look for the following lines at the bottom of the
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" p:driverClassName="com.mysql.jdbc.Driver" p:url="jdbc:mysql://chisel.middlebury.edu:3306/db_name?autoReconnect=true" p:password="password" p:username="username" />
Build the war package
mvn clean package
Deploy the package
Deploying the package involves stopping tomcat, then deleting the CAS files from its
webapps/ directory and putting the new
war file in that directory. When tomcat is started, it will extract the various resources from the
war file and run the application.
sudo tomcatctl stop sudo rm -R /opt/local/share/java/tomcat5/webapps/cas* sudo cp target/cas.war /opt/local/share/java/tomcat5/webapps/cas.war sudo tomcatctl start
Updating the source code
Deploying in production
Allowed Services Configuration
- Multicast Ticket Registry for high availability - Currently the ticket-registry database is a single point of failure. Updating to a ticket-registry implementation that allows each CAS server to validate its peers without a single intermediary will help ensure high availability.