ITPub博客

首页 > IT基础架构 > 网络安全 > tomcat实践

tomcat实践

原创 网络安全 作者:sgy618 时间:2011-07-15 17:40:17 0 删除 编辑

tomcat实践

[@more@]

Tomcat 安装


apache-tomcat-6.0.20.tar.gz

apache是一个开源项目,tomcat是其子项目,属于apache的基金会的


1.先装JDK

jdk-6u17-linux-i586.bin

如果没有可执行的权限,chmod修改其权限


2.查看系统是否装jdk

使用java命令,按tab键,看是否补齐,

java -version 查看版本,一般用1.6版本


rpm -qa | grep jdk

rpm -e jdk


安装完会在当前目录下生成jdk目录

mv jdk1.6.0 /usr/local/


做环境变量:

在启动脚本中添加:

JAVA_HOME=/usr/local/jdk1.6.0_17/设置环境变量

JAVA_BIN=/usr/local/jdk1.6.0_17/bin

JRE_HOME=/usr/local/jdk1.6.0_17/jre

PATH=/usr/local/jdk1.6.0_17/bin/:$PATH

CLASSPATH=./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH


注意,有时 JRE_HOME为JAVA_JRE


然后source一下这个启动脚本

#source /etc/profile


然后检查一下是否安装成功,

(1).检查java是否补齐

(2).查看版本信息java -version


另一种方法:创建软链接


3.apache-tomcat-6.0.20.tar.gz

解压,生成目录,该目录直接就能用,不用再去编译

mv apache-tomcat-*** /usr/local/tomcat


进入该目录的bin目录下,启动关闭的脚本在该目录下

驱动放在lib目录下,但是这里有一个不好的地方,如果这个tomcat承载多个项目(mysql 和 oracle),不好管理,lib是一个全局的,为了区分,将各自项目,将驱动放入不同的目录下


logs里面是日志

conf是配置文件,主配置文件是server.xml

第22行,很重要,如果给8005触发一下,就关掉了

第67行,为什么tomcat启动时候,默认端口为8080,原因在此

第88行,协议是AJP协议,如果与apache结合的时候,也可以交给后端的8009也可以

第126行,配置虚拟主机,webapps,相当于apache的DocumentRoot,如果做虚拟主机注意标签的配对


这个时候启动一下startup.sh

#/usr/lcoal/tomcat/bin/startup.sh

如果发现没有起服务成功查看日志

/usr/lcoal/tomcat/logs 记录服务启动关闭的信息


同时也要注意根据当前环境修改一下startup.sh脚本,


netstat查看端口是否开启


logs/目录下

tail -f catalina.out

正常情况下,要做日志截取


测试,firefox


读取的页面时在这个目录下,需要jsp语言来写

tomcat/webapps/ROOT/


3.制作虚拟主机


在主配置文件中


126-128行复制一下,放到下面,然后在新复制的内容,补齐一个


name为虚拟主机的域名 修改一下根为website

需要在tomcat/website/目录下创建一个ROOT目录,ROOT为默认读取的目录,要访问的目录要放在这个ROOT中


改完配置文件一定要重启服务


4.加入sysv

默认已经做好了,需要修改一些东西

(1)、cp tomcat/bin/catalina.sh /etc/init.d/tomcatd

(2)、chmod 一个可执行权限

(3)、vim tomcatd

将其他标准的服务脚本的关于chkconfig那块的的信息复制到这个tomcatd脚本即可


5.

注意的问题:

1).默认文件,在conf/下得web.xml文件中1190行

2).配置权限:conf下有个一个tomcat-users.xml文件 19行开始

rolename为角色的名字

username用户名

password密码

roles扮演的角色


6.制作jive的bbs


1)破解

unzip jive.zip

cd jive

主程序就是jive_forums_pro_4_2_3

cp -raf jive_forums_pro_4_2_3 /usr/local/tomcat/webapps/jive


/usr/local/tomcat/webapps/jive/crack/patcher.jar /usr/local/


java -jar patcher.jar破解一下

/usr/local/tomcat/webapps/jive目录下新建一个文件名为jive.lincese


