本文主要是介绍linux 安装tomat,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.1 安装JDK
[root@genilex01 ~]#sh jdk-6u45-linux-x64.bin
[root@genilex01 ~]#mkdir -p /app/jdk
[root@genilex01 ~]#mv jdk1.6.0_45/ /app/jdk
在/etc/profile文件的最后增加如下内容:
[root@genilex01java]#vi /etc/profile
exportJAVA_HOME=/app/jdk
exportCLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
exportPATH=$PATH:$JAVA_HOME/bin
[root@genilex01 java]# java -version
java version"1.6.0_45"
Java(TM) SE RuntimeEnvironment (build 1.6.0_45-b06)
Java HotSpot(TM)64-Bit Server VM (build 20.45-b01, mixed mode)
#更急实际的用户名进行更改
[root@localhost ~]#groupadd tomcat
[root@localhost ~]#useradd -g –s/sbin/nologin tomcat tomcat
[root@localhost ~]#mkdir -p /app/tomcat
[root@localhost ~]#chown tomcat:tomcat /app/tomcat/
插件用root用户安装
2.2.1 APR
mkdir –p /software
cp apr-1.4.8.tar.gz/software/
cd /software
tar -xzfapr-1.4.8.tar.gz
cd apr-1.4.8
./configure ;make;make install
2.2.2 APR-UTIL
cpapr-util-1.5.2.tar.gz /software
cd /software
tar -xzfapr-util-1.5.2.tar.gz
cd apr-util-1.5.2
./configure--with-apr=/usr/local/apr ;make;make install
[root @genilex01 ~]#unzip apache-tomcat-7.0.42.zip
[root @genilex01 ~]#mv apache-tomcat-7.0.42 /app/tomcat
[tomcat@genilex01 ~]#
[root @genilex01 ~]#chown -R tomcat:tomcat /app/tomcat
2.4.1 配置RPR插件
[root@genilex01 ~]cd/app/tomcat/bin/
[root@genilex01 ~]tarzxvf tomcat-native.tar.gz
[root@genilex01 ~]cdtomcat-native-1.1.27-src/jni/native
[root@genilex01~]./configure --with-apr=/usr/local/apr --with-java-home=/app/jdk/
[root@genilex01~]make
[root@genilex01~]make install
2.4.2 为Tomcat的启动脚本等增加权限
使用Tomcat用户操作
[root@genilex01 ~]su- tomcat
[tomcat@genilex01 ~]# cd /app/tomcat/bin/
[tomcat@genilex01 bin]# chmod u+x startup.sh catalina.sh shutdown.sh setclasspath.sh
2.4.3 修改用户的环境变量
使用Tomcat用户操作,增加用户的环境变量
vi .bash_profile
exportCATALINA_HOME=/app/tomcat
exportPATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$CATALINA_HOME/bin
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
[tomcat@test ~]$ ..bash_profile
2.4.4 优化JVM
在100行位置增加jvm的选项
说明:
-Xms256m 设置为物理内存*1/2
-Xmx512m设置为物理内存*1/2
PermSize设置为物理内存*1/64
MaxPermSize设置为物理内存*1/4
如下是24G物理内存的配置结果
[tomcat@test bin]$ vi/app01/tomcat7/bin/catalina.sh
JAVA_OPTS="-server–Xms1024m –Xmx2048m -XX:PermSize=384M -XX:MaxPermSize=6144M"
2.4.1 Tomcat优化
修改/app/tomcat/conf/server.xml
修改前:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改后:
<Connector port="8080" protocol="HTTP/1.1"
maxHttpHeaderSize="8192" useBodyEncodingForURI="true"
maxThreads="2000"
enableLookups="false"
connectionTimeout="20000"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
redirectPort="8443" />
2.5.1 启动Tomcat
使用Tomcat用户操作
[tomcat@genilex01 ~]# cd /app/tomcat/bin/
[tomcat@genilex01 bin]# su - tomcat -c “catalina.sh start"
./startup.sh
2.5.2 关闭Tomcat
使用Tomcat用户操作
[tomcat@genilex01 ~]# cd /app/tomcat/bin/
[tomcat@genilex01 bin]# ./shutdown.sh
2.6 tomat安全
4.6.1 .删除%tomcatRoot%/webapps目录下的examples、docs文件夹
4.6.2.修改%tomcatRoot%/conf/tomcat-users.xml
所有用户都注释掉,配置如下:
<?xmlversion='1.0' encoding='utf-8'?>
<tomcat-users>
<!—
<rolerolename="tomcat"/>
<rolerolename="role1"/>
<rolerolename="manager"/>
<rolerolename="admin"/>
<user username="tomcat"password="tomcat" roles="tomcat"/>
<userusername="both" password="tomcat"roles="tomcat,role1"/>
<userusername="role1" password="tomcat"roles="role1"/>
<userusername="admin" password="admin"roles="manager"/>
-->
</tomcat-users>
如果业务需要内置的Tomcat用户,则需要给其分配合理的权限,密码设置符合密码策略,Tomcat角色类型如下: role1:具有读权限; tomcat:具有读和运行权限; admin:具有读、运行和写权限; manager:具有远程管理权限。
4.6.3
1) 删除webapps目录下Tomcat原有的所有内容
2) 删除conf/Catalina/localhost/下的host-manager.xml和manager.xml这两个文件
4.6.4 禁止列目录
修改%tomcatRoot%/conf/tomcat-users.xml 将Listtings的值设置成false(6.0的版本已经默认设置成false,其他版本的请自行查看哈)
<init-param><param-name>listings</param-name><param-value>false</param-value></init-param>
4.6.5关闭服务器端口:
server.xml默认有下面一行
<Server port="8005" shutdown="Genilex@2016">
4.6.6编辑conf/web.xml,在</web-app>标签上添加以下内容:
<error-page>
<error-code>404</error-code>
<location>/404.html</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500.html</location>
</error-page>
4.6.7 用普通用户启动
useradd -M -s /sbin/false tomcat
chown -R tomcat.tomcat /usr/local/src/apache-tomcat-6.0.37
su - tomcat -c "/usr/local/src/apache-tomcat-6.0.37/bin/catalina.shstart"
4.6.8 隐藏Tomcat版本信息
在默认配置下,当应用出现异常时,客户端会显示Tomcat的版本信息。攻击者可以根据Tomcat版本信息选择漏洞库攻击,所以需要将Tomcat的版本信息隐藏,将$CATALINA_HOME\lib\catalina.jar\org\apache\catalina\util中的配置ServerInfo.properties如下:
server.info=需要展现的信息如SmartCity
server.number=SmartCity
server.built=20140101
4.6.9关闭war自动部署
默认的配置war放在$CATALINA_HOME\webapps中会自动部署,所以关闭war自动部署防止被植入木马等恶意程序。将$CATALINA_HOME\conf\server.xml配置如下:
<Hostname="localhost"
appBase="webapps"
unpackWARs="false"
autoDeploy="false"
xmlValidation="false"
xmlNamespaceAware="false">
注意:域名问题
删除原 webapps/ROOT 目录下的所有文件,修改文件“conf/server.xml”,在Host节点下增加如下Context的内容配置:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false">...... <Context path="" docBase="C:/apache-tomcat-6.0.32/myapps/bc.war"></Context>
</Host>
这篇关于linux 安装tomat的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!