2017-10-30 10:45:16 -04:00
CAS Overlay Template
============================
Generic CAS WAR overlay to exercise the latest versions of CAS. This overlay could be freely used as a starting template for local CAS war overlays. The CAS services management overlay is available [here ](https://github.com/apereo/cas-services-management-overlay ).
# Versions
```xml
2018-05-28 09:43:26 -04:00
< cas.version > 5.3.x< / cas.version >
2017-10-30 10:45:16 -04:00
```
# Requirements
2018-05-28 09:43:26 -04:00
2017-10-30 10:45:16 -04:00
* JDK 1.8+
# Configuration
The `etc` directory contains the configuration files and directories that need to be copied to `/etc/cas/config` .
# Build
To see what commands are available to the build script, run:
```bash
./build.sh help
```
To package the final web application, run:
```bash
./build.sh package
```
To update `SNAPSHOT` versions run:
```bash
./build.sh package -U
```
# Deployment
- Create a keystore file `thekeystore` under `/etc/cas` . Use the password `changeit` for both the keystore and the key/certificate entries.
- Ensure the keystore is loaded up with keys and certificates of the server.
On a successful deployment via the following methods, CAS will be available at:
* `http://cas.server.name:8080/cas`
* `https://cas.server.name:8443/cas`
## Executable WAR
Run the CAS web application as an executable WAR.
```bash
./build.sh run
```
## Spring Boot
Run the CAS web application as an executable WAR via Spring Boot. This is most useful during development and testing.
```bash
./build.sh bootrun
```
### Warning!
2018-05-28 09:43:26 -04:00
Be careful with this method of deployment. `bootRun` is not designed to work with already executable WAR artifacts such that CAS server web application. YMMV. Today, uses of this mode ONLY work when there is **NO OTHER** dependency added to the build script and the `cas-server-webapp` is the only present module. See [this issue ](https://github.com/spring-projects/spring-boot/issues/8320 ) for more info.
2017-10-30 10:45:16 -04:00
## Spring Boot App Server Selection
2018-05-28 09:43:26 -04:00
There is an app.server property in the `pom.xml` that can be used to select a spring boot application server.
It defaults to `-tomcat` but `-jetty` and `-undertow` are supported.
It can also be set to an empty value (nothing) if you want to deploy CAS to an external application server of your choice.
2017-10-30 10:45:16 -04:00
```xml
< app.server > -tomcat< app.server >
```
## Windows Build
2018-05-28 09:43:26 -04:00
If you are building on windows, try `build.cmd` instead of `build.sh` . Arguments are similar but for usage, run:
2017-10-30 10:45:16 -04:00
```
build.cmd help
```
## External
Deploy resultant `target/cas.war` to a servlet container of choice.
2018-05-28 09:43:26 -04:00
## Command Line Shell
Invokes the CAS Command Line Shell. For a list of commands either use no arguments or use `-h` . To enter the interactive shell use `-sh` .
```bash
./build.sh cli
```