/*------------------------------------------------------------------------ 写在前面: 我看到很多网友的提问都跟服务器配置有关,搭建一个可靠而又安全的应用开发服务器是WEB编程的基础,尤其对于在LINUX上进行JSP开发的朋友而言。 
这篇文档是我多年服务器配置的结晶,发表前已历经本人N此修改(最后一次大的修改是在RH7.2刚刚发布之即,而后一来由于忙于开发二来由于没有发现错误,所以没有升级),文档 
于2001年底被天极网转载(http://www.yesky.com/20020206/217592.shtml),后经linuxbye.net,cnjsp.com等多个linux和JAVA社区转载,历经时间考验,至今未曾发现错误,各位尽可 
放心使用。 
文档在web页面的显示效果不够理想,如果您希望得到本文档的PDF,或有任何意见建议,可邮件至[email protected]
  
文档较长分为多篇发布,这是第四篇,以下为正文: -----------------------------------------------------------------------*/ 
  
  
##为启动程序建立符号连接,便于以后重启服务 
ln –s /usr/local/apache/bin/apachectl /usr/bin/apache 
  
## 设置默认页面,中间用空格分开 
  
DirectoryIndex index.html index.jsp index.xtp index.php index.php3 
  
4 测试Apache 
Shell>apache start 
lynx http://localhost  
##如果出现Apache的文档页面,表示安装成功。 
  
##创建Apache服务 
touch /etc/rc.d/init.d/httpd 
vi /etc/rc.d/init.d/httpd 
  
## 文件内容如下: 
  
#!/bin/bash 
#Start httpd service 
/usr/local/apache/bin/apachectl start 
  
##设置文件权限 
chown –R root /etc/rc.d/init.d/httpd 
chmod 700 /etc/rc.d/init.d/httpd 
  
##连接到你默认init 级别的所在目录 
ln –s /etc/rc.d/init.d/httpd /etc/rc.d/rc5.d/S65httpd 
-------------------------------------------------------------------------------------------- 
## 本版本中我采用的是DSO安装模式,这样当你升级PHP的时候就无需重新安装Apache 
  
1 安装PHP
cd .. 
tar xvzf php* 
cd php* 
./configure  --with-mysql=/usr/local/mysql --with-apxs=/usr/local/apache/bin/apxs --enable-track-vars --enable-sockets --enable-ftp     //设置PHP编译参数 
make                                           //编译 
make install                                     //安装 
cp ./php.ini-dist /usr/local/lib/php.ini                //复制配置文件到/usr/local/lib 
  
2 配置Apache
vi  /usr/local/apache/conf/httpd.conf                 //配置Apache支持PHP 
  
## 以php为关键词查找到如下几行,去掉前面的注释符号 
  
# AddType application/x-httpd-php .php 
# AddType application/x-httpd-php .php3    //本行需要自行添加,用来支持PHP3 
# AddType application/x-httpd-php-source .phps 
  
#重新启动Apache 
apache restart 
---------------------------------------------------------------------------------------------------------------------- 
cp /home/src/ j2sdk-1_3_1-linux-i386.bin /usr/local 
cd /usr/local 
chmod a+x j2sdk-1_3_1-linux-i386.bin 
##下面的指令是一个脚本,它先要问你是否同意,输入Y,然后它会自行安装 
./j2sdk-1_3_1-linux-i386.bin 
  
##为当前的JDK版本建立一个符号连接,这样做的目的是将来如果有新的版本安装到系统上,可以将新的目录连接为/usr/local/jvm,这样就无需修改很多配置文件 
ln –s /usr/local/jdk1.3.1_01 /usr/local/jvm 
-------------------------------------------------------------------------------------------- 
##这个步骤是我的一个习惯,如果不做JAVA或者JSP开发可能不需要这一步,这个步骤的目的是设置一个放置自己JAVA类库的主目录,然后在此主目录下建立子目录分别存放不同种类的类文件。 
##这里需要探讨的是MySQL的驱动程序。大家可以看到我下面使用的仍然是mm驱动,有网友建议我使用resin自带的驱动,我到caucho的站点上看到caucho声明它的驱动比mm驱动快很多,并附有相关数据;然而我测试的结果是resin驱动在rs跳转时除了rs.next()其他的rs.previous();、rs.first();和rs.last();都没任何作用,所以我仍然使用mm.mysql-2.0.4-bin.jar.zip 。 
  
##创建类库主目录 
mkdir /usr/local/lib/java 
  
##下面安装MySQL的JDBC驱动,这个驱动是支持JDBC2.0的 
mkdir /usr/local/lib/java/drivers 
cp /home/src/mm.mysql-2.0.4-bin.jar.zip /usr/local/lib/java/drivers   //MySQL driver 
  
##下面安装JAF,需要说明的是,下载的jaf包是个winzip文件,我是windows上解压的,然后创建了一个jaf的目录将activation.jar放到里面又上传到/home/src的,你可以自行解决 
mkdir /usr/local/lib/java/jaf 
cp /home/src/java/jaf/activation.jar /usr/local/lib/java/jaf    //Jaf class 
  
