Chinaunix首页 | 论坛 | 博客
  • 博客访问: 898709
  • 博文数量: 206
  • 博客积分: 10276
  • 博客等级: 上将
  • 技术积分: 2358
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-01 02:41
文章分类

全部博文(206)

文章存档

2014年(1)

2013年(1)

2012年(2)

2011年(10)

2010年(14)

2009年(15)

2008年(33)

2007年(90)

2006年(40)

我的朋友

分类: LINUX

2007-01-11 15:11:12

一、首先下载15 个软件, 放于 /root/src/ , 以下文件到baidu google 上面去找,版本要跟下面的一样。
j2sdk-1_4_2_08-linux-i586-rpm.bin
httpd-2.0.54.tar.gz
resin-3.0.8.tar.gz
mysql-4.0.25.tar.gz  
php-5.0.4.tar.gz  
ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz
mysql-connector-java-3.1.0.tar.gz
freetype-2.1.9.tar.gz
gd-2.0.28.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.5.tar.gz
libxml2-2.6.9.tar.gz
xpm-3.4k-2.i386.rpm
zlib-1.2.3.tar.gz




     里面去掉 mysqld 自启动。
# service mysqld stop           /* 停止os 自带的mysql service.
# groupadd mysql
# useradd -g mysql mysql         /*增加mysql user,group 为mysql.
# cd /root/src
# tar zxvf mysql-4.0.25.tar.gz    /*会生成一个mysql-4.0.21的目录*/
# cd mysql-4.0.25
# ./configure --prefix=/usr/local/mysql --enable-assembler --with-innodb --with-charset=gb2312
# 上面的 /* --prefix=/usr/local/mysql  是把mysql 的安装路径提向 /usr/loca/mysql
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf    /*这时会问是否覆盖重名文件,回答y*/
# cd /usr/local/mysql
# bin/mysql_install_db --user=mysql    /*以mysql用户建系统库,必须以mysql用户,这点很重要!*/
# chown -R root  .
# chown -R mysql var
# chgrp -R mysql .
# chown -R mysql.mysql var (在mysql目录, 里面存放数据库,可以看到默认的mysql,test DB)
# bin/mysqld_safe --user=mysql &    /*也要用mysql用户运行,如果没任何反应,恭喜!成功了!*/
#   /* 运行上面的语句后会出现Starting mysqld daemon with databases from /usr/local/mysql/var 代表成功start mysql. )

(2)安装j2sdk-1_4_2_08-linux-i586-rpm.bin
步骤:
# cp /root/src/j2sdk-1_4_2_08-linux-i586-rpm.bin /usr/local
# cd /usr/local
# chmod +x j2sdk-1_4_2_08-linux-i586-rpm.bin
# ./j2sdk-1_4_2_08-linux-i586-rpm.bin   / * 使用空格六阅读licens, 直到出现 Do you agree to the above license terms? [yes or no]  选择yes
# rpm -ivh j2sdk-1_4_2_08-linux-i586.rpm
安装完后会在/usr目录下出现一个java/j2sdk1.4.2_08
这就是java的安装目录

装完J2SDK后还要设置环境变量
# Vi /etc/profile
在这个文件里增加如下几行, 在export PATH USER LOGNAME 之前加入:
PATH=$PATH:/usr/java/j2sdk1.4.2_08/bin:/usr/local/mysql/bin
export PATH
export JAVA_HOME=/usr/java/j2sdk1.4.2_08
export CLASSPATH=.:/usr/java/j2sdk1.4.2_08/lib/dt.jarJAVA_HOME/lib/tools.jarJAVA_HOME/lib/htmlconverter.jar:/usr/local/resin-3.0.8/lib:/usr/java/jdbc/mysql-connector-java-3.1.10-bin.jar
RESIN_HOME=/usr/local/resin-3.0.8
export RESIN_HOME
USERNAME="root"
export USERNAME


(3)安装mysql的jdbc

  MySQL的JDBC的相关环境变量已经在前面设置好了,所以余下的只是按以下命令安装:
# cd /root/src
# tar xzvf mysql-connector-java-3.1.10.tar.gz
# mv mysql-connector-java-3.1.10  /usr/java
# cd /usr/java
# ln -s mysql-connector-java-3.1.10  jdbc  /* 产生一个链接,方便后续作业.


(4) 安装 XPM -- 为安装 GD作准备

# cd /root/src

# rpm -ivh --froce xpm-3.4k-2.i386.rpm

(5) 安装libxml -- 为安装 GD作准备
# cd /root/src
# bunzip2 libxml2-2.6.9.tar.bz2
# tar xvf libxml2-2.6.9.tar

# cd libxml2-2.6.9

# ./configure   (xml默认安装就可以,不要指定路径了,库文件默认放在/usr/local/lib 里面。因为安装时php可能找不到它,PHP5只支持libxml2-2.5.10以上版本)

# make  

# make install

(6) 安装zlib -- 为安装 GD作准备
# cd /root/src

# tar vzxf zlib-1.2.3.tar.gz  

# cd zlib-1.2.3  

# ./configure --prefix=/usr/local/zlib2 (注意,如果您以前没有安装zlib,可以不指定路径,我是没有删除以前的低版本才指定的!以下雷同!)

# make  

# make install  

(7) 安装jpeg -- 为安装 GD作准备
# cd /root/src

# tar vzxf jpegsrc.v6b.tar.gz  

# cd jpeg-6b/

# ./configure --prefix=/usr/local/jpeg6   

# make  

# make install-lib  

如果你选择默认安装,可能很顺利,指定路径安装后,请先创建以下文件夹

错误提示:...... /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h

/usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/include/jconfig.h’: 没有那个文件或目录

make: *** [install-headers] Error 1

# mkdir /usr/local/jpeg6  

# mkdir /usr/local/jpeg6/include  

# mkdir /usr/local/jpeg6/lib

# make install-lib  

# make install  

安装时如果错误提示:

/usr/bin/install: 无法创建一般文件`/usr/local/jpeg6/bin/cjpeg': 没有那个文件或目录

make: *** [install-lib] Error 1

创建如下文件夹:

# mkdir /usr/local/jpeg6/bin

# make install

/usr/bin/install -c cjpeg /usr/local/jpeg6/bin/cjpeg

/usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/bin/cjpeg’: 没有那个文件或目录

make: *** [install] Error 1

# mkdir /usr/local/jpeg6/bin

/usr/bin/install -c -m 644 ./cjpeg.1 /usr/local/jpeg6/man/man1/cjpeg.1

/usr/bin/install: 无法创建一般文件`/usr/local/jpeg6/man/man1/cjpeg.1': 没有那个文件或目录

make: *** [install] Error 1

# mkdir /usr/local/jpeg6/man

# mkdir /usr/local/jpeg6/man/man1

# make install  

好了,直到安装成功!

( 安装libpng: --为安装 GD作准备
# cd /root/src

# tar xzvf libpng-1.2.5.tar.gz  

# cd libpng-1.2.5

# cp scripts/makefile.std makefile    /* 因为没有make file

# make test

# make install  

(9) 安装freetype --为安装 GD作准备
# cd /root/src

# tar vzxf freetype-2.1.9.tar.gz  

# cd freetype-2.1.9  

# ./configure --prefix=/usr/local/freetype2  

# make  

# make install

(10) 安装gd库

# cd /root/src

# tar xzvf gd-2.0.28.tar.gz

# cd gd-2.0.28   

# ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype2/ (请指定及格插件的安装路径,否则安装php的时候可能出错!)

# make  

# make install  

(11) 安装apache

安装apache,(php5安装环境需要apache2.0.46以上版本,下载的时候注意!)
如果系统自带安装有apache 请停止服务 service httpd stop, 并且  chkconfig httpd off
#  cd /root/src

#  tar zxvf httpd-2.0.54.tar.gz

#  cd httpd-2.0.54

#  ./configure --prefix=/usr/local/apache --enable-module=so --enable-so

# make

# make install

(12)安装php   
 安装PHP比较简单,我们先装PHP。
# cd /root/src
# tar zxvf php-5.0.4.tar.gz
# cd php-5.0.4 
下的路径要看仔细
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib --with-png  --with-gd=/usr/local/gd2/ --with-freetype-dir=/usr/local/freetype2/ --enable-trace-vars  --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc 
说明:
  --prefix=/usr/local/php 指定把php-5.0.4安装到/usr/local/php目录中
  --with-mysql=/usr/local/mysql 指定mysql数据服务器安装的位置
  --with-apxs2=/usr/local/apache/bin/apxs 这是加入apache中为DSO模块的位置
  -enable-track-vars 为启动cookie的get/post等追踪功能
  --with-config-file-path=/usr/local/php/etc 指定php的配制文件存放的目录是/usr/local/php/etc目录,我们安装完成后,也要把php-5.0.4/php.ini复制到这个目录中来
  --with-gd=/usr/local/gd2/ 指定gd 的安装路径.

# make
# make install
# cp php.ini-dist  /usr/local/php/etc/php.ini   /*php 的配置文件
编辑PHP的配置文件是/usr/local/php/etc/php.ini ,将其中的register_globals变量修改成On,默认是Off的。需要将它改成On。否则会出现php不能直接读不到post或get的数据的现象。
编辑Apache的配置文件
# vi /usr/local/apache/conf/httpd.conf  /*  在文件结尾加上以下两行行:
# AddType application/x-httpd-php .php .phtml .php3 .inc
# AddType application/x-httpd-php-source .phps

# 设置apache的默认文件名次序 (下面是加上这几个)
# DirectoryIndex index.php index.php3 index.html index.htm index.jsp
   启动apache:
# /usr/local/apache/bin/apachectl start
  然后可以用一个简单的php文件来测试PHP的安装,这个简单的PHP文件包含下列一行:
  
  将其保存为/usr/local/apache/htdocs/info.php,然后在浏览器中浏览,如果观看到以显示有“PHP Version5.0.4”标题的页面就表示整合PHP与Apache成功了。而且在这个页面中可以看到与PHP相关的选项,其中应该有关于MySQL和GD 的子项(一定要看到才行哟) ,这表明PHP已经内置了对MySQL,gd的支持了。这样就表示PHP+MySQL+Apache的环境已经成功了,接下来是安装Resin来支持JSP环境。


(13 ) 安装 zendoptimizer
# cd /root/src
# tar xzvf ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz
# cd  ZendOptimizer-2.5.10a-linux-glibc21-i386
# ./install.sh
按提示做:
指定zend新安装目录为:/usr/local/Zend
Confirm the location of your php.ini file提示处:
路径写入: /usr/local/php/etc   /* 第 (12) 中安装php 时 php.ini 的位置.
其它都默认回车就可以了。
提示重新启动apache
然后再用

可能看到Zend Optimizer 项.代表 Zend Optimizer安装成功.



(14)安装resin-3.0.8.tar.gz
# cd /root/src
# tar xzvf resin-3.0.8.tar.gz
# cd resin-3.0.8
# ./configure --prefix=/usr/local/resin-3.0.8 --with-apxs2=/usr/local/apache/bin/apxs --with-apache=/usr/local/apache
# make
# make install
# cd /usr/local/resin-3.0.8/bin
# /usr/local/resin-3.0.8/bin/httpd.sh start

安装完后,用
,看是否有出现RESIN的主页,有可能不能显示,请重新启动电脑。再启动apache, resin。再打开主页就可以了
# cd /usr/local/apache/modules/
看是否有mod_caucho.so这个文件
如果有,那么整合成功了一半


三.配置resin.conf与httpd.conf文件
Vi httpd.conf
检查在这个配置文件末尾里如果没有就增加以下行,前提是/usr/local/apache/modules/mod_caucho.so 要存在 :

LoadModule caucho_module /usr/local/apache/modules/mod_caucho.so
ResinConfigServer localhost 6802
CauchoStatus yes

还有在DirectoryIndex index.html index.html.var这一行后增加index.jsp
这样设置可以支持JSP文件
好了,接下来改resin.conf文件
Vi resin.conf

? ?
? ?
把     doc
改为:?/usr/local/apache/htdocs


四、修改完后,重新启动resin后生效:

# /usr/local/resin-3.0.8/bin/httpd.sh restart
# /usr/local/apache/bin/apachectl restart

 通过浏览器去访问
,如果出现 Status : Caucho Servlet Engine 页面 表示resin和apache已经成功整合了。

    修改 vi /etc/rc.d/rc.local  增加如下内容自启动mysq, resin, apache :然后重新启动电脑.
   
   
#start mysql
/usr/local/mysql/bin/mysqld_safe &
#mike add start resin
PATH=$PATH:/usr/java/j2sdk1.4.2_08/bin
export PATH
export JAVA_HOME=/usr/java/j2sdk1.4.2_08
export CLASSPATH=.:/usr/java/j2sdk1.4.2_08/lib/dt.jarJAVA_HOME/lib/tools.jarJAVA_HOME/lib/htmlconverter.jar:/usr/local/resin-3.0.8/lib:/usr/java/jdbc/mysql-connector-java-3.1.10-bin.jar
RESIN_HOME=/usr/local/resin-3.0.8
export RESIN_HOME
USERNAME="root"
export USERNAME
/usr/local/resin-3.0.8/bin/httpd.sh start &
sleep 10
#start apache
/usr/local/apache/bin/apachectl start
# add end

  
    然后再测试一下JSP对数据库的访问,在/usr/local/apache/htdocs/下面用jsp写一个简单的jsp文件来连接本机的MySQL数据库:
    注意:测试之前要先把mysql server 启动起来.
         
  vi /usr/local/apache/htdocs/testdb.jsp
  输入以下内容,可以直接粘贴:

  <%@page import="java.sql.*"
     import ="java.io.*"
     contentType="text/html; charset=gb2312"
   %>
   Test JDBC For MySQL
   
   <%
    Connection odbcconn=null;
   %>
   <%
    try {
       Class.forName("com.mysql.jdbc.Driver".newInstance();
       out.println("driver load complete.
";
        }
       catch(Exception e) {
           out.println("load err"+e);
        }
   try {
       odbcconn=java.sql.DriverManager.getConnection("jdbc:mysql://localhost/mysql?user=root&password=abc";
      out.println("connec ok.
";
      odbcconn.close();
    }
    catch(Exception e) {
      out.println("connec err:"+e);
     }
      %>

上面password=abc ,  abc 是mysql 数据库root 帐号 的密码.
通过浏览器去访问
,如果看到driver load complete 和 connec ok ,就表示jsp连接本机的MySQL数据库成功了,至此我们就完成了一个支持JSP+PHP+MySQL的Web服务器。
本文介绍了如何在Linux上架设同时支持JSP和PHP的Web Server,演示了MySQL、JDK、JDBC、Apache、PHP、Resin,GD,ZEND的安装和简单测试过程。

试验是否成功的整合了
在/usr/local/apache/htdocs下建一个jsp文件
例如:vi index.jsp
<%
out.println("

Hello, World!

";
%>
保存退出
然后重启apache服务
再把这个文件cp到/usr/local/resin-3.0.8/webapps下
重启resin服务
就可以看到hello,world
呵,整合成功了,呵!

阅读(1437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~