You are on page 1of 7

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

作者:杨文军 2006 年 6 月 8 日星期四 http://www.yangwenjun.com

一、本文所用到的软件:
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
----------全 文 完----------

You might also like