##下面安装JAVAMAIL,我的处理办法同上 
mkdir /usr/local/lib/java/javamail 
cp /home/src/java/javamail/*.jar /usr/local/lib/java/javamail       //JavaMail classes 
-------------------------------------------------------------------------------------------- 
##这一步用来配置环境变量,Resin的安装需要依赖该步骤 
Vi /etc/profile 
## 在/etc/profile文件末添加如下内容: 
  
JAVA_HOME=/usr/local/jvm 
  
RESIN_HOME=/usr/local/resin 
  
CLASS_HOME=/usr/local/lib/java 
  
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib:$RESIN_HOME/lib:$CLASS_HOME/drivers/mm.mysql-2.0.4-bin.jar.zip:$CLASS_HOME/jaf/activation.jar: $CLASS_HOME/javamail/mail.jar: $CLASS_HOME/javamail /smtp.jar: $CLASS_HOME/javamail /pop3.jar: $CLASS_HOME/javamail/mailapi.jar: $CLASS_HOME/javamail/imap.jar 
  
PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local:/usr/local/bin:/usr/local/jvm/bin:/usr/local/jvm/jre/bin:/usr/local/mysql/bin:/usr/bin/X11:/usr/X11R6/bin 
-------------------------------------------------------------------------------------------- 
1 安装Resin
cd /home/src 
cp /home/src/resin-2.0.5.tar.gz /usr/local 
cd /usr/local 
tar xvzf resin* 
cd resin* 
./configure --with-apache=/usr/local/apache                    //设置编译参数 
(Or: ./configure --with-apxs=/usr/local/apache/bin/apxs) 
make                                                      //编译 
make install                                                //安装 
  
##建立resin的符号连接,道理同建立jvm符号连接 
ln –s /usr/local/resin2.0.5 /usr/local/resin 
  
##建立resin服务程序的符号连接,道理同建立apache符号连接 
ln –s /usr/local/resin/bin/httpd.sh /usr/bin/resin 
  
vi /usr/local/resin/conf/resin.conf 
  
Modify One: 建立连接池,类似于NT上的DSN(数据源) 
  
<resource-ref> 
  <res-ref-name>jdbc/test</res-ref-name>                    //数据源名称 
  <res-type>javax.sql.DataSource</res-type>                 //数据源类型 
  <init-param driver-name="org.gjt.mm.mysql.Driver"/>   //数据库驱动 
  <init-param url=" jdbc:mysql://localhost/test "/>   //连接串 
  <init-param user="your_user_name"/>                      //用户名 
  <init-param password="your_password"/>                   //密码 
  <init-param max-connections="20"/>                        //最大连接数 
  <init-param max-idle-time="30"/>                           //延时时间 
</resource-ref> 
  
##后面的测试部分有例子介绍如何调用数据源 
  
Modify Two: 修改默认主目录,如果使用虚拟主机,其实也可以不理会这个地方 
<app-dir> /usr/local/apache/htdocs </app-dir> 
  
Modify Three: 修改Resin端口,与Apache协同工作 
<http port='8080' />  //删除本行即可 
  
Modify Four: 添加支持JSP的虚拟主机 
##添加一个支持JSP的虚拟主机需要做如下四方面的工作: DNS、FTP、APACHE、RESIN 
  
1、添加一个DNS别名(当然主机名也可以) 
vi /var/named/yesgo.loc 
# 追加如下一行,当然你可以自定义其他别名或主机名 
www       IN      CNAME     ns.yesgo.loc. 
  
/etc/rc.d/init.d/named restart                          //重启DNS服务 
nslookup                                           //测试是否解析成功 
2、添加一个FTP帐号 
Useradd www –s /dev/null –g ftpchroot                 //添加帐号 
Passwd www                                        //修改密码 
Chmod 701 /home/www     //设置权限,否则将来访问时服务器会说你没权限 
3、在Apache中添加虚拟主机 
    vi /usr/local/apache/conf/httpd.conf 
     
# 指定你建立虚拟主机所用的IP地址 
NameVirtualHost 192.168.1.2 
     
# Add virtual host 
<VirtualHost www.yesgo.loc>         ServerAdmin [email protected]                  //管理员邮件         DocumentRoot /home/www                          //根目录         ServerName www.yesgo.loc                         //域名         ErrorLog logs/www.yesgo.loc-error_log               //错误日志名称         CustomLog logs/www.yesgo.loc -access_log common  //自定义日志名称     </VirtualHost> 
4、在Resin中添加虚拟主机,以支持JSP 
vi /usr/local/resin/conf/resin.conf 
  
    ##在文档中查找</host>,然后在其后加入如下内容: 
<host id='www.yesgo.loc'>       <app-dir>/home/www</app-dir>            //指定该站点的根目录       <classpath id='classes' source='classes' compile='true'/ >  //指定class文件目录     </host> 
『注意』: 
按照上面地设置,你放置JavaBean的目录就是站点根目录下的classes目录,不可以死记硬背/WEB-INFO/classes,关键要明白其中的道理,其实你设置什么都可以的,例如Amao,Agou啦,呵呵。 
『强烈建议』:设置classes目录的权限,否则客户端可以浏览和下载你的组件 
chmod 701 /home/www/classes    //设置classes目录的权限,避免非法获取 
  
4 测试Resin
##启动Resin 
shell>resin start 
##重新启动Apache,因为刚才修改了httpd.conf,需要重启才生效 
shell>apache restart 
#创建文件 
touch /home/www/index.jsp 
chown –R www /home/www/index.jsp 
chmod 701 /home/www/index.jsp 
##编辑源文件 
vi  /home/www/index.jsp 
##源代码只有一句: 
1+1=<%=1+1%> 
##测试该程序 
lynx http://www.yesgo.loc/  
##输出结果应该是:1+1=2 
   
 
  |