apache+tomcat的整合
时间:2007-01-04 来源:fsm11
我的环境实现的主要功能是如果是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/jakarta/tomcat-connectors/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
#[root@localhost home]# ./jdk-1_5_0_05-linux-i586.rpm.bin
#root@localhost home]# rpm -ivh jdk-1_5_0_05-linux-i586.rpm
生成目录:jdk1.5.0_05
在/usr/创建目录,java root@host1 jdk1.5.0_05]# ls
bin COPYRIGHT demo include jre ib LICENSE man README.html sample src.zip
[root@localhost bin]# ./java –version
[root@host1 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.[root@localhost root]#tar zxvf jakarta-tomcat-5.1.12.tar.gz /home (指定安装到/home目录下)
[root@localhost 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=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_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
进行安装,具体过程如下:
root@localhost native]#tar zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
生成原文件: jakarta-tomcat-connectors-1.2.15-src
[root@localhost home]# cd jakarta-tomcat-connectors-1.2.15-src
[root@localhost jakarta-tomcat-connectors-1.2.15-src]#
[root@localhost jakarta-tomcat-connectors-1.2.15-src]# cd jk
[root@localhost jk]# cd native
root@localhost native]#./configure --with-apxs=/usr/local/apache2/bin/apxs
[root@localhost native]#make
[root@localhost native]#make install
[root@localhost native]#cd apache-2.0/
[root@localhost apache-2.0]#ls mod_jk.so [root@localhost apache-2.0]#cp mod_jk.so /usr/local/apache2/moduels [root@localhost 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 安装证书
将文件属性改为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 –in server.key.org –out server.key
确认server.key 文件为root可读
$ chmod 400 server.key 哈哈,现在就全部工作做完了,这样就实现了两个功能,当访问http://mydemon.com时访问的是apache/htdocs应用,访问https://mydemon.com时访问的是tomcat/webapps下面的应用。
生成目录:jdk1.5.0_05
在/usr/创建目录,java root@host1 jdk1.5.0_05]# ls
bin COPYRIGHT demo include jre ib LICENSE man README.html sample src.zip
[root@localhost bin]# ./java –version
[root@host1 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.[root@localhost root]#tar zxvf jakarta-tomcat-5.1.12.tar.gz /home (指定安装到/home目录下)
[root@localhost 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=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_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
进行安装,具体过程如下:
root@localhost native]#tar zxvf jakarta-tomcat-connectors-1.2.15-src.tar.gz
生成原文件: jakarta-tomcat-connectors-1.2.15-src
[root@localhost home]# cd jakarta-tomcat-connectors-1.2.15-src
[root@localhost jakarta-tomcat-connectors-1.2.15-src]#
[root@localhost jakarta-tomcat-connectors-1.2.15-src]# cd jk
[root@localhost jk]# cd native
root@localhost native]#./configure --with-apxs=/usr/local/apache2/bin/apxs
[root@localhost native]#make
[root@localhost native]#make install
[root@localhost native]#cd apache-2.0/
[root@localhost apache-2.0]#ls mod_jk.so [root@localhost apache-2.0]#cp mod_jk.so /usr/local/apache2/moduels [root@localhost 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安装时就可以得到server.crt。
的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
将文件属性改为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 –in server.key.org –out server.key
确认server.key 文件为root可读
$ chmod 400 server.key 哈哈,现在就全部工作做完了,这样就实现了两个功能,当访问http://mydemon.com时访问的是apache/htdocs应用,访问https://mydemon.com时访问的是tomcat/webapps下面的应用。
相关阅读 更多 +