• RedHatAS4下Apache2+MySQL+Php+Tomcat整合及虚拟主机配置

    2006-08-24

    Tag:

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://squallpig.blogbus.com/logs/3129730.html

    转至CU

    作者:杨文军
    一、本文所用到的软件:
    Sun的JDK:j2sdk-1_4_2_09-linux-i586.bin
    Apache2.0.54:httpd-2.0.54.tar.gz
    MySQL:mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz
    Php:php-4.4.2.tar.gz
    Tomcat:jakarta-tomcat-5.0.28.tar.gz
    jakarta-tomcat-connectors-jk2:jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
    本文中所有软件安装在/home/www目录中。
    注:文中红色字体为输入的命令行。

    二、软件安装
    1、首先安装Sun的JDK

    [root@yangwenjun www]# ./j2sdk-1_4_2_09-linux-i586.bin

    安装后会生成文件夹j2sdk1.4.2_09,将文件夹j2sdk1.4.2_09移动(或复制)到你想要存放的JDK的位置,本文中是放在/home/www/j2sdk1.4.2_09
    接下来编辑/etc/profile文件加入JDK环境变量,在文件末尾处加入以下内容:

    [root@yangwenjun www]# vi /etc/profile

    export JAVA_HOME=/home/www/j2sdk1.4.2_09
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    :$JAVA_HOME/lib/mysql-connector-java-3.2.0.jar:$JAVA_HOME/lib/classes12.jar
    export PATH=$PATH:$JAVA_HOME/bin
    export JRE_HOME=$JAVA_HOME/jre

    [root@yangwenjun etc]# source profile
    [root@yangwenjun etc]# set

    在这里你可以看见所有的环境变量。
    [root@yangwenjun etc]# java –version
    如果JDK配置正确的话,运行上面的命令将会出现JDK的相应版本。

    2、安装MySQL

    [root@yangwenjun www]# tar xzfv mysql-standard-4.1.14-pc-linux-gnu-i686.tar.gz
    [root@yangwenjun www]# cd mysql-standard-4.1.14-pc-linux-gnu-i686
    [root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# more INSTALL-BINARY

    认真的阅读一下这个文档,就会发现MySQL很容易安装

    [root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# groupadd mysql
    [root@yangwenjun mysql-standard-4.1.14-pc-linux-gnu-i686]# useradd -g mysql mysql
    [root@yangwenjun www]# mv mysql-standard-4.1.14-pc-linux-gnu-i686 /home/www/mysql     
    [root@yangwenjun www]# cd /home/www/mysql
    [root@yangwenjun mysql]# scripts/mysql_install_db --user=mysql
    [root@yangwenjun mysql]# chown -R root .
    [root@yangwenjun mysql]# chown -R mysql data
    [root@yangwenjun mysql]# chgrp -R mysql .
    [root@yangwenjun mysql]# bin/mysqld_safe --user=mysql &

    这样MySQL就已经启动了,下面为root用户设置密码:

    [root@yangwenjun mysql]# ./bin/mysqladmin -u root password ‘password’
    [root@yangwenjun mysql]# ./bin/mysqladmin -u root -h localhost.localdomain password 'pass'
    [root@yangwenjun mysql]# ./bin/mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 5 to server version: 4.1.14-standard

    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql>

    [root@yangwenjun mysql]# cp support-files/mysql.server /etc/init.d/mysql
    [root@yangwenjun mysql]# vi /etc/init.d/mysql
    修改如下定义使其内容为:
    basedir=/home/www/mysql
    datadir=/home/www/mysql/data
    [root@yangwenjun mysql]# chkconfig --level 345 mysql on
    [root@yangwenjun mysql]# service mysql restart
    Shutting down MySQL...                                     [  OK  ]
    Starting MySQL                                                  [  OK  ]
    [root@yangwenjun mysql]#

    到这里MySQL就装好了。


    3、安装Apache
    [root@yangwenjun httpd-2.0.54]# cd /home/bruce/software/www/httpd-2.0.54
    [root@yangwenjun httpd-2.0.54]# ./configure --prefix=/home/www/apache --enable-module=most --enable-shared=max --enable-so
    [root@yangwenjun httpd-2.0.54]# make
    [root@yangwenjun httpd-2.0.54]# make install

    创建一个httpd启动脚本,内容如下:
    [root@yangwenjun init.d]# vi httpd
    #!/bin/bash
    # Startup script for the Apache Web Server
    # 包含函数库
    . /etc/rc.d/init.d/functions
    # 获取网络配置
    . /etc/sysconfig/network
    # 检测 NETWORKING 是否为 "yes"
    [ "${NETWORKING}" = "no" ] && exit 0
    # apache安装目录
    APACHE=/home/www/apache
    # 启动服务函数
    start() {
    echo $"Starting httpd service: "
    $APACHE/bin/apachectl start
    RETVAL=$?
    echo
    }
    # 关闭服务函数
    stop() {
    echo $"Stopping httpd service: "
    $APACHE/bin/apachectl stop
    RETVAL=$?
    echo
    }
    # 根据参数选择调用
    case "$1" in
      start)
    start
    ;;
      stop)
    stop
    ;;
      restart)
    stop
    start
    ;;
      *)
    echo $"Usage: $0 start|stop|restart"
    exit 1
    esac
    exit 0
    保存退出vi
    [root@yangwenjun init.d]# chmod 755 httpd
    [root@yangwenjun init.d]# chkconfig --level 345 httpd on
    [root@yangwenjun conf]# vi httpd.conf
    修改默认启动页
    DirectoryIndex index.html index.htm default.htm default.html index.php index.php3 index.jsp
    [root@yangwenjun init.d]# service httpd restart
    Apache安装完毕!
    4、安装Php
    [root@yangwenjun www]# tar zxvf php-4.4.2.tar.gz
    [root@yangwenjun www]# cd php-4.4.2
    [root@yangwenjun php-4.4.2]# ./configure --prefix=/home/www/php --with-mysql=/home/www/mysql --with-apxs2=/home/www/apache/bin/apxs
    [root@yangwenjun php-4.4.2]# make
    [root@yangwenjun php-4.4.2]# make install
    [root@yangwenjun php-4.4.2]# cp php.ini-dist /usr/local/lib/php.ini
    [root@yangwenjun php-4.4.2]# cd /home/www/apache/conf
    [root@yangwenjun conf]# vi httpd.conf
    #系统自动添加了这一行,如果没有则自己加入这一行。
    LoadModule php4_module modules/libphp4.so
    在AddType application/x-tar .tgz
    下加一行
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php .php3
    编写文件index.php 写入下一行
    <? echo phpinfo() ?>
    通过浏览器我们看到了我们的测试结果。至此,PHP装好了。

    5、安装Tomcat及jakarta-tomcat-connectors-jk2
    本文安装的版本是:jakarta-tomcat-5.0.28
    [root@yangwenjun www]# tar xzfv jakarta-tomcat-5.0.28.tar.gz
    [root@yangwenjun www]# cp -rf jakarta-tomcat-5.0.28 /home/www/tomcat
    [root@yangwenjun www]# cd /home/www/tomcat
    现在来测试一下tomcat是否安装成功
    启动tomcat服务:
    [root@yangwenjun tomcat]# ./bin/startup.sh
    访问
    http://ip:8080/看能否看到tomcat的默认页面,如能看到说明tomcat已经在服务了.
    停止tomcat服务:
    [root@yangwenjun tomcat]# ./bin/shutdown.sh

    开始安装jakarta-tomcat-connectors-jk2
    [root@yangwenjun www]# tar xzfv jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
    [root@yangwenjun www]# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2/
    [root@yangwenjun native2]# ./configure --with-apxs2=/home/www/apache/bin/apxs
    [root@yangwenjun native2]# make
    [root@yangwenjun native2]# cd ../build/jk2/apache2/
    [root@yangwenjun apache2]# /home/www/apache/bin/apxs -n jk2 -i mod_jk2.so
    上条命令是将mod_jk2.so添加到apache2的modules中.
    上面就完成了Tomcat和Connectors的安装.接下来进行与Apache的整合.
    6、Tomcat与Apache的整合
    [root@yangwenjun apache2]# cd /home/www/apache/conf/
    [root@yangwenjun conf]# vi httpd.conf
    编辑配置文件在其中加入这个模块,保存退出
    LoadModule jk2_module modules/mod_jk2.so
    然后在这个目录新建一文件workers2.properties
    [root@yangwenjun conf]# vi workers2.properties
    文件内容如下:
    [root@yangwenjun conf]# more workers2.properties
      [channel.socket:202.114.33.249:8009]
      port=8009
      host=202.114.33.249
      [ajp13:202.114.33.249:8009]
      channel=channel.socket:202.114.33.249:8009
      [uri:/*]
      worker=ajp13:202.114.33.249:8009
      [uri:/examples/*]
      worker=ajp13:202.114.33.249:8009

    当然以上内容中的202.114.33.249也可改成localhost
    接下来进入tomcat下的conf目录:
    [root@yangwenjun conf]# cd /home/www/tomcat/conf/
    修改server.xml文件
    [root@yangwenjun conf]# vi server.xml
    找到其中的<Host>中的<Contest>项,我修改后的相关参数如下:
    <Context path="" docBase="/home/www/apache/htdocs" debug="0"
            reloadable="true" crossContext="true"/>
    编辑后保存退出.
    重启Apache和Tomcat后可以查看整合后的效果.如下图所示:
    [root@yangwenjun conf]# /home/www/tomcat/bin/startup.sh
    [root@yangwenjun conf]# service httpd restart


    三、架设整合后的虚拟主机
        [root@yangwenjun conf]# vi /home/www/apache/conf/httpd.conf
    在httpd.conf文档末尾虚拟主机设置处加入以下内容:
    NameVirtualHost *:80
    <VirtualHost *:80>
        Documentroot /home/www/apache/htdocs
    </VirtualHost>
    <VirtualHost *:80>
        DocumentRoot /home/bruce/test1
        ServerName test1.yangwenjun.com
    </VirtualHost>
    <VirtualHost *:80>
            DocumentRoot /home/bruce/test2
        ServerName test2.yangwenjun.com
    </VirtualHost>

        [root@yangwenjun conf]# vi /home/www/tomcat/conf/server.xml
    在server.xml文档的<Engine>......</Engine>中间添加两段<Host>......</Host>
    内容如下:
          <Host name="test1.yangwenjun.com" debug="0" appBase="webapps"
           unpackWARs="true" autoDeploy="true"
           xmlValidation="false" xmlNamespaceAware="false">
            <Context path="" docBase="/home/bruce/test1" debug="0"
            reloadable="true" crossContext="true"/>
            <Logger className="org.apache.catalina.logger.FileLogger"
                     directory="logs"  prefix="localhost_log." suffix=".txt"
                timestamp="true"/>
          </Host>

          <Host name="test2.yangwenjun.com" debug="0" appBase="webapps"
           unpackWARs="true" autoDeploy="true"
           xmlValidation="false" xmlNamespaceAware="false">
            <Context path="" docBase="/home/bruce/test2" debug="0"
            reloadable="true" crossContext="true"/>
            <Logger className="org.apache.catalina.logger.FileLogger"
                     directory="logs"  prefix="localhost_log." suffix=".txt"
                timestamp="true"/>
          </Host>

    重启Apache和Tomcat后可以查看架设的虚拟主机的效果.如下图:
    [root@yangwenjun conf]# /home/www/tomcat/bin/startup.sh
    [root@yangwenjun conf]# service httpd restart




    收藏到:Del.icio.us