5.2.安装Web编程环境 安装jdk1.2.2 # cd /usr/local/src # tar zxvf jdk1_2_2-linux-i386.tar.gz --directory=/usr/local/servers/ # cp mm.mysql-2.0.2-bin.jar /usr/local/servers/jdk1.2.2/lib
修改/etc/profile 添加: CLASSPATH="/usr/local/servers/jdk1.2.2/lib/tools.jar:/usr/ local/servers/jdk1.2.2/lib/rt.jar:/usr/local/servers /jdk1.2.2/lib/mm.mysql-2.0.2-bin.jar:." JAVA_HOME=/usr/local/servers/jdk1.2.2 export CLASSPATH JAVA_HOME
修改PATH变量,在最后添加 /usr/local/servers/jdk1.2.2/bin,以下是我的系统的PATH变量值:
PATH="$PATH:/usr/local/X11R6/bin:/usr/local/servers/jdk1.2.2/bin"
存盘退出,并注销当前用户重新登录。 测试java是否安装正确 使用vi 在/tmp创建一个名为 Test.java 的文件,内容为:
public class Test{ public static void main(String args[]){ System.out.println("Hello, World!"); } }
使用以下的命令进行编译和运行:
# cd /tmp # javac Test.java # java Test
如果程序显示"Hello,World!"这行字符则说明jdk环境已经成功建立,如果出现其它的提示信息,请您仔细检查安装步骤是否正确。测试完毕之后,请使用以下的命令将测试数据删除: # rm /tmp/test.java # rm /tmp/test.class
测试jdbc联接是否正确 使用 vi 在/tmp创建一个名为testjdbc.java的文件,内容为:
import java.sql.*; public class testjdbc{ public static void main(String args[]){ try { Class.forName("org.gjt.mm.mysql.Driver"); System.out.println("OK! JDBC Driver For MySQL Loaded."); try { Connection con=DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=&useUnicode=true&characterEncoding=ISO8859_1"); System.out.println("OK!Connect to MySQL DBMS."); } catch(SQLException e) { System.out.println("Error! Error Code:#1. Can't make connection to Mysql Server. "+e.getMessage()); } } catch (java.lang.ClassNotFoundException e) { System.out.println("Error! Error Code #2. Can't Load jdbc Driver. "+e.getMessage()); } } }
按照前面的步骤启动MySQL数据库服务器,然后使用以下的命令编译与运行testjdbc: # cd /tmp # javac testjdbc.java # java testjdbc
查看输出的结果,如果是连续两个OK则说明JDBC安装的正确的。如果出现错误则根据以下的信息进行查错。
Error Code=#1 MySQL没有启动或者是用户名/密码错误 Error Code=#2 MySQL的JDBC驱动程序没有正确的安装或者是MySQL的权限设置处没有允许指定用户登录,仔细对照JAVA安装那一节重新检查JDBC驱动安装是否正确,同时检查MySQL的权限控制是否允许用户在本地登录。
至此,JAVA的运行环境及JDBC for MySQL的驱动程序都已经正确的安装完成,下一步我们将开始安装JSP的解释器Resin。
安装JSP解释器Resin # cd /usr/local/servers/resin1.1.3 # ./configure --with-java-home=/usr/local/servers/jdk1.2.2 # --with-apxs=/usr/local/servers/apache/bin/apxs # make # make install 测试Resin安装结果 1、启动Resin
# cd /usr/local/servers/resin1.1.3/bin # ./srun.sh start
如果显示的结果只有"start resin"同时使用 ps ax | grep "java" 可以得到类似于以下的结果则说明Resin已经在后台运行。
16842 pts/0 S 0:00 sh -c /usr/local/servers/jdk1.2.2/bin/java -Dresin.
如果出现其它的提示信息则可能是您的安装过程有误,请仔细检查。 2、查看Resin的运行状态 修改/usr/local/servers/apache/conf/httpd.conf,将其中的:
#<Location /caucho-status> #SetHandler Caucho-status #</Location>
前的#号全部去掉。并用 /etc/rc.d/init.d/httpd restart 重新启动 Apache。使用Netscape或者是Ie打开http://202.99.11.120/caucho-status,当页面完全打开后,查看顶端表格中的Host项应该为绿色的 localhost:6802,否则请检查您的Resin是否有启动,以及安装过程是否正确。 3、测试Resin是否正常运行 在浏览器中打入http://202.99.11.120/servlet/Env ,如果您的配置正确的话,应该可以看到关于服务器与客户端的环境变量。如果没有正确的显示出来,请检查您的JAVA、Rsein安装是否正确。
设置相关的参数 通过前面的工作,我们已经建立起一个非常基本的JSP/Servlet解释环境,但在实际应用时还需要进行一些参数的定制。下面我们就要开始修改Resin的参数使其可以根据我们的实际要求进行工作。 在进行设置前,建议您先给resin.conf做个备份,免得在修改出错之后无法正常的使用时没有办法恢复。使用vi修改/usr/local/servers/resin1.1.3/conf/resin.conf。 1、修改缺省文档根目录 搜索<app-dir>doc</app-dir>将其中的doc修改 Apache的配置文件 httpd.conf 中的DocumentRoot 参数指定的路径。缺省的情况下应该是 /usr/local/servers/apache/htdocs,则修改后的结果应该是:
<app-dir>/usr/local/servers/apache/htdocs</app-dir>
2、删除测试用参数 resin.conf包含一些测试时使用的参数,在实际应用中我们并不需要这些参数,所以要将其删掉。 将从:
<!-- - The following entries configuration the examples. You may safely - delete anything from here down. -->
起至
</host> </http-server> </caucho.com>
之间的参数全部删,要注意,</host>起是不可以删除的哦。删完无关的参数之后,在
</host> </http-server> </caucho.com>
前添加一行:
</web-app>
则修改之后的resin.conf应该为(为减少篇幅,我们将注释部分去掉了,主要内容应该是一样的):
<caucho.com> <java compiler='internal' args=""/> <dbpool.sql id="test" driver="org.gjt.mm.mysql.Driver" url="jdbc:mysql://localhost:3306/test" user="" password="" max-connections=20/> <jsp precompile='true' static-encoding='true'/> <http-server> <app-dir>/usr/local/servers/apache/htdocs</app-dir> <httpd-port>8080</httpd-port> <srun host='localhost' port='6802'/> <caucho-status>true</caucho-status> <class-update-interval id='2'/> <thread-min>5</thread-min> <thread-max>20</thread-max> <thread-keepalive id=10/> <cache dir='cache' size='1024' entries='1024'/> <host id=''> <error-log id='log/error.log'/> <web-app id='/'> <classpath id='WEB-INF/classes' source='WEB-INF/classes' compile='true'/> <cache-mapping url-pattern='/' expires='2s'/> <welcome-file-list>index.xtp, index.jsp, index.html</welcome-file-list> <servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/> <servlet-mapping url-pattern='*.xtp' servlet-name='com.caucho.jsp.XtpServlet'/> <servlet-mapping url-pattern='*.jsp' servlet-name='com.caucho.jsp.JspServlet'/> <session-config> <session-max>4096</session-max> <session-timeout>30</session-timeout> <enable-cookies>true</enable-cookies> <enable-url-rewriting>true</enable-url-rewriting> <cookie-version>0</cookie-version> </session-config> </web-app> </host> </http-server> </caucho.com>
修改完成之后存盘退出,使用以下的命令启动Resin,同时重新启动Apache。
# /usr/local/servers/resin1.1.3/bin/srun.sh start # /etc/rc.d/init.d/httpd restart
这里要注意一点,必须启动Resin之后才可以重启Apache。如果启动Resin的过程中出现错误,请检查您修改resin.conf的过程是否正确。 重新启动完两个服务之后,我们再使用浏览器查看:http://202.99.11.120/caucho-status 其内容应该已经发生了改变。如果跟第一次测试时比较起来没有任何的改动,请检查您的修改过程是否正确。
测试Resin 通过前的步骤,我们已经成功的将Resin与Apache融合在一起,下面我们要对Resin进行一次完整的测试。测试的内容包括:JSP解释、Servlet解释、JDBC联接。 1、测试JSP解释器 使用vi在/usr/local/servers/apache/htdocs/创建一个名为test.jsp的文件,其内容包括:
<% out.println("<H1>Hello, World!</H1>"); %>
存盘之后,使用浏览器查看 http://202.99.11.120/test.jsp 如果正确的话,可以看到"Hello, World!"字样。否则,请检查:Resin是否运行、Resin的参数修改是否正确、JAVA环境安装是否正确、Apche是否运行正常。 2、测试servlet解释器 使用以下的命令将Env.java 复制到Servlet目录:
# cp /usr/local/servers/resin1.1.3/doc/WEB-INF/classes/Env.java # /usr/local/servers/apache/htdocs/WEB-INF/classes
然后使用浏览器查看 http://202.99.11.120/servlet/Env 如果正确的话,可以看到服务器端和客户端的环境参数。否则,请检查:Resin是否运行、Resin的参数修改是否正确、JAVA环境安装是否正确、Apache是否运行正常。 3、测试JSP与MySQL的JDBC联接 使用vi在/usr/local/servers/apache/htdocs/创建一个名为testjdbc.jsp的文件,其内容包括:
<%@ page import="java.sql.*" %> <% try { Class.forName("org.gjt.mm.mysql.Driver.<br>"); out.println("OK! JDBC Driver For MySQL Loaded."); try { Connection con=DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=&useUnicode=true&characterEncoding=ISO8859_1"); out.println("OK!Connect to MySQL DBMS."); } catch(SQLException e) { out.println("Error! Error Code:#1. Can't make connection to Mysql Server. "+e.getMessage()); } } catch (java.lang.ClassNotFoundException e) { out.println("Error! Error Code #2. Can't Load jdbc Driver. "+e.getMessage()); } %>
使用浏览器查看 http://202.99.11.120/testjdbc.jsp 应该得到以下的结果:
OK!JDBC Driver For MySQL Loaded. OK! Connect to MySQL DBMS.
如果出现错误,则请您检查:Resin是否运行、Resin的参数修改是否正确、JAVA环境安装是否正确、Apache是否运行正常。MySQL的权限设置是否允许root以无口令方式登录。 最后经过前面的步骤,我们已经成功的建立起了JSP/Servlet的编程环境。并且通过mm.mysql与MySQL成功的联接起来。
5.3.安装PHP编程环境 下载软件包 从http://www.php.net 下载tar zxvf php-4.0.2.tar.gz。 下载的软件包放置于/usr/local/src。 解压缩软件包 # cd /usr/local/src # tar zxvf php-4.0.2.tar.gz 编译并安装PHP # cd /usr/local/src/php-4.0.2 # ./configure --with-mysql=/usr/local/servers/mysql --with-apxs=/usr/local/servers/apache/bin/apxs --enable-track-vars --enable-sockets --enable-ftp # make # make install 更新动态链接表 因为php的解释模块需要使用到MySQL的动态链接库,而我们又将MySQL安装在非标准的目录下,我们就需要使用ldconfig配置工具配置动态链接库表,方法如下: 使用vi打开/etc/ld.so.conf,在其中添加一行:
/usr/local/servers/mysql/lib/mysql
然后在命令行执行此命令:
# ldconfig 修改Apache配置 使用vi打开httpd.conf搜索:
AddType application/x-httpd-php
将:
#AddType application/x-httpd-php .php #AddType application/x-httpd-php-source .phps
前的#号去掉,同时如果您想Apache对PHP3也进行解释,可以添加一行:
AddType application/x-httpd-php .php3
则修改之后的httpd.conf部分为:
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps AddType application/x-httpd-php .php3
重新启动Apache以使修改生效
# /etc/rc.d/init.d/httpd restart 测试PHP 1、一般测试 使用vi在/usr/local/servers/apache/htdocs创建一个名为test.php的文件,内容包括:
<? phpinfo(); ?>
使用浏览器查看http://202.99.11.120/test.php,如果操作正确的话可以看到PHP运行的环境参数。如果出现错误,则请检查:Apache是否运行、参数修改是否正确。 2、数据联接测试 使用vi在/usr/local/servers/apache/htdocs创建一个名为testdb.php的文件,内容包括:
<? $connect=@mysql_connect('localhost','root','') or die ("Error! Unable connect to database server."); echo "$connect<br>"; ?>
如果显示的结果是: 1 则说明与MySQL连接是正确的,如果出现: Error! Unable connect to database server. 则有可以是以下的情况: MySQL没有启动 连接时所使用的用户名和密码错误 3、通过以上的操作PHP已经基本完成。

|