2013-12-26 15:00:01
来 源
kejihao
Apache
本文介绍Apache+tomcat的整合安装方法,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。
我的环境实现的主要功能是如果是https就访问tomcat下面的应用,如果是http,则访问apache下面的静态页面,废话不多说!

一、下载工具:

apache httpd-2.2.0.tar.gz 下载地址:http://archive.apache.org/dist/httpd/

jdk-1_5_0_05-linux-i586.bin 下载地址:http://java.sun.com/javase/downloads/index.jsp

jakarta-tomcat-connectors-1.2.15-src.tar.gz

下载地址http://archive.apache.org/dist/j ... nnectors/jk/source/

tomcat-5.5.12.tar.gz 下载地址: http://archive.apache.org/dist/jakarta/

二、安装apache:

1../configure - -prefix=/usr/local/apache

--enable-so --enable-ssl

--with-apr=/usr/local/apr-httpd

--with-apr-util=/usr/local/apr-util-httpd/

--enable-mods-shared=all

#make

#make install

#make clean

#cd apache/bin

#./apachectl start //可能会提示不能够绑定127.0.0.1,不过没有关系,我们在下面会修改的,先看一下是不是服务起来了。

#ps aux

输入http://192.168.1.5就会出现工作界面。

二、配置tomcat

先安装jdk

#[[email protected] home]# ./jdk-1_5_0_05-linux-i586.rpm.bin

[email protected] home]# rpm -ivh jdk-1_5_0_05-linux-i586.rpm

生成目录:jdk1.5.0_05

在/usr/创建目录,java

[email protected] jdk1.5.0_05]# ls

bin COPYRIGHT demo include jre ib LICENSE man README.html sample src.zip

[[email protected] bin]# ./java Cversion

[[email protected] bin]# ./java -version

java version "1.5.0_05"

Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05)

Java HotSpot(TM) Client VM (build 1.5.0_05-b05, mixed mode)

显示版本,说明java环境建立成功!//如果不能够显示,安装完tomcat后,重新启动计算机一切就会正常(哈哈)。

(注意:tomcat5.5的必须有jdk1.5这个版本支持)

安装tomcat

1.[[email protected] root]#tar zxvf jakarta-tomcat-5.1.12.tar.gz /home (指定安装到/home目录下)

[[email protected] root]#mv jakarta-tomcat-5.1.12 tomcat (换个文件名)

启动关闭服务文件放在/home/tomcat/bin

配置文件 /home/tomcat/conf

web文件 /home/tomcat/webapps

默认访问目录 /home/tomcat/webapps/ROOT

2.设置环境变量,

在/etc/profile中末尾加入:

export JAVA_HOME=/home/jdk1.5.0_05

export TOMCAT_HOME=/home/tomcat

export PATH=$PATHJAVA_HOME/bin

export CLASSPATH=.JAVA_HOME/lib/dt.jarJAVA_HOME/lib/tools.jar

3.启动与关闭服务:

#cd /home/tomcat/bin

#./startup.sh(关闭服务:#./shutdown.sh)或者是./Catalina.sh start/stop

4.从新启动计算机,tomcat 就会运行正常,也可以通过jsvc把tomcat加载在启动服务里面,建议不要用root来运行tomcat。

五.安装jakarta-tomcat-connectors-1.2.15-src,生成mod_jk.so文件。

1.安装jakarta-tomcat-connectors-1.2.15-src.tar.gz

参考文档:http://www.redflag-linux.com/pho ... redflag/read.php?15,100143

进行安装,具体过程如下:

[email protected] native]#tar zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz

生成原文件: jakarta-tomcat-connectors-1.2.15-src

[[email protected] home]# cd jakarta-tomcat-connectors-1.2.15-src

[[email protected] jakarta-tomcat-connectors-1.2.15-src]#

[[email protected] jakarta-tomcat-connectors-1.2.15-src]# cd jk

[[email protected] jk]# cd native

[email protected] native]#./configure --with-apxs=/usr/local/apache2/bin/apxs

[[email protected] native]#make

[[email protected] native]#make install

[[email protected] native]#cd apache-2.0/

[[email protected] apache-2.0]#ls

mod_jk.so

[[email protected] apache-2.0]#cp mod_jk.so /usr/local/apache2/moduels

[[email protected] apache-2.0]#cp ../conf/workers.properties /usr/local/apache2/conf

配置httpd.conf 文档:下面是我自己的配置文档修改过的地方。

#cd apache/conf

#vi httpd.conf

找到#LoadModule foo_module modules/mod_foo.so加入下面代码:

LoadModule jk_module modules/mod_jk.so

# Where to find workers.properties

JkWorkersFile /usr/local/apache/conf/workers.properties

# Where to put jk logs

JkLogFile /usr/local/apache/logs/mod_jk.log

# Set the jk log level [debug/error/info]

JkLogLevel info

# Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

# JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format

JkRequestLogFormat "%w %V %T"

找到# Secure (SSL/TLS) connections

#Include conf/extra/httpd-ssl.conf ,Include conf/extra/httpd-default.conf,

Include conf/extra/httpd-languages.conf,Include conf/extra/httpd-autoindex.conf取消#号,这个可根据自己情况定(我要启用ssl)

# cd jakarta-tomcat-connectors-1.2.15-src/jk/conf

# cp  workers.properties /usr/local/apache/conf/

编辑workers.properties文件,修改java和tomcat路径.

#cd /usr/local/apache2/conf/extra

# vi httpd-ssl.conf

在最后加入:JkMount /* ajp13

# Send JSPs for context /examples to worker named worker1

JkMount /*/*.jsp ajp13 //根据自己tomcat/webapps的应用来举起配置。

修改虚拟机目录为:/usr/local/tomcat/webapps

修改有关ssl证书的路径。

安装openssl解压:(注意,openssl的安装要在apache以前进行),一般系统默认安装了openssl,就不需要再安装!

# tar -zxvf openssl-0.9.7j.tar.gz

编译和安装

# ./config

# make

# make test

# make install

安装证书

首先我假定你已经安装好了openssl和MOD_SSL,如果你的openssl安装时

的prefix设置为/usr/local/openssl,那么把/usr/local/openssl/bin加入

执行文件查找路径。还需要MOD_SSL源代码中的一个脚本,它在MOD_SSL的

源代码目录树下的pkg.contrib目录中,文件名为 sign.sh。

将它拷贝到 /usr/local/openssl/bin 中。

先建立一个 CA 的证书,

首先为 CA 创建一个 RSA 私用密钥,

[S-1]

openssl genrsa -des3 -out ca.key 1024

系统提示输入 PEM pass phrase,也就是密码,输入后牢记它。

生成 ca.key 文件,将文件属性改为400,并放在安全的地方。

[S-2]

chmod 400 ca.key

你可以用下列命令查看它的内容,

[S-3]

openssl rsa -noout -text -in ca.key

利用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509结构)

[S-4]

openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

然后需要输入下列信息:

Country Name: cn 两个字母的国家代号

State or Province Name: An Hui 省份名称

Locality Name: Begum 城市名称

Organization Name: Family Network 公司名称

Organizational Unit Name: Home 部门名称

Common Name: Chen Yang 你的姓名

Email Address: [email protected] Email地址

生成 ca.crt 文件,将文件属性改为400,并放在安全的地方。

[S-5]

chmod 400 ca.crt

你可以用下列命令查看它的内容,

[S-6]

openssl x509 -noout -text -in ca.crt

下面要创建服务器证书签署请求,

首先为你的 Apache 创建一个 RSA 私用密钥:

[S-7]

openssl genrsa -des3 -out server.key 1024

这里也要设定pass phrase。

生成 server.key 文件,将文件属性改为400,并放在安全的地方。

[S-8]

chmod 400 server.key

你可以用下列命令查看它的内容,

[S-9]

openssl rsa -noout -text -in server.key

用 server.key 生成证书签署请求 CSR.

[S-10]

openssl req -new -key server.key -out server.csr

这里也要输入一些信息,和[S-4]中的内容类似。

至于 'extra' attributes 不用输入。

你可以查看 CSR 的细节

[S-11]

openssl req -noout -text -in server.csr

[S-12]

openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 1825

就可以得到server.crt。

将文件属性改为400,并放在安全的地方。

[S-13]

chmod 400 server.crt

删除CSR

[S-14]

rm server.csr

可以 apachectl startssl 试一下了。

让apache在启动时不需输入RSA私钥(while preserving the original file):

$ cp server.key server.key.org

$ openssl rsa Cin server.key.org Cout server.key

确认server.key 文件为root可读

$ chmod 400 server.key

哈哈,现在就全部工作做完了,这样就实现了两个功能,当访问http://mydemon.com时访问的是apache/htdocs应用,访问https://mydemon.com时访问的是tomcat/webapps下面的应用。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。