Tạo ứng dụng mới trên Red5 nhanh nhất !

Tháng Mười 3, 2008

Chào. 

Thêm một bài nữa về Red5. Hôm qua tôi vừa lấy (qua svn) bản mới nhất của Red5 về dịch và chạy thử thấy có vài chút thay đổi. Thật là tuyệt, phiên bản mới Red5 cho tôi nhiều hứng khởi. Nào ta bắt đầu tạo một ứng dụng mới cho Red5.

1. Background

Một ứng dụng trên Red5 được đặt trong thử mục red5/webapps/ (ví dụ: red5/webapps/oflaDemo). Cấu trúc của một ứng dụng (trong phiên bản mới nhất) sẽ bao gồm :

webapps/myNewApp

                                +——- WEB_INF (Thư mục chạy chính)

                                +——- +——- classeses (để  các .class sau khi biên dịch)

                                +——- +——- com

                                +——- +——- +——- comname

                                +——- +——- +——- +——- mynewapp

                                +——- +——- lib (để các thư viện cho ứng dụng)

                                +——- +——- red5-web.properties

                                +——- +——- red5-web.xml

                                +——- +——- web.xml

                                +——- scr (thư mục chứa các tệp nguồn .java)

                                +——- build.properties

                                +——- build.xml

Bạn cần có một chút kiến thức cơ sở cho các vấn đề này. Để có điều này, không có gì chi tiết hơn Red5 website, tại đó bạn có rất nhiều manual và tutorial để bồi bổ kiến thức. Thậm chí, bạn có thể đọc ngay trong thư mục red5/doc cũng đã rất nhiều rồi.

2. Tạo một ứng dụng mới nhanh như thế nào

Các ứng dụng của Red5 thiết kế để dễ dàng cài đặt và khá độc lập với nhau. Đó là lợi thế để ta có thể tạo một ứng dụng trên Red5 trong nháy mắt (bạn có tin không). Thật dễ, copy/paste một ứng dụng có sẵn của Red5 (ví dụ oflaDemo) và đổi tên nó thành tên ứng dụng của bạn (ví dụ myNewApp). Xong, bây giờ đến lúc bạn cấu hình lại một chút (giả sử ứng dụng của bạn trong package: com.comname.mynewapp)

2.1 Tệp web.xml 

Thay đổi lại display-name 

<display-name>My new App</display-name>

Thay đổi <context-param> cho webAppRootKey

<context-param>

<param-name>webAppRootKey</param-name>

<param-value>/myNewApp</param-value>

</context-param>

2.2 Thay đổi red5-web.xml

Chỉnh lại tham số web.handler

<bean id=”web.handler” class=”com.comname.mynewapp.Application”>

2.3 Thay đổi red5-web.properties

Chỉnh lại webapp.contextPath

webapp.contextPath=/myNewApp

2.4 Sửa lại code

He, đi xong 1/2 quãng đường rồi đó

Tiếp theo là đến code, tạo thư mục src/com/comname/mynewapp

Ok, copy .java cũ của oflaDemo vào thư mục bạn vừa tạo rồi xóa thư mục /org/red5 …. đó đi. Sửa lại đường dẫn package thành com.comname.mynewapp. Tiếp theo hãy sửa đổi code lại theo ý bạn

2.5 Biên dịch

Sửa lại tệp build.xml cho đúng với cấu hình, sau đó trong webapps/myNewApp 

ant

 

Hãy nhớ đặt các biến môi trường: JAVA_HOME, ANT_HOME, RED5_HOME. Nếu không bạn phải sửa nhiều mới build thành công đó. Đừng quên build red5 trước khi build ứng dụng mới này, tôi có  1 bài hướng dẫn cài và build red5 rồi)

Sau khi build lại, khởi động lại red5, và thử chạy xem sao. Chúc thành công.


Cài đặt Red5

Tháng Mười 1, 2008

