天天看點

RedHatAS4下Apache2+MySQL+Php+Tomcat整合及虛拟主機配置

作者:楊文軍

一、本文所用到的軟體:

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

# 根據參數選擇調用

case "$1" in

  start)

start

;;

  stop)

stop

  restart)

  *)

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

#系統自動添加了這一行,如果沒有則自己加入這一行。

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

停止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/

編輯配置檔案在其中加入這個子產品,儲存退出

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/*]

當然以上内容中的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>

    DocumentRoot /home/bruce/test1

    ServerName test1.yangwenjun.com

        DocumentRoot /home/bruce/test2

    ServerName test2.yangwenjun.com

    [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"

        <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"

        <Context path="" docBase="/home/bruce/test2" debug="0"

重新開機Apache和Tomcat後可以檢視架設的虛拟主機的效果.如下圖:

<a href="http://www.yangwenjun.com/attachments/month_0606/520066914316.PDF">本文PDF文檔下載下傳</a>