RH8.0+Apache+php/jsp+MySQL整合实例
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了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
我用的是php4.3.1+httpd2.0安装的,测试通过!但我的一个程序却出错了,
提示我的一个曾在php4.2.2上运行下常的一个函数"bcdiv()"没有定义,这是为什么呀?
如果我是先装的php+apache,再装mysql怎么让php能够联接mysql呢?
不重装可疑解决吗?
版本老的要死
???
SQL is independent of Apache as far as i know
[quote]原帖由 "spnoten"]版本老的要死[/quote 发表:
版本是老了一点,主要作学习 测试,仅供参考!
多多指教!
在安装PHP时要用到关于MySQL的相关参数,所以在安装PHP、Apache之前,应先安装MySQL数据库。
先安装apache和php后,再装mysql的情况没有测试过.
望高手指教!
兄弟,你要的这版本都是老大爷了,建议您老重新要最新版的来整合.
不管是哪个版本的,我在RH8.0上安装mysql到也下面这一步都不好用为什么?
#./configure --prefix=/usr/local/mysql
我在7.3上用是好用的,一整套除了系统是旧的其余都是新的,只是mysql用的不是最新的4.0用的是3.23
请问:安装mysql需要什么样的系统环境啊?我的系统只安装了make、gcc的环境,安装其它东西都已经好用的,只是卡在mysql上了。