参考文档:
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
反正我的是搞定了。你的搞定了没有?
分享到:
相关推荐
8. 创建Subversion仓库并初始化。 9. 配置权限和认证。 了解这些知识后,你可以根据提供的资源在Linux系统上安装和配置Subversion,从而实现高效的文件版本控制和协作。不过,安装过程可能会因系统环境不同而略有...
本篇将基于提供的文档摘要,深入解析安装Oracle RAC on AIX的关键步骤与注意事项,为读者提供一份详尽的操作指南。 ### 安装准备阶段 #### 1. 下载并解压安装介质 首先,需要从Oracle官方网站的edelivery服务下载...
Microsoft Windows 2000 Scripting Guide - Installing Software on a Remote Computer
Installing Your Driver on Windows Millennium INF File Guide
根据提供的文档信息,本文将详细解析安装 Oracle RAC (Real Application Clusters) 在 AIX 操作系统上的步骤、注意事项及关键技术点。 ### 安装前准备 #### 下载安装介质与补丁集 ... - 示例文件包括:`B24442-01_1...
在IT领域,将一款设备刷入不同的操作系统或定制ROM是一种常见的技术操作,它允许用户根据个人喜好和需求自定义手机的界面与功能。本篇内容将深入解析如何在魅族MX2上安装MIUI系统,这是一项对于Android发烧友而言极...
面是我在Ubuntu6.06 LTS 下源码编译安装samba主要安装过程,本人第一次用Ubuntu,刚装上去时候,没有gcc编译环境。郁闷了半天。找出这一过程发了不少的时间。可能还有些不妥,不过我经过这样的安装达到了向windows共享...
1. **操作系统**:本文档基于Windows 7系统编写,但其他版本的Windows系统(如Windows 8、Windows 10等)也可以参考此文档进行操作。 2. **互联网连接**:由于Activ Test的评估测试需要在线进行,因此您需要具备宽带...
### 安装Anaconda在Ubuntu上的详细步骤及关键知识点 #### 一、Anaconda简介 Anaconda是一款非常受欢迎的数据科学平台,它集成了Python或R语言环境中的许多库和工具,便于用户进行数据处理、科学计算、机器学习等...
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...
- 必须运行2.6.18-8或更高版本的内核。 - 可通过命令`uname -r`来查看当前系统的内核版本。 2. **SELinux** - 由于Oracle数据库内部的一些Bug(如Bug 6140224和Bug 6079461),在RHEL/OEL 5上使用Oracle 10g R2...
- **Installing the Alfresco Tomcat bundle on Linux**:对于 Linux 平台,同样提供了仅安装 Alfresco 和 Tomcat 的捆绑包的方法。 - **Installing Alfresco on Mac (full installation)**:Mac 用户的完整安装指南...
8. **验证安装**: 通过`sqlplus / as sysdba`进入SQL*Plus,然后运行`startup`命令启动数据库。接着,你可以执行一些基本的SQL查询来确认数据库正在运行。 9. **维护和优化**: 安装完成后,了解如何进行数据库...
从压缩包文件`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`中,我们...
### 安装STLinux在Ubuntu上的关键步骤与挑战 #### 概览 本文将深入探讨在Ubuntu上安装STLinux的全过程,重点解析由于包管理系统的差异而带来的挑战及其解决方案。对于那些希望在Ubuntu环境中利用STLinux强大功能的...
8. **更新环境变量:** ```bash source /etc/bashrc ``` #### 六、更新系统库缓存 为了使系统能够正确加载新的库文件,需要更新系统的库缓存。 **命令行操作:** ```bash ldconfig ``` #### 七、验证安装...
#### 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: - **...
在本文中,我们将深入探讨如何在Linux环境下安装Oracle 10G数据库系统。Oracle 10G是一款功能强大的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。Linux作为开源且稳定的操作系统,是部署Oracle数据库的...