Tôi nhớ hôm đó là một ngày nắng hạ, mong muốn được dịch và sửa mã Red5 một lần dù chỉ là hello Red5 cũng làm tôi tốn mất 1/2 buổi sáng. Việc đầu tiên là google với những bài hướng dẫn trong trong website còn vô cùng đơn giản của Red5 đã giúp tôi một phần đáng kể. Bắt đầu là việc đi tìm những phần cần thiết cho một Red5.

1. Slackware 12.1(Trên máy ảo VMWare): Tôi được giới thiệu từ một người bạn đang sử dụng Slackware và kết ngay nó từ cái nhìn đầu tiên với giao diện Slacke17. Nhưng thú thực, tôi chẳng mấy khi gọi lệnh startx lên. Phần lớn là command line, tôi thích vậy, không thích dùng chuột và hay dùng putty. Tôi cài Slackware rất nhanh nhưng thời gian để torrent iso Slackware DVD thì làm tôi rất sốt ruột. Có thể bạn không cài Slackware, dùng Centos, Suse hay bất kể hệ điều hành khác theo tôi không có nhiều khác biệt. 

2. ANT (Apache Ant 1.7.1)

Khi tôi đọc bài báo và làm theo hướng dẫn, Apache Ant mới đang Version 1.7.0, hiện tại phiên bản của Ant là 1.7.1, bạn cần download apache ant để có thể dịch được Red5. Việc cấu hình Red5 vô cùng đơn giản: 

- remove version ant nếu version thấp hơn 1.7.0

- Giải nén ant

tar -xzf apache-ant-1.7.1-bin.tar.gz

- Copy ant tới thư mục /usr/local/ant

mv apache-ant-1.7.1 /usr/local/ant

- Rồi đến lúc bạn cần cấu hình để chạy được Ant rồi đó, việc này không khó, nguyên tắc chung là bạn cần chèn thư mục /user/local/ant/bin vào trong biến môi trường PATH để có thể gõ và chạy ant tại bất kì đâu và cấu hình biến môi trường ANT_HOME để dịch. Trong Slackware tôi chỉ edit vào cuối /etc/profile có 2 dòng:

PATH=/usr/local/ant/bin:$PATH

ANT_HOME=/usr/local/ant/bin

Trong Centos, Suse, Fedora hay các hệ khác, bạn có thể sử dụng lệnh export

export PATH= $PATH:/usr/local/ant/bin

export ANT_HOME=”/usr/local/ant/bin”

(Tôi hay thêm hai dòng này vào .bashrc :) )

Thế là xong chú Ant

3. Cài đặt Java

Các phiên bản Red5 khác nhau cần các phiên bản Java khác nhau, bản Red5 0.7.0 tôi sử dụng Jdk 1.6.0 update 01. Tốt rồi, việc cài đặt java không khó, trước tiên bạn nhớ remove version Java phiên bản thấp hơn đi.

- Download (Bạn có thể chọn version theo link)và cài đặt Java theo hướng dẫn,

- Giả sử bạn cài đặt Java vào trong thư mục /usr/local/java/jdk1.6.0_01, ta sẽ sửa đổi biến môi trường một chút:

PATH=/usr/local/java/jdk1.6.0_01/bin:$PATH  #(bạn có thể đặt biến môi trường này cùng với ant như trên)

JAVA_HOME=/usr/local/java/jdk1.6.0_01

4. Cài chú Red5 nào

He he, thế là xong vài thứ phụ kiện. Rồi chúng ta chuẩn bị dịch Red5

Bạn có thể sử dụng luôn phiên bản Red5 mà bạn đã download từ Red5 home page, tôi thì hay sử dụng svn:

svn checkout http://red5.googlecode.com/svn/java/server/trunk red5

Khà khà, bây giờ thì vui rồi:

cd red5

ant  

Sau cùng thì chạy red5 cái nào:

./red5.sh

Chúc bạn chạy được Red5 theo hướng dẫn này.


Follow

Get every new post delivered to your Inbox.