Apache与Tomcat安装配置手册

来源:互联网 发布:arta软件 编辑:程序博客网 时间:2024/05/04 16:31
 
最新的操作系统Red Hat Linux release 8.0 (Psyche)和最新的应用软件,并重新设置Apache和Tomcat整合的配置.安装和配置还算比较顺利,所以就更新了这个文档,希望对大家会有所帮助!如果有什么错误的地方,也请大家指正!好了,不罗嗦了! 

1.所需的软件包

  j2sdk-1_4_1_02-linux-i586
  Apache2.0.40 (Red Hat Linux)
  jakarta-tomcat-4.1.18
  jakarta-tomcat-connectors-4.1.18

2.软件包下载地址

  (1) Java J2SE1.4.1
    URL:http://java.sun.com/j2se/1.4.1/download.html
  (2) Apache2.0.40
    URL:http://httpd.apache.org
  (3) Tomcat 4.1.18
    URL:http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/bin/jakarta-tomcat-4.1.18.tar.gz
  (4) Tomcat connectors-4.1.18
    URL:http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.1.18/src/jakarta-tomcat-connectors-4.1.18-src.tar.gz

3.软件安装

  (1) 解开压缩包
    使用gunzip或tar或rpm解开下载的软件包,按照默认方式安装既可
  (2) 目录的处理
    J2SDK安装目录: /usr/j2sdk1.4.1_02
    Apache安装目录: /etc/httpd
             /usr/lib/apache
             /var/www
    Jakarta-Tomcat安装目录: /opt/jakarta-tomcat-4.1.18
    Jakarta-Tomcat-connectors安装目录: /opt/jakarta-tomcat-connectors-4.1.18-src

4.环境变量设置

  JAVA_HOME=/usr/j2sdk1.4.1_02
  CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  CATALINA_BASE=/opt/jakarta-tomcat-4.1.18
  CATALINA_HOME=/opt/jakarta-tomcat-4.1.18
  PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

5.特殊安装

  (1) 编译Jakarta-Tomcat-connectors
    cd /opt/jakarta-tomcat-connectors-4.1.18-src/webapp ## 进入指定的目录
    ./support/buildconf.sh ## 生成编译配置文件
    ./configure --with-apxs ## 生成Makefile编译文件
    make ## 编译生成mod_webapp.so
    注释: 生成的mod_webapp.so文件在apache-2.0目录中
  (2) 把apache-2.0目录中的mod_webapp.so文件复制到目录/usr/lib/httpd/modules
    并检查文件/usr/lib/httpd/modules/mod_webapp.so的属性,应与其它Modules文件
    属性一致,如果不相同,则使用chmod chgrp chown来修改

6.独立环境的测试

  (1) 测试Java的运行状况,如下命令:
    java -version
    javac -version
    看到版本号则表示JDK安装成功
  (2) 测试Apache的运行状况,如下命令:
    /etc/init.d/httpd restart ## 重新启动Apache Server
    使用任意一浏览器,输入服务器地址后回车,应该可以看到Apache的默认主页
  (3) 测试Jakarta-Tomcat的运行状况,如下命令: 
    cd $CATALINA_HOME
    cd bin
    ./startup.sh ## 启动jakarta-tomcat-4.1.18服务
    使用任意一浏览器,输入服务器地址和端口号8080后回车,应该可以看到jakarta-tomcat-4.1.18的默认主页
    例如: http://192.192.192.1:8080
    ./shutdown.sh ## 关闭jakarta-tomcat-4.0.1服务

7.整合安装设置

  (1) 修改/etc/httpd/conf/httpd.conf文件
    在# Dynamic Shared Object (DSO) Support之后,添加如下内容
    LoadModule webapp_module modules/mod_webapp.so
  (2) 测试配置和Modules,执行以下命令
    apachectl configtest
    如果出现Syntax OK,则证明Module安装和配置成功了!
  3) 修改/etc/httpd/conf/httpd.conf文件
    在文件尾部添加如下内容
    WebAppConnection warpConnection warp localhost:8008
    WebAppDeploy examples warpConnection /examples/
  4) 再次测试配置,执行以下命令
    apachectl configtest
    如果出现Syntax OK,则证明安装成功!
    如果出现以下错误信息
    Syntax error on line 1038 of /etc/httpd/conf/httpd.conf:
    Invalid virtual host name
    则修改httpd.conf文件,找到#ServerName所在的行,并在其下面加入如下内容即可
    ServerName localhost:8008 # 制定服务器的名称和端口
  5) 检查$CATALINA_HOME/conf/server.xml文件中相关的配置,默认情况下的
    相关的信息是被注释掉了,所以需要删掉注释的语句,这样Tomcat在启动的时候才会初始化
    相关的内容并开启8008端口!

8.整合测试

  重新启动所有服务
    $CATALINA_HOME/bin/shutdown.sh
    $CATALINA_HOME/bin/startup.sh
    /etc/init.d/httpd restart
  在浏览器中输入如下地址
    http://服务器IP/examples/jsp/index.html,如果能够显示正常的网页,则安装成功
  在浏览器中输入如下地址
    http://服务器IP/examples/jsp/jsptoserv/jsptoservlet.jsp如果能够显示正常的网页和时间,则jsp和Servlet安装成功

9.祝你好运,如还有问题,请联系我!

  作 者: 疯傻
  邮 件: madfool@163.net
  主 页: http://www.avaw.com
      http://www.binary.com.cn
  此文档严格遵循GPL协议,转帖请保持此文档的完整性! 

Tomcat 配置集锦

1.下载::URL::
http://www.eu.apache.org/dist/jakarta/tomcat-5/
这里注意,在jakarta-tomcat-5.0.28.exe以前是有默认的admin模块,在jakarta-tomcat-5.5.9.exe则没有安装默认的admin模块,这时::URL::
http://127.0.0.1:8080/admin打开时则会出现
Tomcat's administration web application is no longer installed by default. Download and install the "admin" package to use it. 
因此我们现在需要下载"admin"package 包
把jakarta-tomcat-5.5.x.zip  与   jakarta-tomcat-5.5.x-compat.zip  与  jakarta-tomcat-5.5.x-admin.zip
三个文件解压在同一个目录中
(如果使用jdk1.4,才需要compat.zip用jdk1.5就可以免了这个。) 




2.修改jakarta-tomcat-5.5.x/conf/tomcat-users.xml.
添加管理员账号lizongbo,密码为lizongbopass.
新xml如下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <role rolename="admin"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="role1" password="tomcat" roles="role1"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="lizongbo" password="lizongbopass" roles="admin,manager"/>
</tomcat-users>


有时在%CATALINA_HOME%/server/webapps/admin/WEB-INF/web.xml里面也要做些修改


<!-- Security is active on entire directory -->
  <security-constraint>
    <display-name>Tomcat Server Configuration Security Constraint</display-name>
    <web-resource-collection>
      <web-resource-name>Protected Area</web-resource-name>
      <!-- Define the context-relative URL(s) to be protected -->
      <url-pattern>*.jsp</url-pattern>
      <url-pattern>*.do</url-pattern>
      <url-pattern>*.html</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <!-- Anyone with one of the listed roles may access this area -->
      <role-name>admin</role-name>
    </auth-constraint>
  </security-constraint>

  <!-- Login configuration uses form-based authentication -->
  <login-config>
    <auth-method>FORM</auth-method>
    <realm-name>Tomcat Server Configuration Form-Based Authentication Area</realm-name>
    <form-login-config>
      <form-login-page>/login.jsp</form-login-page>
      <form-error-page>/error.jsp</form-error-page>
    </form-login-config>
  </login-config>

  <!-- Security roles referenced by this web application -->
  <security-role>
    <description>
      The role that is required to log in to the Administration Application
    </description>
    <role-name>admin</role-name>
  </security-role>
无论是 Authetication ( 身份验证  还是 Authorization ( 权限管控  都只有设置相关的 admin ROLE, 当你想要新增或修改相关的 AA, 就必须修改这一个文件, 来符合你的环境.
3.修改jakarta-tomcat-5.5.x/conf/server.xml来解决编码问题。
(给Connector 添加URIEncoding参数,参考::URL::
http://blog.csdn.net/darkxie/archive/2004/10/25/TOMCATAPP.aspx)
(可以设置成GB18030)
    <Connector port="8080"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="200"
               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"
               compression="on" compressionMinSize="2048" 
      noCompressionUserAgents="gozilla, traviata" 
      compressableMimeType="text/html,text/xml"/>
 
    <Connector port="8009" 
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK"/>
 

4.启用支持gzip压缩.
(::URL::
http://www.linuxaid.com.cn/forum/showdoc.jsp?l=1&i=81169)
添加下列属性
 compression="on" 
      compressionMinSize="2048" 
      noCompressionUserAgents="gozilla, traviata" 
      compressableMimeType="text/html,text/xml"
 
5.设置虚拟主机。
在jakarta-tomcat-5.5.x/下建立文件夹vhost/www.mydomain.com。
然后修改jakarta-tomcat-5.5.x/conf/server.xml
 
<Engine defaultHost="localhost" name="Catalina">
      <Host appBase="vhost/www.mydomain.com" name="::URL::
http://www.mydomain.com/">
      </Host>
      <Host appBase="webapps" name="localhost">
      </Host>
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
    </Engine>
 
6.添加数据库驱动,更新mail.jar和actiovation.jar
复制mysql-connector-java-3.0.16-ga-bin.jar,pg74.215.jdbc3.jar到 jakarta-tomcat-5.5.x/common/lib/
还有javamail 1.3.2的mail.jar,jaf-1_0_2的 activation.jar
msSQl 2000 JDBC sp3,msbase.jar,msutil,jar,mssqlserver.jar
 
 
7.配置SSL
参考 ::URL::
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/ssl-howto.html
D:/j2sdk1.4.2_06/bin>%JAVA_HOME%/bin/keytool -genkey -alias tomcat -keyalg RSA
输入keystore密码:  lizongbossl
您的名字与姓氏是什么?
  [tomcat5.5.x]:  tomcat5.5.x
您的组织单位名称是什么?
  [jakarta]:  jakarta
您的组织名称是什么?
  [apache]:  apache
您所在的城市或区域名称是什么?
  [hzcity]:  hzcity
您所在的州或省份名称是什么?
  [gdp]:  gdp
该单位的两字母国家代码是什么
  [CN]:  CN
CN=tomcat5.5.x, OU=jakarta, O=apache, L=hzcity, ST=gdp, C=CN 正确吗?
  [否]:  y
 
输入<tomcat>的主密码
        (如果和 keystore 密码相同,按回车):

(必须密码一致,因此直接回车)
然后再把userhome(例如:C:/Documents and Settings/lizongbo/)下的.keystore复制到
tomcat的conf/目录下。
 (例如:D:/jakarta-tomcat-5.5.x/conf/.keystore 
配置jakarta-tomcat-5.5.x/conf/server.xml
加上
    <Connector port="8443" 
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" 
           keystoreFile="conf/.keystore" 
           keystorePass="lizongbossl"> <!--与先前设置的密码一致-->
    </Connector>
8.禁止文件目录列表,
修改jakarta-tomcat-5.5.x/conf/web.xml,把listing设置为false
 
    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
        <init-param>
            <param-name>debug</param-name>
            <param-value>0</param-value>
        </init-param>
        <init-param>
            <param-name>listings</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
 
 9.指定了自己的javaEncoding
(参考 ::URL::
http://gceclub.sun.com.cn/staticcontent/html/sunone/app7/app7-dg-webapp/ch6/ch6-4.html 

    <servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
                <init-param>
            <param-name>javaEncoding</param-name>
            <param-value>GB18030</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>3</load-on-startup>
    </servlet>
 10.添加rar,iso等的mime-type映射 
避免在浏览器里直接打开。
<mime-mapping>
<extension>mht</extension>
<mime-type>text/x-mht</mime-type>
</mime-mapping>
<mime-mapping>
        <extension>rar</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>iso</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>ape</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>rmvb</extension>
        <mime-type>application/octet-stream</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>ico</extension>
        <mime-type>image/x-icon</mime-type>
    </mime-mapping>
10.1对html静态页面设置编码
<!--  修改下面两行以支持静态超文本的自动编码 
  --> 
 <mime-mapping>
  <extension>htm</extension> 
  <mime-type>text/html;charset=gb2312</mime-type> 
  </mime-mapping>
 <mime-mapping>
  <extension>html</extension> 
  <mime-type>text/html;charset=gb2312</mime-type> 
  </mime-mapping>
  </web-app>
 
11.添加welcome-file-list,并调整顺序。
 <welcome-file-list>    
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
 

原创粉丝点击