[Red5] Apache / Tomcat setup for rtmp and rtmpt
Dan Rossi
spam at electroteque.org
Sun Jun 24 20:44:05 EDT 2007
OK so rtmpt and AMF is done via mod_jk and rtmp is still via the red5
port ? How do you load AMF and rtmpt then just the apache url which has
aliases for the path mappings ? Ill send my config soon aswell, however
im running php5 via fastcgi and apache 2.2.4 in worker mode :) Ive
actually been setting up the packages on my dev system and uploading
them all and installing to my main server today.
Lenny Sorey wrote:
> OK, I now have upgraded to Tomcat 6.0.13 mod_jk-apache-2.2.4.so
> <http://apache-2.2.4.so> , Apache 2.2.4
> and Java jdk-6u1 and am successfully now loading rtmp and rtmpt for
> RED5 as well.
>
> Along with this above config, I also upgraded to PHP 5.2.3 and it is
> running fine as well.
>
> I will write the configs for this arrangement Tomcat 6.013 / Apache
> 2.2.4 later on this afternoon and place on
> the RED5 Mail List.
>
> Regards,
>
> Lenny
>
>
> On 6/24/07, *Lenny Sorey* <lrsorey at gmail.com
> <mailto:lrsorey at gmail.com>> wrote:
>
> Hello Dan,
>
> Sorry you having trouble with Tomcat.
>
> But I did notice I left one important item and this is my fault.
>
> In the http.conf file, just above the <VirtualHost *:80>
>
> You are right, you need to add the following:
>
>
> JkWorkersFile D:/java/Apache2/conf/workers.properties < - This
> is where I define workers.properties
>
> JkLogFile D:/java/Apache2/logs/mod_jk.log < -
> This is where I define mod_jk.log ( don't have to load in mod_jk.conf)
>
> # Set the jk log level [debug/error/info]
> JkLogLevel info
>
> # Select the log format
> JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
>
> # JkOptions indicate to send SSL KEY SIZE,
> JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
> (this helps when I set an ssl key in tomcat and pass through Apache)
>
> # JkRequestLogFormat set the request format
> JkRequestLogFormat "%w %V %T"
>
>
> Sorry about my oversight.
>
> Now, I am going to ask a stupid question. Since I never install
> the example with Tomcat,
> did you actually install the examples with Tomcat?
>
> One thing to note if you are going to use Tomcat's default webapps
> folder. If you type in http://localhost <http://localhost/>
> and you see Tomcat's default page, everything is working properly.
> One problem with this is you really can't
> run any Apache items because basically Tomcat has taken over the
> Apache server. This is why I define
> all my Tomcat apps (including red5) in the webapps2 folder in
> Tomcat. (Just add webapps2 folder). One thing you will
> have to do is to change a couple of red5 java files in order to
> get this to work.
>
> D:\red5\src\org\red5\server\Standalone.java
>
> down around line 143 I made this change:
>
>
> // Set Red5 root as environment variable
> System.setProperty("red5.root", root);
> log.info("Setting Red5 root to " + root);
>
> System.setProperty("red5.webapp.root", root+"/webapps2/");
> log.info("Setting webapp root to " + root);
>
>
> D:\red5\src\org\red5\server\TomcatLoader.java
>
> down around line 143 I made this change:
>
> // Set Red5 root as environment variable
> System.setProperty("red5.root", root);
> log.info("Setting Red5 root to " + root);
>
> System.setProperty("red5.webapp.root", root+"/webapps2/");
> log.info("Setting webapp root to " + root);
>
> Then after you define in server.xml of Tomcat, your host tag like
> the one below, everything should
> work properly and you should also have full control over Apache.
>
>
> <Host name="red5"
> unpackWARs="true" autoDeploy="true"
> xmlValidation="false" xmlNamespaceAware="false">
>
> <Context path=""
> docBase="${catalina.home}/webapps2/red5"
> reloadable="true">
> </Context>
> </Host>
>
> After this this restart Tomcat and then restart Apache and
> everything should work.
>
> Oh, and one thing I always do without fail. I always explode my
> red5.war file before I place it
> into the webapps2 folder. This way I can pick and choose which app
> I want to update.
>
> I am going to upgrade to Tomcat 6.0.13, mod_jk and Apache 2.2.4
> today.
>
> If you are still having problems email me, I will be around.
>
> Regards,
>
> Lenny
>
>
>
>
> On 6/24/07, *Dan Rossi* <spam at electroteque.org
> <mailto:spam at electroteque.org>> wrote:
>
> Lenny still going with my setup here, it seems placing
> workers.properties into the apache conf directory doesnt work
> it has to
> be loading via the mod_jk configs for it to work on mine like
> so, its
> not getting auto loaded.
>
> JkWorkersFile /usr/local/tomcat/conf/jk/workers.properties
> JkLogFile /var/log/apache2/mod_jk.log
> JkLogLevel debug
> JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
> JkShmFile /var/log/apache2/mod_jk.shm
> JkMount /examples/servlet/* worker1
> JkMount /examples/*.jsp worker1
> JkMount /*.jsp worker1
> Alias /examples /usr/local/tomcat/webapps/examples
>
> Lenny Sorey wrote:
> > Hello all,
> >
> > As promised the following is what I used to setup Apache /
> Tomcat and
> > mod_jk in order to use rtmp and rtmpt:
> >
> > I don't think I left out any steps.
> >
> >
> > *Step One:*
> >
> > * *
> >
> > *Make sure you are running the latest Trunk of RED5.*
> >
> >
> >
> > Download the latest mod_jk connector from the following url.
> >
> >
> >
> > http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
> <http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/>
> >
> >
> >
> > This link is for the binary for each respective operating system
> >
> > Then select which version of Apache you have installed.
> >
> >
> >
> > If you want to make it easy on yourself rename the downloaded
> binary
> > to mod_jk.so . this will make a bit easier when you reference
> this
> > module in Apache.
> >
> >
> >
> > Place the newly renamed mod_jk,so in the following folder
> of Apache:
> >
> >
> >
> > Apache2/modules
> >
> >
> >
> > Now navigate to the Apache2/conf folder and open up the
> following file:
> >
> >
> >
> > httpd.conf
> >
> >
> >
> > Add the following at the end of the LoadModule section somewhere
> > around line 132:
> >
> >
> >
> > LoadModule jk_module modules/mod_jk.so (don't forget to
> rename the
> > downloaded mod_jk binary to mod_jk.so)
> >
> >
> >
> > Save what you have so far.
> >
> >
> >
> > Move down to the bottom of httpd.conf and add the following:
> >
> >
> >
> > <VirtualHost *:80>
> >
> >
> >
> > ServerName *red5 < - (red5 in this instance is the
> server name)*
> >
> > DocumentRoot
> D:/java/Tomcat55/webapps2 (wherever you
> > have tomcat installed – Yep, I added webapps2 to Tomcat .
> This keeps
> > it away fro the default webapps).
> >
> > JkMount /* worker1
> >
> >
> >
> > <Directory "/">
> >
> > Options Indexes MultiViews
> >
> > AllowOverride None
> >
> > Order allow,deny
> >
> > Allow from all
> >
> > </Directory>
> >
> >
> >
> > <Location "/WEB-INF/">
> >
> > AllowOverride None
> >
> > deny from all
> >
> > </Location>
> >
> >
> >
> > </VirtualHost>
> >
> >
> >
> > * - remove the text in red above.
> >
> >
> >
> > Make sure you add the following file in the Apache2/conf:
> >
> >
> >
> > Workers.properties
> >
> >
> >
> > Here what you need in this file:
> >
> >
> >
> > # Define 1 ajp13 worker
> >
> > worker.list=worker1
> >
> > # Set properties for worker1 (ajp13)
> >
> > worker.worker1.type=ajp13
> >
> > worker.worker1.host=localhost
> >
> > worker.worker1.port=8009
> >
> > worker.worker1.lbfactor=50
> >
> > worker.worker1.cachesize=10
> >
> > worker.worker1.cache_timeout=600
> >
> > worker.worker1.socket_keepalive=1
> >
> > worker.worker1.socket_timeout=300
> >
> >
> >
> >
> >
> > OK, that should do for Apache.
> >
> >
> >
> > Now on to Tomcat:
> >
> >
> >
> > Navigate to the following Tomcat folder:
> >
> >
> >
> > Tomcat/conf
> >
> >
> >
> > Please open up the following file:
> >
> >
> >
> > server.xml
> >
> >
> >
> > Make sure this statement is uncommented:
> >
> >
> >
> > <Connector port="8009"
> >
> > enableLookups="false" redirectPort="8443"
> > protocol="AJP/1.3" />
> >
> >
> >
> >
> >
> >
> >
> > OK, the next step in the server.xml file
> >
> >
> >
> > Find the first tag </Host>
> >
> >
> >
> > After this tag add the following:
> >
> >
> >
> > <Host name="*red5*"
> >
> > unpackWARs="true" autoDeploy="true"
> >
> > xmlValidation="false" xmlNamespaceAware="false">
> >
> >
> >
> > <Context path=""
> >
> > docBase="${catalina.home}/webapps2/* red5*"
> >
> > reloadable="true">
> >
> > </Context>
> >
> > </Host>
> >
> >
> >
> > * - Change red5 to whatever server name you want here. This
> has to
> > match the servername in the http.conf in Apache or things
> will not work.
> >
> >
> >
> >
> >
> > This pretty much should be it.
> >
> >
> >
> > Restart Tomcat, wait a sec. and then restart Apache so that
> Apache may
> > bind with Tomcat.
> >
> >
> >
> > Open your Browser and then log on the what server name you
> setup. In
> > the case we would use the following:
> >
> >
> >
> > http://red5 <http://red5/> < http://red5/>
> >
> >
> >
> > This should take you to the index.html if you have setup your
> Apache
> > http.conf like the following:
> >
> >
> >
> > #
> >
> > # DirectoryIndex: sets the file that Apache will serve if a
> directory
> >
> > # is requested.
> >
> > #
> >
> > # The index.html.var file (a type-map) is used to deliver
> content-
> >
> > # negotiated documents. The MultiViews Option can be used
> for the
> >
> > # same purpose, but it is much slower.
> >
> > #
> >
> > DirectoryIndex index.html
> >
> >
> >
> > Oh Yeah:
> >
> >
> >
> > This is my red5.properties file:
> >
> >
> >
> > # HTTP
> >
> > http.host=10.2.0.10
> >
> > http.port=8080
> >
> > # RTMP
> >
> > rtmp.host=10.2.0.10
> >
> > rtmp.port=1935
> >
> > rtmp.event_threads_core=16
> >
> > rtmp.event_threads_max=32
> >
> > # event threads queue: -1 unbounded, 0 direct (no queue), n
> bounded queue
> >
> > rtmp.event_threads_queue=-1
> >
> > rtmp.event_threads_keepalive=60
> >
> > rtmp.send_buffer_size=271360
> >
> > rtmp.receive_buffer_size=65536
> >
> > rtmp.ping_interval=5000
> >
> > rtmp.max_inactivity=60000
> >
> > # RTMPT
> >
> > rtmpt.host=10.2.0.10
> >
> > rtmpt.port=8080
> >
> > rtmpt.ping_interval=5000
> >
> > rtmpt.max_inactivity=60000
> >
> > # WEBAPP
> >
> > webapp.contextPath=/
> >
> > webapp.virtualHosts=*, 10.2.0.10 <http://10.2.0.10/> <
> http://10.2.0.10 <http://10.2.0.10/>>,red5
> >
> >
> >
> > Change the 10.2.0.10 <http://10.2.0.10/> < http://10.2.0.10
> <http://10.2.0.10/>> to your internal IP address.
> >
> >
> >
> > Good Luck!!
> >
> >
> >
> > On my server red5 is actually red5.fatdot.com
> <http://red5.fatdot.com/> <http://red5.fatdot.com
> <http://red5.fatdot.com/> >
> >
> >
> >
> > Please let me know if you are successful with this
> configuration.
> >
> >
> >
> > Regards,
> >
> >
> >
> > Lenny
> >
> > ------------------------------------------------------------------------
>
> >
> > _______________________________________________
> > Red5 mailing list
> > Red5 at osflash.org <mailto:Red5 at osflash.org>
> > http://osflash.org/mailman/listinfo/red5_osflash.org
> >
>
>
> _______________________________________________
> Red5 mailing list
> Red5 at osflash.org <mailto:Red5 at osflash.org>
> http://osflash.org/mailman/listinfo/red5_osflash.org
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Red5 mailing list
> Red5 at osflash.org
> http://osflash.org/mailman/listinfo/red5_osflash.org
>
More information about the Red5
mailing list