2)回到主页面的manager界面,多出一个jive行

3)/usr/local/src/mysql-connector-java-3.1.14-bin.jar放到/usr/local/tomcat/lib下

4)启mysql

mysqladmin -uroot password 'lei'

5)mysql -p 直接以root用户进

进入mysql

>create databases jivedb;

>grant all privileges on jivedb.* to jiveuser @ 'localhost' identified by 'lei'

>flush privileges;


#mysql -uroot -plei jivedb < /usr/local/tomcat/webapps/jive/database/jive_forums_mysql.sql


>use jivedb;

> show tables;


ls -l /usr/local/tomcat/webapps/jive/jiveHome

然后回到刚才的网页页面,添下jiveHome和license然后 重新提交,点击continue


然后选择第一项标准的

然后选mysql com.mysql.jdbc.Driver 127.0.0.1:3306/jivedb

jiveuser lei


若发现驱动不能加载的错误警告,需要将tomcat重新启动一下


继续continue


然后选择default

然后

然后 admin 点skip

然后用户名和密码登陆





动静分离:

静态东东西由apache处理,动态由tomcat处理


步骤:

1)安装apache

在其配置文件中,需要LoadModule 一个mod_jk2模块

2)jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz

解包

进入产生的目录中,再进入jk/

native2目录下面执行./configure –help | grep apxs

列出两条,要用apxs2这个


./configure –with-apxs2=/usr/local/apache2/bin/apxs

make

执行完会生成一个模块,将这个模块复制到/usr/local/apache2/module下


然后修改刚才说过的那个配置文件,复制一行LoadModule jk2_module


重启apache服务


此时server怎么知道当遇到jsp的文件时交给tomcat呢?


烤一个文件??????????


works2.

