`
komei
  • 浏览: 89106 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SVN

阅读更多

sudo apt-get install subversion libapache2-svn

sudo svnadmin create /svn

 

$ sudo chown -R root:subversion svn

$ sudo chmod -R g+rws svn

 

 

sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
# dav_svn.conf - Example Subversion/Apache configuration
#
# For details and further options see the Apache user manual and
# the Subversion book.
#
# NOTE: for a setup with multiple vhosts, you will want to do this
# configuration in /etc/apache2/sites-available/*, not here.

# <Location URL> ... </Location>
# URL controls how the repository appears to the outside world.
# In this example clients access the repository as http://hostname/svn/
# Note, a literal /svn should NOT exist in your document root.
  <Location /svn>

  # Uncomment this to enable the repository
  DAV svn

  # Set this to the path to your repository
  SVNParentPath /svn
  # Alternatively, use SVNParentPath if you have multiple repositories under
  # under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).
  # You need either SVNPath and SVNParentPath, but not both.
  #SVNParentPath /svn

  # Access control is done at 3 levels: (1) Apache authentication, via
  # any of several methods.  A "Basic Auth" section is commented out
  # below.  (2) Apache <Limit> and <LimitExcept>, also commented out
  # below.  (3) mod_authz_svn is a svn-specific authorization module
  # which offers fine-grained read/write access control for paths
  # within a repository.  (The first two layers are coarse-grained; you
  # can only enable/disable access to an entire repository.)  Note that
  # mod_authz_svn is noticeably slower than the other two layers, so if
  # you don't need the fine-grained control, don't configure it.

  # Basic Authentication is repository-wide.  It is not secure unless
  # you are using https.  See the 'htpasswd' command to create and
  # manage the password file - and the documentation for the
  # 'auth_basic' and 'authn_file' modules, which you will need for this
  # (enable them with 'a2enmod').
   AuthType Basic
    AuthName "Subversion Repository"
    #AuthUserFile /etc/apache2/dav_svn.passwd
    AuthUserFile /svn/svn1/conf/passwd
  # To enable authorization via mod_authz_svn
  # AuthzSVNAccessFile /etc/apache2/dav_svn.authz
  #  AuthzSVNAccessFile /svn/svn1/conf/authz


  # The following three lines allow anonymous read, but make
  # committers authenticate themselves.  It requires the 'authz_user'
  # module (enable it with 'a2enmod').
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>

</Location>

 

The DAV line needs to be uncommented to enable the dav module

# Uncomment this to enable the repository,
DAV svn

The SVNPath line should be set to the same place your created the repository with the svnadmin command.

# Set this to the path to your repository
SVNPath /svn

The next section will let you turn on authentication. This is just basic authentication, so don't consider it extremely secure. The password file will be located where the AuthUserFile setting sets it to…  probably best to leave it at the default.

# Uncomment the following 3 lines to enable Basic Authentication
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd

To create a user on the repository use, the following command:

sudo htpasswd2 -cm /etc/apache2/dav_svn.passwd geek
New password:
Re-type new password:
Adding password for user geek

This installs the apache2-mpm-worker package, which is now preferred over the older apache2-mpm-prefork
apt-get install apache2 apache2-doc file lynx

sudo /etc/init.d/apache2 restart

svn co
svn ci

svn update

If you want to add new files to the repository::

svn add [filename]

To get a status of which files have changed::

svn stat
SubVersion for local repositories




Ubuntu feisty中的apache2安装包有BUG,安装后缺少apache2-ssl-certificate命令,这样如果我们要启用apache的ssl服务,就生成不了站点证书
可以通过自己编译apache2源码来安装,安装方法如下:
wget http://librarian.launchpad.net/6917265/files.tar
tar xvf files.tar

然后安装Apache2 deb源代码及相关编译依赖包,然后编译安装apache2:

sudo apt-get build-dep apache2
sudo apt-get source -d apache2
dpkg-source -x apache2_2.2.3-3.2build1.dsc
cd apache2-2.2.3
fakeroot debian/rules binary(如果没有安装fakeroot,请先安装)
sudo dpkg -i ../*.deb(您也可以选择性的安装您需要的Apache2 deb包)

如果您不愿自己编译,可以到这里下载编译好的Apache2 Deb包。

这样安装的apache2包含完整的工具,下面我们来配置Apache2 ssl支持:

先生成站点证书:

sudo apache2-ssl-certificate -days 365

接着启用Apache2 的ssl模块:

sudo a2enmod ssl

增加ssl端口443监听:

echo "Listen 443" | sudo tee -a /etc/apache2/ports.conf

创建并启用ssl站点:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
sudo gedit /etc/apache2/sites-available/ssl

修改其内容,设定对应端口,启用ssl,指定站点证书文件位置等,修改后类似如下:

NameVirtualHost *:443
 *:443>
        ServerAdmin webmaster@localhost
 
        SSLEngine On
        SSLCertificateFile /etc/apache2/ssl/apache.pem
 
        DocumentRoot /var/www/
         />
                Options FollowSymLinks
                AllowOverride None
        >
 
         /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                # This directive allows us to have apache2's default start page
                # in /apache2-default/, but still have / go to the right place
                # Commented out for Ubuntu
                #RedirectMatch ^/$ /apache2-default/
        >
 
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
         "/usr/lib/cgi-bin">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        >
 
        ErrorLog /var/log/apache2/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog /var/log/apache2/access.log combined
        ServerSignature On
 
    Alias /doc/ "/usr/share/doc/"
     "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    >
 
>

修改default站点配置,指定其端口为80:

sudo gedit /etc/apache2/sites-available/default

将其内容前面两行修改为:

NameVirtualHost *:80
80>

然后启用上面配置的ssl站点:

sudo a2ensite ssl

启动Apache2:

sudo /etc/init.d/apache2 start

大功告成,现在您可以使用https://127.0.0.1测试服务是否正常启动,也可以使用以下命令查看apache ssl服务是否启动:

netstat -na|grep :443

正常的话您应该可以看到如下的输入:

tcp6       0      0 :::443                  :::*                    LISTEN
建立控制用户访问权限的文件svn-access-filename
 [svn1:/]               //这表示,仓库svn1的根目录下的访问权限
 harry = rw             // svn1仓库harry用户具有读和写权限
 sally = r               // svn1仓库sally用户具有读权限
 [svn2:/]               //svn2仓库根目录下的访问权限
 harry = r               // harry用户在svn2仓库根目录下只有读权限
 sally =               // sally用户在 svn2仓库根目录下无任何权限
 [svn2:/src]           //svn2仓库下src目录的访问权限
 harry=rw            
 sally=r
 [/]                  // 这个表示在所有仓库的根目录下
 * = r               // 这个表示对所有的用户都具有读权限
 [groups]               // 这个表示群组设置
 svn1-developers = harry, sally           // 这个表示某群组里的成员
 svn2-developers = sally
 [svn1:/]           
 @svn1-developers = rw       // 如果在前面加上@符号,则表示这是个群组权限设置
 
然后修改httpd.conf配置:
<Location /svn>
DAV svn
SVNParentPath /svn
AuthType Basic
AuthName “Subversion repository”
AuthUserFile /svn-auth-filename (保存用户名和密码)
Require valid-user
AuthzSVNAccessFile /svn-access-filename(保存用户访问的权限策略)
</Location>

分享到:
评论
1 楼 komei 2007-10-12  
### This file is an example authorization file for svnserve.

### Its format is identical to that of mod_authz_svn authorization

### files.

### As shown below each section defines authorizations for the path and

### (optional) repository specified by the section name.

### The authorizations follow. An authorization line can refer to a

### single user, to a group of users defined in a special [groups]

### section, or to anyone using the '*' wildcard.  Each definition can

### grant read ('r') access, read-write ('rw') access, or no access

### ('').



[groups]

tech = yapex, rael, kenjo, cludezhu, harry, tatsuya, scotthu, andyyang, joklong, kentzhong, karmaho, terryzhou, rogerwang, tendyhu

admin = yapex, kenjo, terryzhou

opal = rael, terryzhou, tendyhu

dcts = cludezhu, harry, tatsuya, scotthu, rogerwang, andyyang, tendyhu

eai = joklong, kentzhong, karmaho, tonyshen, simmenchen, sookywu, niconi, jimmywang

guests = druid, guest



[/]

@tech = r

@admin = rw



[lapgo:/]

@opal = rw



[opal-sdk:/]

@opal = rw

@guests = r



[opal-sdk-tiger:/]

@opal = rw



[opal-dcms3:/]

@opal = rw

@guests = r



[opal-migration:/]

@opal = rw



[opal-workspace:/]

@opal = rw



[opal-resource:/]

@opal = rw



[opal-todo:/]

@opal = rw



[opal-arena:/]

@opal = rw



[opal-eai4:/]

@opal = rw



[opal-eclipse-plugins:/]

@opal = rw



[oval-framework:/]

@opal = rw



[oval-workflow:/]

@opal = rw



[oval-codeshop:/]

@opal = rw



[maven-hsql-plugin:/]

@opal = rw



[com.oval.research:/]

@opal = rw

@guests = r



[maven-opal-plugin:/]

@opal = rw



[dcts:/]

@dcts = rw

@guests = r



[jfashion:/]

@dcts = rw



[blitz:/]

@dcts = r



[loto:/]

@dcts = r



[eai:/]

@eai = rw

相关推荐

    centos 7.9服务器 离线 搭建svn服务器

    centos 7.9服务器 离线 搭建svn服务器 ,该文章适用于 开发人员 实施人员 项目经理用于项目文档管理 代码管理,而不指定如何在centos7.9环境下离线搭建svn服务器,因为大多数的网站只是介绍yum install 的方式,但是...

    SVN仓库彻底删除文件工具

    是否遇到过公司里的sx向svn提交了不该提交的文件?.sdf debug release 等等,是否对此感到崩溃?!是否svn仓库已经占用了大量的磁盘空间? 使用本图形化工具帮助你将这些文件彻底地从svn中删除。 先导出svn仓库 ...

    centos下svn客户端软件rapidSVN安装资源包及教程

    rapidsvn安装所需的全部资源包,可离线安装(gtk2和openssl的rpm包只上传了centos7版本) apr-1.5.2.tar.gz apr-util-1.5.4.tar.bz2 neon-0.29.6.tar.gz(可选,neon是subversion解析web http协议的包,视subversion...

    plsql_svn插件

    下面简单介绍下PLSQL developer工具的SVN版本控制 1, 下载pl/sql-svn插件。 2, 关闭你打开的所有pl/sql窗口。  3,将插件里的SVN_Plugin.dll文件复制到PLSQL DeveloperPlugIns目录下。  4,重新打开pl/sql,...

    右键增加SVN清除功能

    这是最好的SVN右键清除。中文。不分版本。我下载了好多别人的,没一个能很好的用。有些根本就清 不了,有些要清两次。这个是最好用的,本人测试完全保证没问题。 我们建立SVN时经常遇到新建新的SVN项目后但是里面带...

    Seay-Svn源代码泄露漏洞扫描工具

    SVN(subversion)是源代码版本管理软件,造成SVN源代码漏洞的主要原因是管理员操作不规范。“在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。但一些网站管理员在...

    Windows svnlog 转Excel

    方法一:双击WINsvnlog2excel.bat,即可在当前文件夹下生成SVNLog的excel文件,默认导出bat文件第二行中SVNPATH所定义的SVN路径的LOG。可以修改bat文件中第二行的SVNPATH,导出指定SVN路径的log 方法二:在CMD...

    svn1.9.3.27083

    svn

    svn版本库迁移方法

    svnadmin dump /data/svn/repository &gt; /data/repository-backup.dump #全局备份,包括数据和历史记录,repository为例,实际为库名 2、 导入新库 svnadmin create /data/svn/repos/newproject #在新的服务器上新建...

    AnkhSVN 2.5.12471.17

    VS2008的SVN插件AnkhSVN。 1.下载完毕后,进行安装,安装向导安装即可。 2.打开VisualStudio2008,单击菜单“工具”-“选项”,然后选择SourceControl下的插件选择,选择我们刚刚安装的插件。 3.新建项目,勾选...

    AnkhSvn-2.4.11610

    AnkhSVN 2.4 released!(Thursday, August 23, 2012) AnkhSVN is a Subversion Source Control Provider for Microsoft Visual Studio 2005, 2008, 2010 and 2012. AnkhSVN provides Apache™ Subversion® source ...

    svn for mac 完美破解

    Versions for mac可以说是MAC下最好用的svn客户端了,对于Mac用户来说,SVN的知名客户端TortoiseSVN只支持Windows系统,让人不免失望,因此Versions就是目前Mac OS最好的SVN客户端。 Versions在使用上非常的简单,...

    svn安装配置与ldap整合

    这是一遍比较完整的linux下svn+apche+ldap安装配置手册,根据本人实际安装整理后的文档,目前都算是最新版本。其中ldap使用sun的opends,个人感觉比openldap要方便,当然重点不是用什么ldap而是如何配置。 主要包括...

    tortoiesSVN客户端+Ubuntu上SVN安装配置步骤

    1. 安装SVN  apt-get install subversion 2. 建立svn仓库  1). 建立svn目录:mkdir /home/.svn(使用隐藏目录)  2). cd /home/.svn  3). mkdir astar  4). 创建仓库astar:svnadmin create /home/.svn/astar,...

    svn TortoiseSVN 1.14.5 (64-bit)

    svn TortoiseSVN 1.14.5 (64-bit) svn客户端svn TortoiseSVN 1.14.5 (64-bit) svn客户端svn TortoiseSVN 1.14.5 (64-bit) svn客户端svn TortoiseSVN 1.14.5 (64-bit) svn客户端svn TortoiseSVN 1.14.5 (64-bit) svn...

    svn插件svn插件svn插件svn插件

    svn插件svn插件

    svn-win32-1.7.2.zip (win32svn) [SVN 绿色版]

    将文件解压缩到 C:\ 下,将解压缩后的 svn-win32-1.7.2 文件夹名改为 svn,然后将 C:\svn\bin 加入到系统的 PATH 环境变量中,即可开始使用。 将 svnserve.exe 设置为系统服务: sc create svn binpath= "C:\svn\...

    svn客户端svn客户端svn客户端svn客户端

    svn客户端svn客户端svn客户端svn客户端svn客户端

    SVN_1.8.2.24708最新版(含语言包)客户端服务端VS中文插件全套打包

    SVN服务端、客户端、VS简体中文插件打包下载(2013-10-24) 内含: VisualSVN-Server-2.7.1.msi 服务端 TortoiseSVN-1.8.2.24708-x64-svn-1.8.3.msi 64位客户端 LanguagePack_1.8.2.24708-x64-zh_CN.msi 64位客户端...

    SVN演示 SVN演示 SVN演示 SVN演示 SVN演示 SVN演示

    SVN演示 SVN演示 SVN演示 SVN演示 SVN演示 SVN演示

Global site tag (gtag.js) - Google Analytics