前言
本文介绍了融jsp、php和java于一炉的开发环境的建立,为了适合大多数初学者的需求,很多步骤都是采用比较方便的办法,力求简单明了。一般来说,没有特别需求的软件,我都是采用rpm的方式安装。如果你有优化配置、安全考虑等特殊需求,请参考相关的文章进行配置。
在本文中,apache以dso模式安装,php实现了java组件的支持,使得我们在进行大型项目开发的时候,可以选择php作为前端脚本语言,调用java组件实现底层和企业级的应用。
一.系统环境
1.初始安装
防火墙开放接口:21,22,80,2401,8009,10000,eth0
redhat linux 9.0
development tools
network servers
vsftp
cvs-1.11.2-10
mysql 3.23.54
2.包安装
jdk 1.4.2_04
下载地址:http://www.netshine.com.cn/linux/j2sdk-1_4_2_04-linux-i586.rpm
tomcat 5.0.19
下载地址:http://www.netshine.com.cn/linux/jakarta-tomcat-5.0.19.tar.gz
3.脚本安装
webmin 1.110
下载地址:http://www.netshine.com.cn/linux/webmin-1.110.tar.gz
zendoptimizer 2.5.1
下载地址:http://www.netshine.com.cn/linux/zendoptimizer-2.5.1-linux_glibc21-i386.tar.gz
4.手工编译
apache 2.0.49
下载地址:http://www.netshine.com.cn/linux/httpd-2.0.49.tar.gz
php 4.3.5
下载地址:http://www.netshine.com.cn/linux/php-4.3.5.tar.gz
jk 2-2.0.4
下载地址:http://www.netshine.com.cn/linux/jakarta-tomcat-connectors-jk2-src-current.tar.gz
5.客户机环境
windows xp professional
absolute telnet 3.0
zend encoder
macromedia dreamweaver mx 2004
borland jbuilder 9 enterprise
wincvs 1.3
下载地址:http://www.netshine.com.cn/linux/wincvs13b17.zip
二.系统安装
启动linux安装光盘,安装基本系统:ftp、开发工具和mysql3.23.54。如果你是手工编译安装mysql,要记得以后在编译php等程序时要指明mysql的具体路径,否则会因找不到路径而导致编译出错。
三.安装webmin1.110
用webmin来配置系统,傻瓜化,可以节省不少力气,所以一般我都先安装它。安装过程很简单,执行setup.sh脚本后照提示一步一步来就可以了。
# cd webmin*
# ./setup.sh
四.安装jdk1.4.2
1.编辑如下三个文件,没有指明全路径的放在你自己的home目录就可以。
/etc/profile
java_home=/usr/java/j2sdk1.4.2_04
classpath=.:$java_home/lib:$java_home/jre/lib
cvsroot=/usr/local/cvsroot
path=.:$java_home/bin:$java_home/jre/bin:$path
export java_home classpath cvsroot path
/etc/ld.so.conf
/usr/java/j2sdk1.4.2_04/jre/lib/i386
/usr/java/j2sdk1.4.2_04/jre/lib/i386/server
helloworld.java
class helloworld
{
public static void main(string[] args)
{
//本文件测试java环境是否安装成功。
system.out.println("hello world!");
}
}
2.执行以下命令:
# rpm -ivh j2sdk*.rpm //安装jdk包。
# source /etc/profile //重载profile环境。
# ldconfig //创建动态链接库缓存文件。
# javac -d . helloworld.java //编译测试文件。
# java helloworld //运行程序测试安装是否成功。
五.安装apache
# tar xvzf httpd* //解压源码包。
# cd httpd* //进入安装目录。
# ./configure –prefix=/usr/local/apache –enable-so –enable-mods-shared=most –enable-rewrite
# make;make install //编译并安装。
说明:
–enable-so选项:让apache可以支持dso模式,注意,我们在这里采用的是apache2.0的语法。如果你的apache是1.3版本,应改为–enable-module=so。
–enable-mods-shared=most选项:告诉编译器将所有标准模块都编译为dso模块。你要是用的是apache1.3,改为–enable-shared=max就可以。
–enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为–enable-module=rewrite。
六.编译安装php
1.执行命令
#tar xvzf php* //解压源码包
#cd php* //进入php安装命令
#./configure –prefix=/usr/local/php –with-mysql –with-apxs2=/usr/local
/apache/bin/apxs –with-java=/usr/java/j2sdk1.4.2_04
#make;make install //编译并安装
#cp php.ini-dist /usr/local/php/lib/php.ini //复制php配置文件
#cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 //extensions目录
#ln -s java.so libphp_java.so //建立连接,忘记了会出错哦
#cd zend* //进入zendoptimizer目录
#./install //安装php加速器
说明:
–with-apxs2=/usr/local/apache/bin/apxs是apache2的语法,1.3版本的用户请使用–with-apxs=/usr/local/apache/bin/apxs。
2.编辑下面三个文件
/usr/local/apache/conf/httpd.conf
loadmodule php4_module modules/libphp4.so
addtype application/x-httpd-php .php
addtype application/x-httpd-php-source .phps
adddefaultcharset gb2312
/usr/local/apache/htdocs/test.php
<?php
//本程序测试php的java环境是否可用,
代码是从http://www.php.net/manual/en/ref.java.php摘录下来的。
// get instance of java class java.lang.system in php
$system = new java(java.lang.system);
// demonstrate property access
echo java version= . $system->getproperty(java.version) . <br />;
echo java vendor= . $system->getproperty(java.vendor) . <br />;
echo os= . $system->getproperty(os.name) . .
$system->getproperty(os.version) . on .
$system->getproperty(os.arch) . <br />;
// java.util.date example
$formatter = new java(java.text.simpledateformat,
"eeee, mmmm dd, yyyy at h:mm:ss a zzzz");
echo $formatter->format(new java(java.util.date));
?>
/usr/local/php/lib/php.ini
register_globals=on
[java]
java.class.path=/usr/local/php/lib/php/php_java.jar:/home/jim/myclass
java.home=/usr/java/j2sdk1.4.2_04
java.library=/usr/java/j2sdk1.4.2_04/jre/lib/i386/libjava.so
java.library.path=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
extension=libphp_java.so
注意:
(1).如果你刚刚从以前老版本的php转换到新版本,可能会发现你的php程序很多都不能用了。别紧张!把register_globals打开就一切正常啦!这是因为老版本的php,它的register_globals默认是开着的,而新版本,却把它关了的缘故。
(2)./home/jim/myclass是我存放java组件的路径,你可以根据实际情况修改,但是为了安全起见,可不要放在web目录下哦。
