Table of Contents

Red5 Config Files

Red5 is built on top of the Jetty6 (servlet engine), Mina (networking), and wired together using Spring Framework. As a result we have quite a few config files. Were possible we load properties files to simplify config, so users dont need to dig into the xml. This guide should help new users get familiar with the config files, which ones they might want to change, and what to ignore.

Jetty Config

/conf/jetty.xml

The main servlet engine config file, you shouldnt need to change this if you put apps in webapps. But its quite a swiss army knife of a config file. You can do all sorts. Checkout the jetty docs for more info.

/conf/web-default.xml

The default web xml, this is applied before the WEB-INF/web.xml, allows remoting servlets to be added to all apps. Think of this as a webapp template file.

/conf/keystore - File holding ssl keys. /conf/realm.properties - Web realms, users, passwords, etc.

Red5 Server Config

/conf/red5.properties

Easy access to change the things like ports, config vars, etc without editing the xml files. We will try to move all the common config into this file.

/conf/red5.xml

Wires the contexts together. Dont know what that means? Dont worry, you should not need to edit unless you add another global context. You might want to do that if you are hosting red5.

/conf/red5-common.xml

This forms the root of the context tree, any services will be available to all sub contexts. You can put services in here if you want them to be shared between all global contexts. 99% of users wont need to edit this file.

/conf/log4j.properties

Set logging levels, and output files, etc. This is for the whole server. You might want to change this, but consider using the log4j config in the webapp WEB-INF dir instead.

/conf/red5-net.xml

Setup Mina and start Jetty. Users shouldnt need to modify this, things like ports can be done via red5.properties.

/webapps/red5-default-global.xml

This is the global context, most servers will have one, but in hosting having separate globals will allow for secure virtual servers able to handle multiple hosts. If you want services shared between apps, then add them here. This context hold things like client registry and global scope.

Webapp Config

/webapps/myapp/WEB-INF/web.xml

Standard webapp config file, add servlets, context params, etc. Loads spring, which connects to red5 global context.

/webapps/myapp/WEB-INF/red5-web.xml

Holds the apps context, this is where you go to town adding your application, services, etc.

/webapps/myapp/WEB-INF/red5-web.properties

Easy access to properties for red5-web.xml, also read by red5 jetty configurator to set webapp.virtualHosts and webapp.contextPath. Note if deploying in a different servlet engine you will have to configure these using that servlet engines config file as well as this file.

/webapps/myapp/WEB-INF/log4j.properties

Allows you to have a per webapp log file, set levels etc. This config file should be auto reloaded by spring. Have not had a chance to check but does sound RAD to me.