`
冷静
  • 浏览: 146924 次
  • 性别: Icon_minigender_1
  • 来自: 佛山
社区版块
存档分类
最新评论

SVN、Apache和Tomcat 整合

 
阅读更多

 

 一. 安装 subversion 

   首先安装服务端程序svn-1.4.5-setup.exe 

    和客户端程序 TortoiseSVN-1.4.5.10425-win32-svn-1.4.5.msi (是两个网站)。subversion 

在服 务器端客户端都需要安装,TortoiseSVN 只要在客户端安装就行。TortoiseSVN 的语言 

包下载和TortoiseSVN 的下载都在其官网的 同一页 

如果使用了eclipse 并且用插件的话,则可以不用TortoiseSVN。 

 

二.建立Repository   (保存文档各个版本的数据库),必须建立在服务端 

1)在服务器端建立一个空目录,比如“d:\svn\project1”。 

2 )进入dos 

3)svnadmin create --fs-type bdb d:\svn\project1 

  // svnadmin 是exe 程序,安装时已经自动加到系统路径了。 

  // 这里选择了 Berkeley Database   (BDB )方式做为版本库的类型 

  // 也可用TortoiseSVN 这个客户端工具实现创建 

  // d:\svn 是版本库的位置,也可以取别的名字,别的路径,一个版本库可以包含多个项目 

  // project1 是某个项目名称, 

 

三.在服务端配置Repository,主要的目的是控制访问权限和添加用户。 

1)打开d:\svn\project1\conf\svnserve.conf 

2 )把以下行前的#去掉,保存 

  # anon-access = read 

  # auth-access = write 

  # password-db = passwd 

3)打开d:\svn\project1\conf\passwd 文件 

4 )末尾加一行 

  xy = 1 

  保存 

  // xy 是用户名,1 是密码,自行替换 

5)多个用户就加多行 

 

四.在服务端启动 subversion 服务器。 

1)进入dos 

2 )svnserve.exe -d -r d:\svn 

3)服务启动后,在服务器端的3690 端口监听客户端的连接请求。 

4 )参数的作用是:当在客户端用“svn://xxx/project1”(xxx  可以是服务器端主机名或 ip)访问 

服务器的Repository 时, 

  服务器会知道你要访问的Repository 路径是“d:\svn\project1”。 

5)如果当我有两个完全不相干的项目要进行版本控制时,可以再建立一个空目录 

 “d:\svn\Project2”,并在其中再建立一个Repository, 

  此时客户端就可以用“svn: //xxx/project2”访问“C:\SVNProjects\Project2”下的Repository。 

6)如果想要注册为window 服务, 

  进入dos, 

  sc  create  svnservice  binpath=  "D:\Program  Files\Subversion\bin\svnserve.exe  --service  -r 

d:\svn" displayname= "SVNService" depend= Tcpip 

  // 请务必在一行内输入 

  // SVNService 是服务名,也可以替换 

  // D:\Program Files\Subversion\ 是服务器安装svn 的路径,要替换 

7)如果想注销window 服务 

  进入dos 

  sc delete SVNService 

 

五、在客户端安装eclipse 的svn 插件,安装好后几乎无需任何配置 

   在线安装方式的url 是http://subclipse.tigris.org/update 

 

六、在客户端,首先确保服务打开,打开视图,window -> show view -> other -> svn -> svn 

资源库 

   右键单击,新建->资源库位置-> svn://localhost/project1,出现一个资源库, 

   右键单击,取出为->作为新项目取出,并用向导配置。选yes 

  java->java 项目,next->finish. 

 

七、在客户端在eclipse 的左边视图项目根目录下加文件夹,加文件,然后 

   在eclipse 的左边视图的文件夹或根路径下提交,更新。(右键单击) 

   所有的操作都在 eclipse 的界面内完成,工作效率极高。比TortoiseSVN 方便, 

   注意 eclipse 的配置文件不要提交上去,就是建立eclipse 项目时会自动建立在项目文件夹 

里的两三个文件。 

   因为是“作为新项目取出”。 

 

SVN 与Apache 整合(和上面的配置没关系) 

先安装apache_2.0.63-win32-x86-no_ssl.msi 

 打开http://loccalhost,如果能出现内容,那你的Apache就安装成功了。 

运行 Subversion 安装程序,如果安装程序能够识别你已经安装了 Apache,那么你的安装基 

本上就OK 了。如果它不能(我的机器未能识别),那么你需要做以下手工配置: 

   注:如果你先安装 Apache ,再安装 Subversion ,正常情况下下面的工作(2.3                        配置 

前)Subversion 安装程序已经帮你完成了使用资源管理器,进入 Sibversion 的安装目录(通常 

为 c:\program files\Subversion),找到文件httpd/mod_dav_svn.so 和 mod_authz_svn.so,将它 

们拷贝到Apache 的modules  目录(通常为c:\program files\apache group\apache2\modules)。 

从Subversion的安装目录拷贝文件libdb43.dll到Apache的modules 目录。 

 

使 用 如 记 事 本 之 类 的 文 本 编 辑 器 编 辑 Apache                的 配 置 文 件 (  通 常 为 

c:\program files\apache group\apache2\conf\httd.conf),修改以下内容: 

 

去掉以下行的注释(将开头的#删除): 

 

#LoadModule dav_fs_module modules/mod_dav_fs.so 

#LoadModule dav_module modules/mod_dav.so 

 

在LoadModule节的最后添加以下两行: 

LoadModule dav_svn_module modules/mod_dav_svn.so 

LoadModule authz_svn_module modules/mod_authz_svn.so 

在配置文件的最后添加下面这些行: 

 

<Location /svn> 

DAV svn 

SVNParentPath D:\SVN 

AuthType Basic 

AuthName "Subversion repositories" 

AuthUserFile D:\passwd 

#AuthzSVNAccessFile D:\svnaccessfile 

Require valid-user 

</Location> 

 

配置表示:你所有的版本库将位于D:\SVN 目录下,要访问你的版本库可以使用这样的 

URL:http://YourIP/svn/,访问权限将由passwd文件中的用户名/密码来限制。 

详细说明如下: 

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

<Location /svn> 

意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库 

DAV svn 

告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块 

SVNListParentPath on 

在Subversion 1.3  及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目 

录下所有的版本库 

SVNParentPath D:\SVN 

告诉Subversion在目录D:\SVN下寻找版本库 #(修改成你自己的目录) 

AuthType Basic 

启用基本的验证,比如用户名/密码 

AuthName "Subversion repositories" 

当一个验证对话框弹出时,告诉用户这个验证是用来做什么的 

AuthUserFile D:\passwd     #(密码文件,不是文件夹哦) 

指定D:\passwd用为密码文件用来验证用户的用户名及密码 

AuthzSVNAccessFile D:\svnaccessfile 

指定D:\svnaccessfile来限定各个用户或组在版本库中目录的访问权限 

Require valid-user 

限定用户只有输入正确的用户名及密码后才能访问这个路径 

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

创建passwd文件 

打开命令行(DOS窗口CMD), 

将当前目录切换到apache2  目录(通常为c:\program files\apache group\apache2\bin), 

输入命令: 

htpasswd.exe -c passwd  username 

Automatically using MD5 format. 

New password: ******  (输入密码) 

Re-type new password: ****** 

Adding password for user  username 

copy passwd d:\   (Httpd.conf 中设定的是在D:) 

重启Apache服务。 

重启后打开http://YourIP/svn/ 输入密码后,还是出错(因为还没有建立版本库) 

Forbidden 

You don't have permission to access /svn on this server. 

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

Apache/2.0.59 (Win32) SVN/1.4.2 DAV/2 Server at 192.168.18.8 Port 80 

 (3)TortoiseSVN 

 按提示安装完成,需重启电脑 

 3.SVN项目设置 

 (1).打开资源管理器,在D:\SVN 目录下新建WWW 目录 

 (2).在WWW文件夹上右击TortoiseSVN--->Create repository here... 

  (也可以通过命令的方式:到SVN的安装BIN 目录。运行:svnadmin create D:\svn\www 

  d:\svn 目录需先建好,要不会出错: 

 svnadmin: 档案库创建失败 

 svnadmin: 无法创建最上层目录 

 (3).然后选择Native filesystem(FSFS) 

 (4).到项目文件夹上,右击TortoiseSVN-->import... 

   在URL of repository:中输入http://YourIP/svn/www 

 (5).项目成员,可在自己机上新建一个空的项目文件夹.右击SVN checkout... 

  在提示的用户名和密码对话框中输入服务端配置的用户名和密码;然后点击OK;后面对 

话框中即会显示逐个加入的文件和目录信息,最后一条显示“Completed  At Version 1”。 

  如果成功,可以在本地目录下看到相应的代码文件。选中文件或目录,可以进行 

“SVN Update” (从服务器更新版本)和“Svn Commit”          (提交更改到服务器)操作。 

 

 Apache 与Tomcat 整合 

最近,需要用到apache 和tomcat 整合,以便可以通过apache web server 访问jsp 页面和servlet。 

照着网上很多网友的帖子都没有做出来,于是只好求助 apache  的官方网站了,按照相关文 

档的说明,自己琢磨着做出来了一个。 

一、系统环境: 

  Windows XP 2002 SP2 

 

二、所需软件: 

  apache_2.0.63-win32-x86-no_ssl.msi 

  mod_jk-1.2.27-httpd-2.0.63.so 

  apache-tomcat-6.0.23.exe 

  jdk-1_5_0-windows-i586.exe 。 

 

三、准备工作: 

  在系统上安装并配置好jdk 、apache 和tomcat          (此过程略)。 

 

四、整合步骤: 

  1、将mod_jk-1.2.27-httpd-2.0.63.so 改名为mod_jk.so,然后复制到/apache-directory/modules 

目录下。改名的原因不清楚,参照apache 官方文档做的。 

  2、在httpd.conf 文件的最后加上如下指令: 

    Include conf/jk.conf 

该指令用来把外部配置文件导入httpd.conf 中。 

  3、在/apache-directory/conf 中新建jk.conf 文件,并添加如下内容: 

    #加载mod_jk 模块,以便让 apache 支持 servlet/jsp 

    LoadModule jk_module modules/mod_jk.so 

    #定义workers,mod_jk 会在指定的路径下寻找workers.properties 文件 

     JkWorkersFile conf/workers.properties 

     #指定mod_jk  日志文件,这个文件由系统自动生成 

     JkLogFile logs/mod_jk.log 

    #指定日志级别为info,日志会包含标准mod_jk 行为(默认) 

     JkLogLevel info 

     #指定日志格式 

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

     #下面这两行没弄清楚是什么作用,所以暂时先注释掉了 

     #jk1.2 Documentation  中也有说明 

     #JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 

     #JkRequestLogFormat "%w %V %T" 

    #下面两行指令用来指派URLs 到tomcat,下面还会有详细说明 

     JkMount /* ajp13 

     JkMount /*.jsp ajp13 

   4、在/apache-directory/conf 下新建workers.properties 文件,并添加如下内容: 

    workers.tomcat_home=C:\Tomcat #指定Tomcat 路径 

     workers.java_home=C:\Java\jdk1.5.0 #指定j2sdk  路径 

     ps=\ #这一行没弄清楚是什么作用 

     worker.list=ajp13 #worker 列表,一般用ajp13 

     worker.ajp13.port=8009 #端口,可以改成别的没被占用的端口 

     worker.ajp13.host=localhost #主机名 

     worker.ajp13.type=ajp13 #若使用ajp13,这两行 

     worker.ajp13.lbfactor=1 #都不用改 

   5、完成以上步骤后,启动 apache 和 tomcat 容器,就可以试验是否整合成功了,前提是 

jsp  工程要放在/tomcat-directory/webapps 下。如果想要把jsp  工程放在 apache 下,就要修改 

/tomcat-directory/conf/server.xml 文件,将<Host>元素的appBase 属性值改为和apache 配置文 

件中的documentRoot 一样就可以了。如果想要把jsp  工程放在apache 和tomcat 外部,就要 

同时修改两个配置文件apache 的httpd.conf 和tomcat 的server.xml。 

 

五、几点说明: 

  1、mod_jk 模块是 apache 出的一个工具,用来让apache web server 作为standalone server 

支持 servlet/jsp。 

  2、一个tomcat   worker 就是一个等待执行 servlet 的tomcat 实例。Apache   web   server 会将 

请求转发到worker 来运行。可以有多个worker,在workers.properties 文件中配置。 

  3、ajp13 不是随便起的worker 名,它是Apache JServ Protocol version1.3 的缩写。由于现 

在还没有关于这个协议如何工作的文档,所以也不好解释这个东西,只要知道 tomcat5.5 支 

持,而且可以作为tomcat worker 就行了。 

  4、再解释一下jk.conf 文件的最后两行。我们通常在tomcat 中运行一个jsp  文件,要在浏 

览器的地址栏中输入 

     http://localhost:8080/projectName/example.jsp 

JkMount /*.jsp ajp13 的作用就是指定访问apache web server 中的jsp  文件的URL 格式,相应 

的URL 为 

     http://localhost/projectName/example.jsp 

在tomcat 中运行一个servlet,要输入 

     http://localhost:8080/projectName/servletExample 

在apache 中相应的URL 就是 

     http://localhost/projectName/servletExample 

说到底,它和你的web 工程中的web.xml 中关于servlet URL 的设置是一样的。 

   5、显然,80 和 8080 端口已经做好了映射,apache 把 servlet/jsp 请求通过 8009 端口(在 

workers.properties 中配置)转给8009 对应的tomcat worker 处理。如果配置tomcat 集群的话, 

就要在workers.properties 中配置多个tomcat worker 了,每个worker 对应不同的端口,而且 

不能冲突,也不能被其它的服务占用。 


 

分享到:
评论

相关推荐

    apache和tomcat整合.pdf

    同时,提供的"SVN整合Apache及Eclipse.pdf"文件可能包含如何将Apache、Subversion(SVN)版本控制系统与Eclipse集成的指南,这对于开发者来说也是重要的知识,有助于在开发环境中更好地管理和协作代码。

    apache整合tomcat以及svn

    博文链接:https://xiayingjie.iteye.com/blog/176982

    apache-tomcat-8.0.50

    Apache Tomcat 8.0.50 是一个广泛使用的开源软件,它是一个实现了Java Servlet、JavaServer Pages(JSP)和Java EE的Web应用程序容器。这个版本是Tomcat 8系列的一个更新,提供了对Java 8的支持以及各种性能优化和...

    Jenkins+Maven+SVN+Tomcat持续集成实战

    Tomcat是Apache软件基金会的Java Servlet和JavaServer Pages(JSP)容器,广泛用于部署Web应用程序。在Jenkins自动化部署中,Tomcat接收由Maven构建好的应用,完成实际的线上服务。 7. Jenkins插件和邮件通知 为了...

    svn 客户端和服务端工具

    1. **Apache Subversion (Apache SVN)**:这是官方推荐的服务端实现,可以与Apache HTTP Server或Apache Tomcat集成,提供稳定和高性能的版本库托管。 2. **VisualSVN Server**:对于Windows环境,VisualSVN Server...

    java war包+tomcat+svn+pom.xml实现各开发环境自动化部署

    本文将详细介绍如何使用Java的WAR包格式,结合Apache Tomcat应用服务器,以及Subversion (SVN) 版本控制系统,通过POM.xml构建文件来实现开发环境的自动化部署。 ### 第一步:Linux配置SVN账号 1. **安装SVN**: ...

    linux下 jdk1.7,maven2.2,tomcat7,eclipse4.3整合 安装

    本文将详细介绍如何在Linux系统上安装和配置JDK 1.7、Maven 2.2、Tomcat 7以及Eclipse 4.3,形成一个完整的开发环境。 首先,我们需要准备以下软件的最新版本: 1. JDK (Java Development Kit) 1.7:Java编程的...

    CentOS下配置PHP+phpMyAdmin.pdf

    在安装phpMyAdmin之前,作者已经安装了Apache和tomcat,并且整合了svn和vsftpd。现在,作者可以使用phpMyAdmin来管理MySQL数据库了。 从这个过程中,我们可以学到安装PHP和phpMyAdmin的经验,包括如何解决常见的...

    java编程.数据库.j2ee架构与模式等电子书整合(2)

    4.apache-tomcat 5.数据库 6.web技术 7.java编程 8.基础知识 9.网络技术 10.apache-struts 11.j2ee架构与模式 12.Log4j 13.Eclipse 14.Svn 15.Xml 16.Tapestry 17.Junit 18.Ejb 19.Spring 20.Unix 21.Vss 22....

    java编程.数据库.j2ee架构与模式等电子书整合(1)

    4.apache-tomcat 5.数据库 6.web技术 7.java编程 8.基础知识 9.网络技术 10.apache-struts 11.j2ee架构与模式 12.Log4j 13.Eclipse 14.Svn 15.Xml 16.Tapestry 17.Junit 18.Ejb 19.Spring 20.Unix 21.Vss 22....

    持续集成环境maven+nexus+jenkins+svn搭建[整理].pdf

    以上步骤详细介绍了如何整合Maven、Nexus、Jenkins和SVN,构建一个完整的持续集成环境。这个环境可以帮助团队高效地管理代码,自动化构建过程,及时发现和修复问题,提高软件质量。通过持续集成,开发流程变得更加...

    jenkins实现maven项目自动部署到tomcat .rar

    Maven是Apache项目下的一个工具,主要用于管理和构建Java项目。它通过POM(Project Object Model)文件来管理项目依赖,自动化构建过程,包括编译、测试、打包、部署等。 **三、Jenkins与Maven的整合** 1. **安装...

    SMM 三大框架详细教程,Spring,SpingMVC,MyBatis

    下面,我们将讨论如何搭建开发环境,包括 JDK 的安装、MyEclipse 的安装、Tomcat 的安装、MAVEN 的安装和 SVN 的安装。 开发环境搭建 1. JDK 的安装 首先,我们需要下载 JDK,从 sun 公司官网可以下载,根据自己...

    Struts+Spring+Hibernate整合注册登录_好资源0分送

    - **Tomcat 6.0**:是Apache软件基金会的开源Servlet容器,用于部署和运行Java Web应用程序。 - **MySQL 5.0**:关系型数据库管理系统,用于存储用户信息。 - **SVN**:版本控制系统,用于代码管理和协同开发。 ...

    ECLIPSE+WEB开发配置

    本篇文章将深入探讨如何使用Eclipse进行Web应用程序的开发,并结合其他关键工具如Tomcat、Ant、JBoss、SVN和Maven,创建一个高效的工作流程。 首先,Eclipse+Tomcat的配置是许多Web开发者的基础。Tomcat是一个轻量...

    JAVA人士的个人简历.doc

    此外,他能运用Apache和Tomcat服务器,以及MyEclipse、Eclipse、SVN、Photoshop和Illustrator等开发工具。他对Struts2、Spring、Hibernate、DBCP和Log4j等开源项目有深入理解,能整合使用三大框架。 【项目经验】...

    Jenkins1.6+文档

    本文档主要涵盖了Jenkins的基础搭建过程,后续将逐步介绍如何与FTP服务器、Tomcat应用服务器进行整合,以及详细的部署步骤。 首先,我们从基础开始。安装Jenkins通常有两种方式:一种是通过下载war文件直接在Java...

Global site tag (gtag.js) - Google Analytics