[uri:/*.jsp]

info=*******


[uri:/*.gif] 将图片也交给tomcat处理

info=*******


另一种方式:

去掉[uri:/*.gif] 将图片也交给tomcat处理

info=*******


将apache配置文件的DocumentRoot指向tomcat


注意权限问题(user 所用的用户)和根容器那块的deny all的问题


这时,图片由apache来处理,jsp页面由tomcat处理


可以再apache配置文件中在默认访问界面中加入index.jsp


当apache配置中,将DocumentRoot指向tomcat站点根时,当点manager或其他标签时,发现会404错误,所以需要

[uri:/jive/*]

info=*******


[uri:/manager/*]

info=*******


当然这里也可以用虚拟主机实现

192.168.1.1/jive

192.168.1.1/manager




rpm -qf `which /sbin/apxs`

-------------------------------------------------------------

1安装jdk
[root@localhost ~]# cd /usr/local/src
[root@localhost tomcat]#sh jdk-6u17-linux-i586.bin
[root@localhost tomcat]# cp -r jdk1.6.0_17/ /usr/local/jdk1.6.0_17/
[root@localhost ~]#vim /etc/profile
#set java environment
JAVA_HOME=/usr/local/jdk1.6.0_17
JAVA_BIN=/usr/local/jdk1.6.0_17/bin
JAVA_JRE=/usr/local/jdk1.6.0_17/jre
PATH=$PATH://usr/local/jdk1.6.0_17/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH

[root@localhost ~]# source /etc/profile


安装tomcat
[root@localhost tomcat]# tar zxf apache-tomcat-6.0.20.tar.gz -C /usr/local/
[root@localhost tomcat]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-6.0.20/ tomcat
[root@localhost ~]#cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
[root@localhost ~]#vim /etc/init.d/tomcat
# chkconfig: 2345 63 37
# description: tomcat server init script
JAVA_HOME=/usr/local/jdk1.6.0_17/
CATALINA_HOME=/usr/local/tomcat


设置tomcat
[root@localhost local]# vim /usr/local/tomcat/conf/server.xml
[root@localhost local]# vim /usr/local/tomcat/conf/tomcat-users.xml





[root@localhost local]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost local]# /usr/local/tomcat/bin/startup.sh

[root@localhost tomcat]# cd /usr/local/src/
[root@localhost tomcat]# unzip jive.zip
[root@localhost tomcat]# cd jive
[root@localhost jive]# cp crack/patcher.jar jive_forums_pro_4_2_3/WEB-INF/lib/
[root@localhost jive]# cd !$
[root@localhost lib]# /usr/local/jdk/bin/java -jar patcher.jar
[root@localhost lib]# cd /root/tomcat/jive
[root@localhost jive]# mv jive_forums_pro_4_2_3/ /usr/local/tomcat/webapps/jive/
[root@localhost jive]# cd /usr/local/tomcat6.0/webapps/jive/jiveHome/
[root@localhost jive]# touch jive.license


JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API


http://192.168.1.254:8080/
netstat -ntlp | grep 8080


[root@localhost conf]# vim /usr/local/tomcat6.0/conf/tomcat-users.xml





~
restart tomcat服务
---------------------
3、部署


[root@localhost jiveHome]# pwd
/usr/local/tomcat6.0/webapps/jive/jiveHome


mysql> create database jivedb;
Query OK, 1 row affected (0.00 sec)

mysql> grant all on jivedb.* to jiveuser@localhost identified by '123';
Query OK, 0 rows affected (0.01 sec)

mysql>
[root@localhost database]# pwd
/usr/local/tomcat6.0/webapps/jive/database
[root@localhost database]# mysql jivedb < jive_forums_mysql.sql
-------------------
[root@localhost database]# mysql -u root -p123 jivedb < jive_forums_mysql.sql
-------------
[root@localhost database]# ls /var/lib/mysql/jivedb/

====================

[root@localhost tomcat_package]# tar zxvf mysql-connector-java-3.1.14.tar.gz
[root@localhost tomcat_package]# cp mysql-connector-java-3.1.14/mysql-connector-java-3.1.14-bin.jar /usr/local/tomcat6.0/lib/

restart tomcat
start mysql


============
==============
==============

安装apache,启动apache
生成jk2模块,让apache LoadModule . 调用 tomcat的模块

[root@localhost tomcat_package]# tar zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz

[root@localhost tomcat_package]# mv jakarta-tomcat-connectors-jk2-2.0.4-src /usr/local/tomcat-connect

[root@localhost native2]# pwd
/usr/local/tomcat-connect/jk/native2


yum install http-devel
which apxs
/usr/sbin/apxs
[root@localhost native2]# ./configure --with-apxs2=/usr/sbin/apxs
[root@localhost native2]# make
[root@localhost native2]# make install
make: *** No rule to make target `install'. Stop.

[root@localhost apache2]# pwd
/usr/local/tomcat-connect/jk/build/jk2/apache2
[root@localhost apache2]# cp mod_jk2.so /etc/httpd/modules/

[root@localhost apache2]# vim /etc/httpd/conf/httpd.conf
[root@localhost apache2]# grep jk2 /etc/httpd/conf/httpd.conf
LoadModule jk2_module modules/mod_jk2.so


/usr/local/apache2/bin/apxs

写配置文件定义什么情况下通过jk2模块找tomcat

[root@localhost jk]# cp /usr/local/tomcat-connect/jk/conf/workers2.properties /etc/httpd/conf/


[root@localhost jk]# vim /etc/httpd/conf/workers2.properties

[uri:/jive/*]
info=map the tomcat

[uri:/manager/*]
info=map the tomcat

[uri:/*.jsp]
info=map the tomcat

service httpd restart


总结:

动静分离:静态界面交给apache,动态界面交给tomcat,这样达到了网络优化动静分离

apache监听80端口,tomcat监听8080端口,默认用户请求从80端口进入,发现有jsp界面的请求,这个时候交给tomcat处理,这里他们之间需要一个衔接工具mod_jk2(80)、ajp(8009)

如果将tomcat的端口号改为80,则所有东西都有tomcat处理

apache不可动态处理

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23168012/viewspace-1052523/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: rsync实践
下一篇: squid实践
请登录后发表评论 登录
全部评论

注册时间:2010-01-12

  • 博文量
    104
  • 访问量
    396307