2007年10月1日 星期一

[轉貼] JSP+apache

想說這邊也留一份
獲得同意轉貼內容

原作SHIH-WEI LIN
@http://freebsd.ntut.idv.tw/document/freebsd_diablo_jdk_tomcat_apache2.html

Description :

過去在 FreeBSD 上安裝 Java 可說勞神又費時,如今 FreeBSDFoundation 上提供了專用的 Java JDK Packages 套件可說方便多了,我們可直接下載安裝真是相當方便又快速,省去了不少 Compiler 及安裝 Debug 時間,FreeBSD 真是一個優秀又方便的作業系統,在這篇文章中我將介紹如何在 FreeBSD 6.2R 上安裝 Java JDK Console 環境,以及將 Tomcat 5.5 裝到 FreeBSD 上並且跟原本系統上的 Apache2 結合。

Environment :

硬體:i386 PC Intel P3 500
記憶體網卡:512M RAM + Intel 網卡
作業系統:FreeBSD 6.2 Release

Setp 1.

安裝 FreeBSD 版本 Diablo JDK 1.5 環境:

#cd /usr/ports/java/diablo-jdk15 # 這邊我使用 ports 安裝 diablo-jdk5
#make install clean ; rehash # 剛安裝就直接 show 出錯誤:PS:" 這個錯誤警告是正常的,告訴我們得去 FreeBSDFoundation 抓取 diablo 版的 jdk 放到 /usr/ports/distfiles 下才可 make install "
===> diablo-jdk-1.5.0.07.01_1 :
Because of licensing restrictions, you must fetch the distribution
manually. Please access

http://www.FreeBSDFoundation.org/cgi-bin/download?download=diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2

with a web browser and "Accept" the End User License Agreement for
"Caffe Diablo 1.5.0". Please place the downloaded
diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2 in /usr/ports/distfiles.
.*** Error code 1

去官網抓完 FreeBSDFoundation diablo-caffe-freebsd6-i386-1.5.0_07-b01.tar.bz2 後放入 /usr/ports/distfiles 目錄後再次 make install 不到 1 分鐘即可安裝完成。
#make install clean ; rehash # 再次 make install ( 不到 1 分鐘 ) 即可於 FreeBSD 上安裝 Java JDK

#setenv JAVA_HOME /usr/local/diablo-jdk1.5.0 # 設定 Java 的環境路徑
#setenv CLASSPATH $JAVA_HOME/lib

#echo $JAVA_HOME # 查看 JAVA_HOME
/usr/local/diablo-jdk1.5.0
#java -version # 查看 java 版本
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build diablo-1.5.0-b01)
Java HotSpot(TM) Client VM (build diablo-1.5.0_07-b01, mixed mode)

#vi Hello_Diablo_Java.java # 於 Console 環境中寫個 Hello World 程式測試 FreeBSD Java Virtual Machine 環境。

/*
File Name: Hello_Diablo_Java.java
Adviser : 4wei
*/
12345678910111213
import java.lang.*; // 引用套件

public class Hello_Diablo_Java
{
public static void main(String args[])
{
Printer My_Printer = new Printer(); // 依據 Printer 類別建立 My_Printer 物件

My_Printer.Serial_Number = 5566; // 設定 Printer 物件的 Serial_Number 屬性

My_Printer.Hello(); // 呼叫 My_Printer 物件的方法
}
}



123456789
class Printer // 定義 Printer 類別
{
public int Serial_Number; // 定義 Printer 類別的屬性
public void Hello() // 定期 Printer 類別方法
{
System.out.println("Hello Diablo Java!"); // 印出 Hello Diablo Java!
System.out.println("S/N:" + Serial_Number); // 輸出 Serial_Number 屬性
}
}



#javac Hello_Diablo_Java.java # Compiler 寫好的 java Source Code
#java Hello_Diablo_Java # 執行 Compiler 完成後的 Hello_Diablo_Java.class 的 ByteCode,執行時 .class 不用 key,成功 show 出 Hello Diablo Java .......

Hello Diablo Java!
S/N:5566

Setp 2.

