`
chenzugang
  • 浏览: 11067 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Installing Subversion on Fedora8

阅读更多
参考文档:Installing Subversion on Fedora Core

原以为通过参考文档可以搭建起来SVN服务器,没想到还是有些不同。

1、安装subversion、mod_dav_svn,subversion在fedora8中已经安装了,mod_dav_svn是svn的apache模块。
# yum install subversion
# yum install mod_dav_svn


2、创建代码仓库、访问用户、访问许可文件夹
# mkdir /svn
# mkdir /svn/repos
# mkdir /svn/users
# mkdir /svn/permissions


3、更改上述文件夹的访问权限,以便apache可以操作
# chown -R apache.apache /svn


4、利用subversion命令为具体的项目创建代码仓库。如项目为mydemo
# svnadmin create /svn/repos/mydemo


5、为访问subversion创建配置文件,主要用于关闭匿名访问、指定密码文件和访问域等项目。
vi /svn/repos/conf/svnserve.conf

以下代码为svnserve.conf的内容
non-access = none
password-db = pwdfile
realm = chenzugang.name
auth-access = write


6、创建用户、密码对配置文件。文件名为上一步所指定的password-db项。
vi pwdfile

pwdfile的内容格式如下:
[users]
username = password


7、至此,subversion已经配置完毕,可以启动服务了。
# svnserve -d --listen-port=3690

具体的启动参数可以查看文档。停止subversion服务的命令只有杀死进程一条路(参考文献如是说)如下
killall svnserve


8、如果您没手停止subversion服务,另找一台机器,通过svn命令行以您在pwdfile中建立的用户访问一下您的svn服务,检查是否正常。命令如下
svn co --username=myusername  svn://mydomain/svn/repos/mydemo
其中,mydomian为您svn服务器的IP或域名,如果正常,结果为:
取出版本 0。
之所以为0,是因为都是空的。

9、下面开始配置apache,使得web方式能访问代码库,就是这部分,和参考文档不同,搞的我花了一些时间,而且google之,没有一个管事,后来仔细分析了apache的配置习惯,才猜出来的。
编辑文档subversion.conf。
vi /etc/httpd/conf.d/subversion.conf

这个文档已经存在,因为您安装了mod_dav_svn,他会生成一个默认文档。我机器上默认文档大致如下,之所以是大致,是几经修改,已记不得原始的文档了:


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

#
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn".  Each repository
# must be readable and writable by the 'apache' user.  Note that if
# SELinux is enabled, the repositories must be labelled with a context
# which httpd can write to; this will happen by default for
# directories created in /var/www.  Use "restorecon -R /var/www/svn"
# to label the repositories if upgrading from a previous release.
#

#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
#   # cd /var/www/svn
#   # svnadmin create stuff
#   # chown -R apache.apache stuff
#
#

#<Location /repos>
#  DAV svn
#  SVNParentPath /svn

#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "xxxxxx"
#      AuthUserFile /svn/users/svnpass
#      Require valid-user
#   </LimitExcept>
</Location>

因该修改为如下:


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

#
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn".  Each repository
# must be readable and writable by the 'apache' user.  Note that if
# SELinux is enabled, the repositories must be labelled with a context
# which httpd can write to; this will happen by default for
# directories created in /var/www.  Use "restorecon -R /var/www/svn"
# to label the repositories if upgrading from a previous release.
#

#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
#   # cd /var/www/svn
#   # svnadmin create stuff
#   # chown -R apache.apache stuff
#

<Location /svn>
   DAV svn
   SVNListParentPath on
   SVNParentPath /svn/repos
#   SVNPath /svn/repos
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "chenzugang.name"
      AuthUserFile /svn/users/svnpass
      Require valid-user
#   </LimitExcept>
</Location>



其中一个关键的参数为
AuthUserFile /svn/users/svnpass
这个是web访问认证的用户身份信息文件。需要创建。创建方法如下,使用htpasswd命令。这个文件中的用户密码是否要与/svn/repos/conf/pwdfile里的用户密码对应,我目前还不清楚,下次再补上
htpasswd -cb /svn/users/svnpass username password


还需要创建一个svn访问读写权限的配置文件。svnauthz.conf
vi /svn/permissions/svnauthz.conf

该文件类容如下:
[/]
username1 = r
username2 = rw

r代表read,w当然就是write啰。

至此,一些于apache相关的配置文件已经完成。
修改SELINUX权限(注:在SELINUX中,安全性得到了加强。若不进行这样的修改,客户端访问时就会报错“Could not open the requested SVN filesystem.”),修改的命令如下:
# chcon -R -h -u system_u -t httpd_sys_content_t /svn/repos

剩下的就是让apache重新装载一下配置文件。命令如下:
service httpd reload

打开浏览器,输入项目代码库地址
http://localhost/svn/mydemo

反正我的是搞定了。你的搞定了没有?
分享到:
评论

相关推荐

    linux subversion以及依赖的apche apr

    8. 创建Subversion仓库并初始化。 9. 配置权限和认证。 了解这些知识后,你可以根据提供的资源在Linux系统上安装和配置Subversion,从而实现高效的文件版本控制和协作。不过,安装过程可能会因系统环境不同而略有...

    Installing RAC on AIX

    本篇将基于提供的文档摘要,深入解析安装Oracle RAC on AIX的关键步骤与注意事项,为读者提供一份详尽的操作指南。 ### 安装准备阶段 #### 1. 下载并解压安装介质 首先,需要从Oracle官方网站的edelivery服务下载...

    Microsoft Windows 2000 Scripting Guide - Installing Software on a Remote Computer

    Microsoft Windows 2000 Scripting Guide - Installing Software on a Remote Computer

    Installing Your Driver on Windows Millennium

    Installing Your Driver on Windows Millennium INF File Guide

    \Installing RAC on AIX 001.pdf

    根据提供的文档信息,本文将详细解析安装 Oracle RAC (Real Application Clusters) 在 AIX 操作系统上的步骤、注意事项及关键技术点。 ### 安装前准备 #### 下载安装介质与补丁集 ... - 示例文件包括:`B24442-01_1...

    Installing MIUI on Meizu MX2

    在IT领域,将一款设备刷入不同的操作系统或定制ROM是一种常见的技术操作,它允许用户根据个人喜好和需求自定义手机的界面与功能。本篇内容将深入解析如何在魅族MX2上安装MIUI系统,这是一项对于Android发烧友而言极...

    installing samba on ubuntu

    面是我在Ubuntu6.06 LTS 下源码编译安装samba主要安装过程,本人第一次用Ubuntu,刚装上去时候,没有gcc编译环境。郁闷了半天。找出这一过程发了不少的时间。可能还有些不妥,不过我经过这样的安装达到了向windows共享...

    Installing Activ Test on Your PC

    1. **操作系统**:本文档基于Windows 7系统编写,但其他版本的Windows系统(如Windows 8、Windows 10等)也可以参考此文档进行操作。 2. **互联网连接**:由于Activ Test的评估测试需要在线进行,因此您需要具备宽带...

    anaconda安装 - Installing Anaconda on Ubuntu

    ### 安装Anaconda在Ubuntu上的详细步骤及关键知识点 #### 一、Anaconda简介 Anaconda是一款非常受欢迎的数据科学平台,它集成了Python或R语言环境中的许多库和工具,便于用户进行数据处理、科学计算、机器学习等...

    MySQL V5.5帮助文档

    2.4.1. General Notes on Installing MySQL on Mac OS X 2.4.2. Installing MySQL on Mac OS X Using Native Packages 2.4.3. Installing the MySQL Startup Item 2.4.4. Installing and Using the MySQL Preference...

    Requirements For Installing Oracle10gR2 On RHEL 5&OEL 5 (x86_64)

    - 必须运行2.6.18-8或更高版本的内核。 - 可通过命令`uname -r`来查看当前系统的内核版本。 2. **SELinux** - 由于Oracle数据库内部的一些Bug(如Bug 6140224和Bug 6079461),在RHEL/OEL 5上使用Oracle 10g R2...

    Installing Configuring Alfresco ECM 3.1

    - **Installing the Alfresco Tomcat bundle on Linux**:对于 Linux 平台,同样提供了仅安装 Alfresco 和 Tomcat 的捆绑包的方法。 - **Installing Alfresco on Mac (full installation)**:Mac 用户的完整安装指南...

    Installing Oracle Database 11g on Linux

    8. **验证安装**: 通过`sqlplus / as sysdba`进入SQL*Plus,然后运行`startup`命令启动数据库。接着,你可以执行一些基本的SQL查询来确认数据库正在运行。 9. **维护和优化**: 安装完成后,了解如何进行数据库...

    installing oracle9i on redhat linux.rar

    从压缩包文件`Installing Oracle9i on RedHat Linux 7_2, 7_3, 8_0, 9, AS 2_1, 3_0 (Red Hat Enterprise Advanced Server 3 - RHEL AS 3) (Oracle database installation, install Oracle software).htm`中,我们...

    Installing STLinux on Ubuntu

    ### 安装STLinux在Ubuntu上的关键步骤与挑战 #### 概览 本文将深入探讨在Ubuntu上安装STLinux的全过程,重点解析由于包管理系统的差异而带来的挑战及其解决方案。对于那些希望在Ubuntu环境中利用STLinux强大功能的...

    fedora14 安装opencv2.3.1

    8. **更新环境变量:** ```bash source /etc/bashrc ``` #### 六、更新系统库缓存 为了使系统能够正确加载新的库文件,需要更新系统的库缓存。 **命令行操作:** ```bash ldconfig ``` #### 七、验证安装...

    Wiley.Publishing.Fedora.Linux.Toolbox.1000+.Commands.for.Fedora.CentOS.and.Red.Hat.Power.Users.and.Red.Hat.Power.Users.2008.pdf

    #### Chapter 2: Installing Fedora and Adding Software This chapter delves into the installation process of Fedora and how to manage software packages. Important points covered include: - **...

    Installing Oracle 10G On Linux

    在本文中,我们将深入探讨如何在Linux环境下安装Oracle 10G数据库系统。Oracle 10G是一款功能强大的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。Linux作为开源且稳定的操作系统,是部署Oracle数据库的...

Global site tag (gtag.js) - Google Analytics