1:最小化安装FreeBSD
' x! {4 f7 z3 {
& ?6 h& X( G* F$ B6 T: x6 Z2:安装ports tree,并进行cvsup同步。我用的是cvsup.FreeBSDChina.org
$ ?/ |- K" k# L$ F1 K. U9 D& g6 {/ r8 S K
3:安装diablo-jdk
2 u+ V/ s/ E2 b- L6 Q
a% c. q; X7 @8 I3.1 下载diablo-jdk的软件包:diablo-jdk-freebsd6.i386.1.5.0.07.01.tbz
" G- S* y5 e) N( q/ N- `; n$ M7 p# t* r
3.2 查找diablo-jdk的依赖项
复制内容到剪贴板
代码:
xport@FreeBSD /usr/ports]$ make search name="diablo-jdk-1.5.0.07.01"
Port: diablo-jdk-1.5.0.07.01
Path: /usr/ports/java/diablo-jdk15
Info: Java Development Kit 1.5.0_07.01
Maint: [email]glewis@FreeBSD.org[/email]
B-deps: expat-2.0.0_1 fontconfig-2.3.2_6,1 freetype2-2.2.1_1 libdrm-2.0.2 pkg-config-0.21 xorg-libraries-6.9.0
R-deps: expat-2.0.0_1 fontconfig-2.3.2_6,1 freetype2-2.2.1_1 javavmwrapper-2.3 libdrm-2.0.2 pkg-config-0.21 xorg-libraries-6.9.0
WWW: [url]http://www.FreeBSDFoundation.org/downloads/java.shtml[/url] 看到所依赖的软件包如下:
; q3 c2 D1 O0 e/ X- F; P2 ]/ X9 ]4 h$ r4 t L. ^" m% Q
expat-2.0.0_1
1 a" X1 Q6 @8 Q# g4 }
; }. l$ m- I" m9 @fontconfig-2.3.2_6,1
5 g$ d7 A6 N! h8 R( M& u- H6 L0 P8 ] ]6 Q* d
freetype2-2.2.1_1
* w# H# i4 ^' l. e* _
& d! J% o6 v9 p5 w$ ^2 s
libdrm-2.0.2
9 @$ r' \- T9 K+ ?- v* L' K2 a: L" x0 g/ q# q
pkg-config-0.21
9 H& _' c/ l- R1 R) a( J+ M0 n- I* y% p; w+ g4 D9 M
xorg-libraries-6.9.0
3 \# e& O# g( ]8 c: P
; U0 f7 L: }- R7 k: C+ @( N
javavmwrapper-2.3
* e5 j9 T& u8 p- q
% X) H- L9 @3 D6 K- ] d3.3 手动从网络安装diablo-jdk所需要的软件包
复制内容到剪贴板
代码:
shell> setenv PACKAGESITE [url]ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/i386/packages-6.2-release/Latest/[/url]
shell> pkg_add -r expat
shell> pkg_add -r pkg-config
shell> ... ...
shell> pkg_add -r xorg-libraries
shell> pkg_add -r javavmwrapper 注意:这里用pkg_add的时候,不带软件包的版本号!
: e; Q; i1 I, _2 j0 B
4. 安装diablo-jdk
复制内容到剪贴板
代码:
shell> rehash
shell> pkg_add diablo-jdk-freebsd6.i386.1.5.0.07.01.tbz 首先你会遇到一个许可协议,当然你得同意了!
6 E) i/ q; M5 J
然后会说我们安装的javawmwrapper版本有点高,可以不用理会!
+ q; Z) t8 N( F( }8 [2 a1 I
. P! t: n" t! ~/ _& i) \: P
安装完成后,看看版本信息:
复制内容到剪贴板
代码:
shell> java -version
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) 5. 安装Tomcat 5.5.x,通过ports进行,虽然我从不这么作!
复制内容到剪贴板
代码:
shell> cd /usr/ports/www/tomcat55
shell> make install
... ...
... ...
Apache Tomcat 5.5.23 has been installed in /usr/local/tomcat5.5.
===> Installing rc.d startup script(s)
===> Registering installation for tomcat-5.5.23 6. 查看Tomcat的server.xml确定端口是多少,我这里是8180
, d- _: W9 A3 V/ G
# U0 k! d) S' A4 j3 g( g3 @7 L7. 修改 /etc/rc.conf ,把Tomcat设定为开机启动服务
复制内容到剪贴板
代码:
shell> echo 'tomcat55_enable="YES"' >> /etc/rc.conf
shell> reboot 开机后,就可以用 http://<your_ip_address>:8180/浏览了!
0 Q. d" W" y/ E, \% d7 w
, Q* z, q* } y4 O( \! h* ]如果要停止Tomcat服务,就使用:
复制内容到剪贴板
代码:
shell> /usr/local/etc/rc.d/tomcat55 stop
Stopping tomcat55.
Waiting (max 10 secs) for PIDS: 542. Q: 为什么我们没有设定JAVA_HOME和CLASSPATH呢?
3 l6 R1 m' l) x" P/ R7 X# W' P3 M
A: 请大家看看文件 /usr/local/etc/rc.d/tomcat55 就知道了,这里面是按照ports安装后的结构进行设定的路径,极少依赖环境变量。
3 @5 Y* u9 K) C9 v8 [8 K
0 W+ Z1 \" ]9 u预先按照ports安装后的结构定义好了变量,你要是不修改就默认如此运作了!
复制内容到剪贴板
代码:
tomcat55_enable="${tomcat55_enable:-"NO"}"
tomcat55_java_version="${tomcat55_java_version:-"1.4+"}"
tomcat55_user="${tomcat55_user:-"www"}"
tomcat55_catalina_home="${tomcat55_catalina_home:-"/usr/local/tomcat5.5"}"
tomcat55_catalina_base="${tomcat55_catalina_base:-"/usr/local/tomcat5.5"}"
tomcat55_catalina_tmpdir="${tomcat55_catalina_tmpdir:-"/usr/local/tomcat5.5/temp"}"
tomcat55_stdout_log="${tomcat55_stdout_log:-"/usr/local/tomcat5.5/logs/stdout.log"}"
tomcat55_stderr_log="${tomcat55_stderr_log:-"/usr/local/tomcat5.5/logs/stderr.log"}"
tomcat55_stop_timeout="${tomcat55_stop_timeout:-"10"}" 实际运行的command :
复制内容到剪贴板
代码:
java_command="/usr/local/bin/java \
${tomcat55_java_opts} \
-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \
-classpath /usr/local/tomcat5.5/bin/bootstrap.jar:/usr/local/tomcat5.5/bin/commons-logging-api.jar:${tomcat55_classpath} \
-Dcatalina.base=${tomcat55_catalina_base} \
-Dcatalina.home=${tomcat55_catalina_home} \
-Djava.io.tmpdir=${tomcat55_catalina_tmpdir} \
org.apache.catalina.startup.Bootstrap"