安裝 Tomcat 的 Web Server JSP 環境:

#cd /usr/ports/www/tomcat55 # 我安裝 Tomcat 時有出現不可安裝的錯誤,因為我先設定了 JAVA_HOME 的環境,可用 #unsetenv JAVA_HOME 指令先拿掉環境變設定再 make install 即可安裝 Tomacat
#make install clean ; rehash

#setenv JAVA_HOME /usr/local/diablo-jdk1.5.0 # 再次設定 Java 的環境路徑
#setenv CLASSPATH $JAVA_HOME/lib

#/usr/local/tomcat5.5/bin/catalina.sh start # 手動啟動 Tomcat
Using CATALINA_BASE: /usr/local/tomcat5.5
Using CATALINA_HOME: /usr/local/tomcat5.5
Using CATALINA_TMPDIR: /usr/local/tomcat5.5/temp
Using JRE_HOME: /usr/local/diablo-jdk1.5.0

#vi /etc/rc.conf # 加入開機啟動讓每次重開機 Java 環境路徑跟隨設定,同時將 tomcat55 enable 起來

export JAVA_HOME="/usr/local/diablo-jdk1.5.0"
export CATALINA_HOME=/usr/local/tomcat5.5
export CLASSPATH=$JAVA_HOME/lib
tomcat55_enable="YES"

重新開機,查看剛剛加入的環境設定有無生效 ....

# echo $JAVA_HOME # 查看 JAVA_HOME 路徑
/usr/local/diablo-jdk1.5.0
# echo $CLASSPATH # 查看 CLASSPATH 路徑
/usr/local/diablo-jdk1.5.0/lib/tools.jar:/usr/local/share/java/classes/:./

開個瀏覽器查看 http://Server主機IP:8180 即可看見 Tomcat

Setp 3.

安裝 mod_jk-apache2 將 Tomcat 與 Apache2 結合:

#cd /usr/ports/www/mod_jk-apache2/ # 用 ports 安裝 mod_jk_apache2
#make install clean

#vi /usr/local/etc/apache2/httpd.conf # 增加下面兩行,第一行安裝時就會加入只要把前面 # 號拿掉即可

LoadModule jk_module libexec/apache2/mod_jk.so
Include /usr/local/etc/apache2/mod_jk.conf

#cd /usr/local/etc/apache2/ # 切換到 apache2 的目錄下設定 mod_jk.conf 檔
#cp mod_jk.conf.sample mod_jk.conf
#vi mod_jk.conf
123456789101112

JkWorkersFile etc/apache2/workers.properties
JkLogFile /var/log/jk.log
JkShmFile /var/log/jk-runtime-status
JkLogLevel error

# Sample JkMounts. Replace these with the paths you would
# like to mount from your JSP server.
JkMount /*.jsp Server主機 Doamin or IP
JkMount /servlet/* Server主機 Doamin or IP
JkMount /examples/* Server主機 Doamin or IP




#cp workers.properties.sample workers.properties # 設定 workers.properties 檔
#vi workers.properties
1234567
worker.list= Server主機 Doamin or IP

worker.jsp-hostname.port=8009
worker.jsp-hostname.host= Server主機 Doamin or IP
worker.jsp-hostname.type=ajp13
worker.jsp-hostname.lbfactor=1




#touch /var/log/mod_jk.log # 自行產生 mod_jk.log 檔
#chown www:www /var/log/mod_jk.log # 更改 mod_jk.log 擁有者權限
#apachectl restart # 重新啟動 apache
#/usr/local/etc/rc.d/tomcat55 restart # 重新啟動 tomcat

#vi usr/local/tomcat5.5/webapps/ROOT/test.jsp # 最後自己也可以寫個 test.jsp 檔測試一下,放到 Tomacat 的 web 目錄下有無成功
1234
<%@ page contentType="text/html; charset=MS950"%>
<%
out.println("測試 jsp 與 Apache2 結合成功 ^^ ");
%>



最後開啟瀏覽器輸入 http://Server主機 Doamin or IP/test.jsp 便可 show 出 測試 jsp 與 Apache2 是否結合成功 ^^

沒有留言: