免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3696 | 回复: 12
打印 上一主题 下一主题

RH8.0+Apache+php/jsp+MySQL整合实例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-20 08:05 |只看该作者 |倒序浏览
RH8.0+Apache+php/jsp+MySQL整合实例

以下是本人在Red Hat Linux 8.0下安装Apache,使之支持php与jsp,并以MySQL作为后台数据库的完整过程。
现整理出来,以供大家参考,时间仓促,如有不妥,望加以指正。
(在Red Hat Linux 8.0上测试通过)

所需软件:
        j2sdk-1.3.1_04-linux-i586.bin
        apache_1.3.12.tar.gz
        php-4.03pl1.tar.gz
        mysql-3.22.27.tar.gz
        jakarta-tomcat-3.1.1.tar.gz
        mod_jserv.so
        mm.mysql.jdbc-1.2c.tar.gz
(注:在安装RH8.0时,选择定制安装,不需要的一律不装,以上软件安装目录为/usr/local)

(一)软件安装及相关配置
1:  安装jdk
    复制j2sdk-1.3.1_04-linux-i586.bin文件到/usr/local目录下,
    #chmod +x j2sdk-1.3.1_04-linux-i586.bin   (更改文件属性为可执行)
    #./j2sdk-1.3.1_04-linux-i586.bin
    生成/usr/local/jdk1.3.1_04目录

2:  安装MySQL
    由于在安装PHP时要用到关于MySQL的相关参数,所以在安装PHP、Apache之前,应先安装MySQL数据库。
    #tar vfxz mysql-3.22.27.tar.gz            (将数据库压缩包解压,并创建名为“mysql-3.22.27”一个目录)
    #cd mysql-3.22.27                         (进入解包分发的顶及目录)
    #./configure --prefix=/usr/local/mysql    (在编译前进行参数配置,参数prefix对应相应的安装目录)
    #make                                     (对配置好安装参数的MySQL的源代码进行编译)
    #make install                             (开始安装MySQL,需要root用户来运行此命令)
    #scripts/mysql_install_db                 (创建MySQL授权表)
    通过以上步骤,即可成功安装MySQL数据库。
    安装完成后,需启动MySQL服务器。
    #/usr/local/mysql/bin/safe_mysqld &       (启动MySQL服务器)
3:  安装Apache和PHP
    #tar vfxz apache_1.3.12.tar.gz            (将Apache解包,并创建名为“apache_1.3.12”的一个目录)
    #tar vfxz php-4.03pl1.tar.gz              
    #cd apache_1.3.12
    #./configure --prefix=/usr/local/www
    #cd ../php-4.03pl1
    #./configure --with-mysql --with-apache=../apache_1.3.12 --enable-track-vars
    (参数with-mysql表示支持MySQL数据库,with-apache对应Apache源文件的路径)
    #make
    #make install
    #cd ../apache_1.3.12
    #./configure --prefix=/usr/local/www --activate-modules=src/modules/php4/libphp4.a --enable-module=so
    (在Apache源文件目录中加入PHP的模块,其中--enable-module=so加入对mod_jserv.so的支持)
    #make
    #make install
    #cd ../php-4.03pl1
    #cp php.ini-dist /usr/local/lib/php.ini
4:  复制mod_jserv.so
    将mod_jserv.so复制到Apache的libexec目录
    #cp mod_jserv.so /usr/local/www/libexec
5:  安装Tomcat
    复制jakarta-tomcat-3.1.1.tar.gz文件到/usr/local目录下,执行以下命令:
    #tar vfxz jakarta-tomcat-3.1.1.tar.gz
    生成/usr/local/jakarta-tomcat目录
6:  安装MySQL的jdbc驱动
    复制mm.mysql.jdbc-1.2c.tar.gz文件到/usr/local目录下
    #tar vfxz mm.mysql.jdbc-1.2c.tar.gz
    生成/usr/local/mm.mysql.jdbc-1.2c目录
