`
java_my_life
  • 浏览: 261067 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ubuntu下搭建 apache + subversion 服务器

 
阅读更多

一、准备好安装包:

apr-1.4.5.tar.gz    下载地址:http://apr.apache.org/

②apr-util-1.4.1.tar.gz

③subversion-1.6.17.tar.gz  下载地址: http://subversion.tigris.org/

④subversion-deps-1.6.17.tar.gz

⑤httpd-2.2.22.tar.gz 下载地址:http://httpd.apache.org/

二、开始安装:

将上面所有要的安装包放到/home目录下,然后进入该目录

1.安装apr

tar zxvf  apr-1.4.5.tar.gz #解压包
cd apr-1.3.6
 ./configure
 make
 make install

 2、安装apr-uti

tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1.tar.gz
./configure --with-apr=/usr/local/apr
make
make install

 3、安装 apache

tar zxvf httpd-2.2.22.tar.gz
cd httpd-2.2.22

./configure --prefix=/usr/local/apache2 --enable-so --enable-dav --enable-dav=shared 
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

make
make install

 4、安装subversion

tar zxvf  subversion-1.6.17.tar.gz
tar zxvf  subversion-deps-1.6.17.tar.gz 
cd subversion-1.6.17
./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion 
make
make install

 注意:

        在./configure的时候可能会报如下错误信息:

      1.configure: error: no XML parser was found: expat or libxml 2.x required

       原因是缺少libxml2库,安装libxml2库就可以解决:

     apt-get install libxml2 libxml2-dev expat

      2.configure: error: We require OpenSSL; try --with-openssl

      原因是没有安装openssl,安装openssl就可以解决:

      sudo apt-get install openssl
      sudo apt-get install libssl-dev

       其他可能出现的错误信息:

       make: *** [subversion/svn /svn ] 错误 1

       原因是缺少expat开发库,安装即可:

       apt-get install libexpat-dev

 

至此,安装基本完毕,再配置下就可以使用了。


三、在apache中配置SVN

1.确认是否安装成功

到/usr/local/apache2/modules目录下查看是否存在以下四个文件:

httpd.exp、mod_authz_svn.so、mod_dav.so、mod_dav_svn.so

打开/usr/local/apache2/conf/httpd.conf文件,查看是否存在如下三句话,如不存在则手动添加:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

2.创建库文件所在的目录

mkdir /home/svn

3.进入subversion的bin目录

cd /usr/local/subversion/bin

4.创建仓库"test"

./svnadmin create /home/svn/test

5.建立本地访问控制文件

mkdir /home/svn/conf
/usr/local/apache2/bin/htpasswd -c /home/svn/conf/passwd.conf  username

    然后输入密码即可,默认是MD5加密的。

    第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加。

/usr/local/apache2/bin/htpasswd /home/svn/conf/passwd.conf  bao

    再添加一个测试用户。

6.建立本地项目控制文件

touch /home/svn/conf/authz.conf

    本例authz.conf内容为:

[test:/] //这表示,仓库test的根目录下的访问权限
   username = rw //test仓库username用户具有读和写权限
   #bao = r //test仓库bao用户具有读权限
[/] //这个表示在所有仓库的根目录下
   * = r //这个表示对所有的用户都具有读权限
#[groups] //这个表示群组设置
   #svn1-developers = username , bao //这个表示某群组里的成员
   #svn2-developers = username
#[svn1:/] 
   #@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置

    注意:配置authz.conf时最好去掉后面的注释,防止出现问题。

 

7.定义apache访问svn配置

 编辑/usr/local/apache2/conf/httpd.conf文件,在最下方添加如下信息

<Location /svn>
              DAV  svn

	      	#svn父目录
              SVNParentPath /home/svn
		#权限配置文件
              AuthzSVNAccessFile /home/svn/conf/authz.conf
		#连接类型设置 
              AuthType Basic    
		#连接框提示
              AuthName "Subversion repository"    
		#用户配置文件
              AuthUserFile /home/svn/conf/passwd.conf  
		#采用何种认证
              Require valid-user 
</Location>

 至此,整个安装过程完成了!

 

四、测试连接

1.启动apache

/usr/local/apache2/bin/apachectl start

 2.打开浏览器,输入http://localhost/svn/test

    使用刚才创建的权限用户名与密码登录即可访问

 

注意:在你上传文件的时候可能会有如下权限不足的提示

      Permission denied
      svn: Commit failed (details follow):
      svn: Can't create directory '/home/svn/db/transactions/0-1.txn': Permission denied

      这是因为apache在线程用户没有权限访问svn的仓库,两者分别属于不同的用户者

      本例apache属于daemon拥有者,而svn仓库属于svn拥有者

      解决方法:

      chown -R daemon /home/svn

      chmod -R 755 /home/svn

    

       重启下apache:

       /usr/local/apache2.2.9/bin/apachectl  restart

 

 

备注:如果需要导入Ldap的模块则需要先安装OpenLdap工程,apache配置如下:


./configure --prefix=/usr/local/apache2 --enable-so --enable-authnz-ldap=shared --enable-ldap=shared --enable-mods-shared=all --with-ldap --with-ldap-lib=/usr/local/openldap/lib --with-ldap-include=/usr/local/openldap/include/

apache httpd.conf需要导入模块

LoadModule dav_module         modules/mod_dav.so
LoadModule dav_fs_module      modules/mod_dav_fs.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
LoadModule ldap_module        modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule authz_user_module  modules/mod_authz_user.so

 

ldap 在httpd.conf中的配置,在httpd.conf最下方添加

<Location /svn/>  
  DAV svn  
  
  SVNParentPath /home/svn/  
  
  AuthBasicProvider ldap  
  AuthzLDAPAuthoritative on  
  AuthName "ssSubversion Repository"  
  
  AuthLDAPBindDN "utsadmin@itrus.ac.com"  
  AuthLDAPBindPassword password

  AuthLDAPURL ldap://192.168.30.25:389/DC=itrus,DC=ac,DC=com?sAMAccountName?sub?(objectClass=*)

  AuthType Basic

  # Require valid-user
  Require valid-user
  
</Location>
分享到:
评论

相关推荐

    ubuntu linux 配置svn+apache+ssl

    在Ubuntu环境下搭建SVN(Subversion)服务器,结合Apache HTTP服务器和SSL(Secure Sockets Layer)加密,能够实现安全的版本控制系统,并通过HTTPS协议进行访问。Apache的用户认证管理确保了权限控制,而authz配置...

    Ubuntu+svn+ssl+ldap

    【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...

    Ubuntu 18.04 LTS 搭建SVN服务器

    在Ubuntu 18 LTS环境中,搭建一个简单apache2+subversion的版本控制。

    Ubuntu上搭建SVN服务器全攻略

    本文旨在详细介绍如何在Ubuntu环境下搭建SVN(Subversion)服务器,并结合Apache服务器以及SSL加密技术,实现安全、高效的版本控制服务。通过HTTPS协议访问SVN服务器,确保数据传输的安全性;同时,采用基于Apache的...

    Linux下java web服务器搭建(jdk6 apache+2Tomcat6+svn).doc

    【Linux下Java Web服务器搭建(JDK6 + Apache + 2个Tomcat + SVN)】 在Linux环境下构建Java Web服务器通常涉及到多个组件的安装与配置,主要包括Java开发工具包(JDK)、Apache HTTP服务器、Tomcat应用服务器以及...

    Ubuntu上搭建SVN服务器全攻略.docx

    本文将详细介绍 Ubuntu 环境下搭建 SVN 服务器的过程,包括安装 Ubuntu 服务器、安装 Apache 服务器、创建 SVN 服务器、配置 Apache 服务器、设置 SVN 权限等步骤。 标题:Ubuntu 上搭建 SVN 服务器全攻略 描述:...

    ubuntu16 下搭建svn服务器

    在Ubuntu 16.04 LTS环境下搭建Subversion(SVN)服务器的完整步骤如下: 1. 安装SVN 首先,需要使用APT包管理器安装SVN服务。打开终端,输入以下命令: ``` sudo apt-get install subversion ``` 2. 安装Apache2 ...

    ubuntu下svn服务器的搭建

    在Ubuntu系统中搭建SVN(Subversion)服务器是一项常见的任务,尤其对于软件开发团队来说,SVN是一个必备的版本控制系统,用于管理代码库。本文将详细介绍如何在Ubuntu上配置和运行一个SVN服务器。 首先,我们需要...

    Ubuntu上搭建SVN服务器全攻略.pdf

    本篇指南主要介绍了如何在Ubuntu 8.10操作系统上搭建一个基于Apache服务器、支持SSL安全连接的Subversion(SVN)版本控制系统。通过这个系统,开发者可以通过HTTPS协议安全地访问和管理代码仓库,实现团队协作和版本...

    Ubuntu下配置svn服务器

    本文将详细介绍如何在Ubuntu环境下搭建并配置SVN服务器。 #### 二、环境准备 首先确保你的Ubuntu系统是最新的,并安装了必要的软件包。可以通过以下命令更新系统: ```bash sudo apt-get update sudo apt-get ...

    https+linux+svn服务器搭建指导书.docx

    这里我们将以一种常见的发行版为例,例如Ubuntu 20.04 LTS,它稳定且支持长期更新,适合搭建服务器环境。 接着,我们需要安装一些必要的工具。在开始搭建之前,请确保系统已经更新到最新版本,并安装了`apt`或`yum`...

    ubuntu下简单安装svn服务器

    在Linux下,SVN服务器的搭建主要有两种方式:使用svnserve和apache。svnserve是一种更为轻量级的服务器方式,通常用于小型项目或内部项目,而apache方式则相对复杂,适用于大型项目或公共访问项目。 安装过程首先从...

    Ubuntu 10.04上搭建SVN服务器全攻略

    在Ubuntu 10.04上搭建SVN服务器是一个涉及多步骤的过程,主要涉及软件安装、用户和组管理、SVN仓库创建以及Apache服务器配置。以下是对这些知识点的详细解释: 1. **软件安装**: 首先,你需要安装Subversion(SVN...

    Ubuntu下构架高可用SVN服务器及操作命令

    在Ubuntu操作系统中构建高可用性的SVN(Subversion)服务器是一项关键任务,特别是对于需要持续稳定版本控制的企业或团队。Subversion是一个集中式的版本控制系统,用于管理软件项目的源代码和其他内容,确保团队...

    linux下subverion服务器搭建

    总的来说,Linux上的Subversion服务器搭建涉及安装、配置SVN和Apache,创建仓库,设置认证和权限,这些步骤为团队提供了高效且安全的代码版本控制解决方案。通过不断优化和调整,你可以构建一个满足项目需求的定制化...

    ubuntu下SVN服务器安装配置

    ### Ubuntu 下 SVN 服务器安装与配置详解 #### 一、SVN 安装与基本配置 在 Ubuntu 系统上安装并配置 Subversion (SVN) 服务器是一种常见的需求,尤其是对于那些希望在本地网络环境中进行版本控制的团队来说。下面...

    subversion-1.6.1.tar.gz

    Subversion(简称svn)是一个广泛使用的版本控制系统,用于管理和跟踪文件和目录的...虽然这需要一定的Linux和Subversion知识,但通过学习和实践,你可以搭建起自己的Subversion服务器,实现高效的团队协作和版本管理。

    subversion

    总的来说,Subversion 服务器的搭建和管理是一项关键任务,它确保了团队成员能够安全、高效地协同工作,同时保持代码的历史记录和版本控制。了解和熟练掌握 Subversion 的配置和使用,对于任何软件开发团队来说都是...

    openacs的搭建方法

    本指南将详细介绍如何在Windows环境下搭建OpenACS服务器。 1. **准备工作** 在开始搭建OpenACS之前,我们需要准备以下组件: - **Apache Ant**:Ant是一个Java构建工具,用于编译OpenACS源代码。下载Apache Ant ...

Global site tag (gtag.js) - Google Analytics