设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 网络编程 >> PHP >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
Eclipse 3.0 上配置JSP开…
有关JSP/Servlet的重定向…
JSP/Servlet/JSF:标签库…
提升JSP应用程序七大绝招
用JSTL实现JSP应用程序的…
用php或js获取图片大小,…
JSPServlet构建三层管理…
JSP应用语法详解大全 (…
JSP应用语法详解大全 (…
JSP应用语法详解大全 (…
  JSP、PHP与JAVA融合的开发环境         
JSP、PHP与JAVA融合的开发环境
 

前言

本文介绍了融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目录下哦。

七.安装Tomcat

1.执行以下命令

#cd *jk2*/jk/native2 //进入连接器编译目录

#./buildconf.sh //运行配置脚本

#./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-jni --enable-EAPI

#make //编译模块

#cd ~jim/src/*jk2*/jk/build/jk2/apache2 //进入编译好模块的目录

#cp *.so /usr/local/apache/modules/ //将模块拷贝到Apache目录

#cp -R jakarta-tomcat-5.0.19 /usr/local/tomcat //安装Tomcat

#touch /usr/local/apache/logs/shm.file //建立共享内存文件

我刚开始安装Tomcat的时候,总是不成功,后来我跑到Apache的网站,看了一份只有两页的英文说明,很快就把它配好了。我发现国内的作者总是喜欢故弄玄虚,把本来很简单的东西搞得很复杂,让人家看不懂,以显示自己高明。

2.编辑以下文件

/usr/local/apache/conf/httpd.conf

LoadModule jk2_module modules/mod_jk2.so

JkSet config.file /usr/local/apache/conf/workers2.properties

DocumentRoot "/usr/local/tomcat/webapps"

<Directory "/usr/local/tomcat/webapps">



/usr/local/tomcat/webapps/jsp-examples/for.jsp

<%

int i; 

for(i=1;i<100;i++)

{ 

out.println("<h" + i + ">Hello World!</h" + i + ">"); 

} 

%>



/usr/local/tomcat/conf/jk2.propertie

handler.list=request,container,channelSocket

channelSocket.port=8009

channelSocket.address=127.0.0.1

channelSocket.maxPort=port+10



/usr/local/apache/conf/workers2.properties

[shm]

file=/usr/local/apache/logs/shm.file

size=1048576

[workerEnv:]

info=Global server options

timing=1

debug=0

[channel.socket:localhost:8009]

port=8009

host=127.0.0.1

[ajp13:localhost:8009]

channel=channel.socket:localhost:8009

[uri:/*.jsp]

worker=ajp13:localhost:8009



/etc/rc.d/init.d/httpd

#!/bin/sh



# chkconfig:2345 92 12

# description:Starting Apache and Tomcat Server



LD_LIBRARY_PATH=/usr/java/j2sdk1.4.2_04/jre/lib/i386:/usr/java/j2sdk1.4.2_04/jre/lib/i386/server

export LD_LIBRARY_PATH



CATALINA_BASE=/usr/local/tomcat

export CATALINA_BASE



CATALINA_HOME=/usr/local/tomcat 

export CATALINA_HOME 



APACHE_HOME=/usr/local/apache 

export APACHE_HOME 



JAVA_HOME=/usr/java/j2sdk1.4.2_04

export JAVA_HOME 



PROFILEDIR=/var/run



case "$1" in 

start) 



if [ -f $PROFILEDIR/Tomcat5_Apache2 ]; then 

echo "Running Tomcat5_Apache2" 

else 

if [ -f $CATALINA_HOME/bin/startup.sh ]; then 

if [ -f $APACHE_HOME/bin/apachectl ]; then 

"$CATALINA_HOME/bin/startup.sh" 

echo "Startting Tomcat5" 

sleep 3 

echo "Startting Apache2" 

$APACHE_HOME/bin/apachectl start 

echo "." 

touch $PROFILEDIR/Tomcat5_Apache2 

else 

echo "Apache File Not Founds" 

fi 

else 

echo "Tomcat File Not Founds" 

fi 

fi 

;; 



stop) 

if [ -f $PROFILEDIR/Tomcat5_Apache2 ]; then 

if [ -f $CATALINA_HOME/bin/shutdown.sh ]; then 

if [ -f $APACHE_HOME/bin/apachectl ]; then 

"$CATALINA_HOME/bin/shutdown.sh" 

echo "Stopping Tomcat5" 

sleep 3 

echo "Stopping Apache2" 

$APACHE_HOME/bin/apachectl stop 

rm $PROFILEDIR/Tomcat5_Apache2 

else 

echo "Apache File Not Founds" 

fi 

else 

echo "Tomcat File Not Founds" 

fi 

else 

echo "Not Running Tomcat5_Apache2" 

fi 

;; 

*) 

echo "Usage; `basename $0` {start|stop}" 1>&2 

exit 1 

;; 

esac 

exit 0


3.设置自动启动

#chmod u+x /etc/rc.d/init.d/httpd //修改文件执行权限

#/sbin/chkconfig --add httpd //将httpd加入系统启动列表


八.安装CVS

1.编辑以下文件

/etc/xinetd.d/cvspserver

service cvspserver

{

socket_type=stream

wait=no

user=root

server=/usr/bin/cvs

server_args=-f --allow-root=/usr/local/cvsroot pserver

log_on_failure += USERID 

}


2.执行以下命令

# /usr/sbin/useradd -d /usr/local/cvsroot cvs //创建CVS管理用户。

#passwd cvs //创建管理用户密码。

# chmod 771 /usr/local/cvsroot //修改CVS根目录权限。

# su cvs //使用CVS用户的身份。

$ cvs -d /usr/local/cvsroot init //初始化CVS仓库。

$exit //退出CVS用户身份。

#chmod 644 /etc/xinetd.d/cvspserver //修改CVS服务启动文件权限。

# /etc/rc.d/init.d/xinetd restart //重启动xinetd超级服务器。

# netstat -lnp|grep 2401 //查看

[1] [2] 下一页

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-3 3:30:33
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持