7:  配置系统变量
    #vi /etc/profile                            (编辑/etc/profile文件)
    在文件结尾加入:
    JAVA_HOME=/usr/local/jdk1.3.1_04
    JRE_HOME=/usr/local/jdk1.3.1_04/jre
    TOMCAT_HOME=/usr/local/jakarta-tomcat
    CLASSPATH=$JAVA_HOME/lib/tools.jarJAVA_HOME/lib/dt.jar:.JRE_HOME/lib:/usr/local/mm.mysql.jdbc-1.2c
    PATH=$PATHJAVA_HOME/binJRE_HOME/binTOMCAT_HOME/bin
    export JAVA_HOME JRE_HOME TOMCAT_HOME CLASSPATH PATH
   
    (注:配置系统变量,需注销后重新登陆,才能使设置生效)
8:  配置Apache的httpd.conf
    复制tomcat.conf文件到apache的conf目录
    #cp /usr/local/jakarta-tomcat/conf/tomcat.conf /usr/local/www/conf
    编辑apache的httpd.conf文件
    把以下两行前面的注释去掉:
           AddType application/x-httpd-php .php
           AddType application/x-httpd-source .phps
    告诉Apache服务器,扩展名.php是一个特殊的程序文件。
    在文件结尾加入:
           Include /usr/local/www/conf/tomcat.conf
    (关于Apache的详细配置,可以参考其它资料)
9:  启动apache和tomcat
    #cd /usr/local/www/bin
    #./apachectl start                         (启动apache服务器,关闭使用./apachectl stop)
    #cd /usr/local/jakarta-tomcat/bin
    #./tomcat.sh start                         (启动tomcat,关闭使用./tomcat.sh stop)
经过以上步骤,linux+apache+php/jsp+mysql环境已基本建立,可以测试一下php/jsp了。

(二)测试php和jsp,以及与MySQL数据库的连接
1: MySQL前期准备
   在之前安装的MySQL中,没有设置root密码。现在创建一个测试数据库,命名为my_test:
   #mysql -u root -p
   MySQL>;create database my_test;                                      (创建数据库my_test)
   MySQL>;use my_test;                                                  (转到my_test数据库中)
   MySQL>;create table my_test_table (test_column char(20) not null);   (在my_test数据库中建立一个数据表my_test_table)
   MySQL>;insert my_test_table values ('Welcome to MySQL!');            (在my_test_table表中增加一行)
   MySQL>;exit
   #

2:(1)测试php
   #cd /usr/local/www/htdocs
   #vi info.php
   其中,info.php中的内容如下:
   <? phpinfo(); ?>;
   保存退出,打开浏览器,在地址栏输入http://localhost/info.php
   如果可以看到一个很长的php信息列表,则表明php与apache整合成功。
   
   (2)测试php连接mysql
   php连接MySQL很简单,不需作任何设置。
   在Apache安装目录的htdocs目录下建立一个新文件mysqltest.php:
   <html>;
   <head>;
   <title>;php连接mysql</title>;
   <meta http-equiv="Content-Type" content="text/html" charset=gb2312">;
   </head>;
   <body>;
   <?
   $dbcnx=mysql_connect("localhost","root","";
   mysql_select_db("my_test";
   $result=mysql_query("select * from my_test_table",$dbcnx);
   while ($row=mysql_fetch_array($result))
   echo ("<p>;<h1>;".$row["test_column"]."</h1>;</p>;";
   ?>;
   </body>;
   </html>;
       其中,mysql_connect()用来连接数据库服务器;
             mysql_select_db()用来选择工作的数据库;
             mysql_query()用来执行SQL查询;
             mysql_fetch_array()用来获得select的结果集
   打开浏览器,在地址栏输入http://localhost/mysqltest.php
   应该可以看到 Welcome to MySQL! 这条信息。
3:(1)测试jsp
   打开浏览器,在地址栏输入http://localhost/examples
   正常可看到jsp,servlet目录,说明apache和tomcat已经成功连接,可以使用jsp和servlet了。      
   (2)测试jsp连接MySQL
   jsp连接MySQL需要一个第三方的JDBC驱动程序,
   这里使用mm.mysql.jdbc-1.2c.tar.gz(在前面已经配置了系统变量)

   创建一个JavaBean,名为DBconn.java,在Tomcat的webapps/examples/WEB-INF/classes下创建
   Mysqltest目录,将该文件保存在这个目录中,DBconn.java用来封装与数据库链接的操作。
   DBconn.java的内容如下:

   package Mysqltest;
   import java.sql.*;
   public class DBconn
   {String DBDriver="org.gjt.mm.mysql.Driver";
   String ConnStr="jdbc:mysql://localhost/my_test";
   String MyUser="root";
   String MyPassword="";
   Connection conn = null;
   ResultSet rs = null;
   public DBconn()
   {try
   {Class.forName(DBDriver);
   }
   catch(java.lang.ClassNotFoundException e)
   {System.err.println("DBconn (): " + e.getMessage());
   }
   }
   public ResultSet executeQuery(String sql)
   {rs = null;
   try
   {conn = DriverManager.getConnection(ConnStr,MyUser,MyPassword);
   Statement stmt = conn.createStatement();
   rs = stmt.executeQuery(sql);
   }
   catch(SQLException ex)
   {System.err.println("aq.executeQuery:"+ex.getMessage());
   }
   return rs;
   }
   }
   利用JDK的javac命令编译DBconn.java
   #javac DBconn.java
   形成相应的class文件。
   在Tomcat的webapps/examples/jsp目录下建立Mysqltest.jsp文件,内容如下:
   <%@ page contentType="text/html; charset=gb2312" %>;
   <html>;
   <head>;
   <title>;jsp连接mysql</title>;
   </head>;
   <body>;
   <%@ page language="java" import="java.sql.*" %>;
   <jsp:useBean id="DBconn1" scope="page" class="Mysqltest.DBconn" />;
   <%
   ResultSet RS = DBconn1.executeQuery
   ("SELECT * FROM my_test_table";
   while (RS.next()) {
   out.print("<h1>;" +RS.getString("test_column" +"</h1>;";
   }
   RS.close();
   %>;
   </body>;
   </html>;

   在浏览器的地址栏输入http://localhost/examples/jsp/Mysqltest.jsp
   应该可以看到 Welcome to MySQL! 信息。


   至此,所有的安装配置已经完成,在linux上可以同时运行php+mysql和jsp+mysql了。

论坛徽章:
0
2 [报告]
发表于 2003-03-20 08:38 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

我用的是php4.3.1+httpd2.0安装的,测试通过!但我的一个程序却出错了,
提示我的一个曾在php4.2.2上运行下常的一个函数"bcdiv()"没有定义,这是为什么呀?

论坛徽章:
0
3 [报告]
发表于 2003-04-02 20:35 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

如果我是先装的php+apache,再装mysql怎么让php能够联接mysql呢?

不重装可疑解决吗?

论坛徽章:
0
4 [报告]
发表于 2003-04-02 21:40 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

版本老的要死

论坛徽章:
0
5 [报告]
发表于 2003-04-02 22:11 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

???

论坛徽章:
0
6 [报告]
发表于 2003-04-03 05:20 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

SQL is independent of Apache as far as i know

论坛徽章:
0
7 [报告]
发表于 2003-04-03 08:42 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

[quote]原帖由 "spnoten"]版本老的要死[/quote 发表:


版本是老了一点,主要作学习 测试,仅供参考!
多多指教!

论坛徽章:
0
8 [报告]
发表于 2003-04-03 08:45 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

原帖由 "deadcat" 发表:
如果我是先装的php+apache,再装mysql怎么让php能够联接mysql呢?

不重装可疑解决吗?


在安装PHP时要用到关于MySQL的相关参数,所以在安装PHP、Apache之前,应先安装MySQL数据库。

先安装apache和php后,再装mysql的情况没有测试过.

望高手指教!

论坛徽章:
0
9 [报告]
发表于 2003-04-03 09:09 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

兄弟,你要的这版本都是老大爷了,建议您老重新要最新版的来整合.

论坛徽章:
0
10 [报告]
发表于 2003-04-03 09:52 |只看该作者

RH8.0+Apache+php/jsp+MySQL整合实例

不管是哪个版本的,我在RH8.0上安装mysql到也下面这一步都不好用为什么?
#./configure --prefix=/usr/local/mysql
我在7.3上用是好用的,一整套除了系统是旧的其余都是新的,只是mysql用的不是最新的4.0用的是3.23

请问:安装mysql需要什么样的系统环境啊?我的系统只安装了make、gcc的环境,安装其它东西都已经好用的,只是卡在mysql上了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP