当前位置:Linux教程 - RedHat - RedHat Linux 网络服务器构架实务(二)

RedHat Linux 网络服务器构架实务(二)



         几点说明:
    1、应大家的要求,现在使用简体中文发布,并添加了几个非常有用的例子,也增加了许多注释,具体修改内容详见附录中的Revision Log。
    2、同时,我声明上次发布的《最新RedHat 7.2 WEB开发服务器配置文档》一文用现在的三篇代替。
    3、本版本也已经做成PDF文档,较WEB页面可读性很强,如果你需要,请Email到yesgo.gledecity.com告知。
    4、本文档较长,分为三篇,不便之处,敬请谅解。
    5、最后,感谢您阅读本文档,谢谢!


    这是第二篇,接第一篇,正文如下:




    Step 11 Apache install
    1 安装Apache
    ##这是Apache的正式安装步骤
    cd /home/src/apa*
    ./configure --prefix=/usr/local/apache --activate-module=src/modules/php4/libphp4.a --enable-module=so //设置编译参数
    make //编译
    make install //安装

    2 建立符号连接
    ##为启动程序建立符号连接,便于以后重启服务
    ln –s /usr/local/apache/bin/apachectl /usr/bin/apache

    3 编辑配置文件
    vi /usr/local/apache/conf/httpd.conf

    ## 以php为关键词查找到如下几行,去掉前面的注释符号

    # AddType application/x-httpd-php .php
    # AddType application/x-httpd-php .php3 //本行需要自行添加,用来支持PHP3
    # AddType application/x-httpd-php-source .phps

    ## 设置默认页面,中间用空格分开

    DirectoryIndex index.html index.jsp index.xtp index.php index.php3

    4 测试Apache
    Shell>apache start
    lynx http://localhost
    ##如果出现Apache的文档页面,表示安装成功。

    5 创建启动脚本
    ##创建Apache服务
    touche /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
    --------------------------------------------------------------------------------------------
    Step 12 Jvm setup
    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
    --------------------------------------------------------------------------------------------
    Step 13 Classes Install
    ##这个步骤是我的一个习惯,如果不做JAVA或者JSP开发可能不需要这一步,这个步骤的目的是设置一个放置自己JAVA类库的主目录,然后在此主目录下建立子目录分别存放不同种类的类文件。

    ##创建类库主目录
    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
    --------------------------------------------------------------------------------------------
    Step 14 Edit /etc/profile
    ##这一步用来配置环境变量,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

    export JAVA_HOME RESIN_HOME CLASS_HOME CLASSPATH PATH

    ## 保存文件后注销登陆,然后重新进入,输入下面的命令查看系统变量是否已经生效:
    Shell>env
    --------------------------------------------------------------------------------------------
    Step 15 Resin Install
    1 安装Resin
    cd /home/src
    cp /home/src/resin-2.0.4.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 //安装

    2 建立符号连接
    ##建立resin的符号连接,道理同建立jvm符号连接
    ln –s /usr/local/resin2.0.4 /usr/local/resin

    ##建立resin服务程序的符号连接,道理同建立apache符号连接
    ln –s /usr/local/resin/bin/httpd.sh /usr/bin/resin

    3 修改配置文件
    vi /usr/local/resin/conf/resin.conf

    Modify One: 建立连接池,类似于NT上的DSN(数据源)
    <java compiler="internal" compiler-args="" work-dir=work/>

    <dbpool.sql id="your_data_source_name">
    <driver>org.gjt.mm.mysql.Driver</driver>
    <url>jdbc:mysql://localhost/database_name</url>
    <!-- <url> jdbc:mysql://localhost/database_name </url> -->
    <user>user_name</user>
    <password>password</password>
    <max-connections>100</max-connections>
    </dbpool.sql>

    <!--
    - Sample database pool configuration
    - The JDBC name is java:comp/env/jdbc/test
    -->

    ##后面的测试部分有例子介绍如何调用数据源

    Modify Two: 修改默认主目录,如果使用虚拟主机,其实也可以不理会这个地方
    <app-dir> /usr/local/apache/htdocs </app-dir>

    Modify Three: 修改Resin端口,与Apache协同工作
    <http port=8080 /> //删除本行即可

    Modify Four: 添加支持JSP的虚拟主机
    ##添加一个支持JSP的虚拟主机需要做如下四方面的工作: DNS、FTP、RESIN、APACHE

    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、在Resin中添加虚拟主机
    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= rue/ > //指定class文件目录
    </host>
    『注意』:
    按照上面地设置,你放置JavaBean的目录就是站点根目录下的classes目录,不可以死记硬背/WEB-INFO/classes,关键要明白其中的道理,其实你设置什么都可以的,例如Amao,Agou啦,呵呵。
    4、在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
    ##启动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

    5 创建启动脚本
    ##创建Resin服务,道理跟创建MySQL和Apache服务是一样的,不过这里要设置相关环境变量,设置了这些变量之后,/etc/profile中设置的其实就可以去掉了,当然不去也没关系。:
    ##创建脚本文件
    touch /etc/rc.d/init.d/resin
    ##更改文件权限
    chmod 701 /etc/rc.d/init.d/resin
    ##连接到相关启动级别
    ln –s /etc/rc.d/init.d/resin /etc/rc.d/rc5.d/S70resin
    ##编辑启动脚本
    vi /etc/rc.d/init.d/resin

    ##文件内容如下:

    #!/bin/bash
    #Set environment parameter:

    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

    export JAVA_HOME RESIN_HOME CLASS_HOME CLASSPATH PATH

    #Start resin web server
    exec /usr/local/resin/httpd.sh start
    --------------------------------------------------------------------------------------------
    Step 16 PhpMyAdmin install
    1 安装phpMyAdmin
    tar xvzf /home/src/phpMy*
    cp /www/phpMyAdmin/* /home/mysql
    chown –R mysql /home/mysql
    chown –R mysql /home/mysql/*
    chmod 701 /home/mysql
    chmod 701 /home/mysql/*

    2 添加身份验证
    vi config.inc.php3

    $cfgServers[1][host] = localhost; //主机
    $cfgServers[1][port] = \;
    $cfgServers[1][adv_auth] = 1; //是否需要身份验证
    $cfgServers[1][stduser] = oot; //帐号
    $cfgServers[1][stdpass] = your_password; //密码
    $cfgServers[1][user] = oot;
    $cfgServers[1][password] = your_password;
    $cfgServers[1][only_db] = \;
    $cfgServers[1][verbose] = \;

    3 添加虚拟主机
    vi /usr/local/apache/conf/httpd.conf

    <VirtualHost mysql.yesgo.loc>
    ServerAdmin [email protected]
    DocumentRoot /www/mysql.yesgo.loc
    ServerName mysql.yesgo.loc
    ErrorLog logs/mysql.yesgo.loc-error_log
    CustomLog logs/mysql.yesgo.loc-access_log common
    </VirtualHost>

    4 测试phpMyAdmin
    apache restart
    lynx http://mysql.yesgo.loc //建议使用客户端浏览器测试
    --------------------------------------------------------------------------------------------

    发布人:叶三耿 来自: